Fetch a URL directly with scrapling's bot-detection bypass. An agent skill from cyberchitta/scrapling-fetch-mcp.

Apache-2.0Auto-check: notesData & Analytics

Install S Fetch

skills CLI
$ npx skills add cyberchitta/scrapling-fetch-mcp --skill s-fetch -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install cyberchitta/scrapling-fetch-mcp s-fetch --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/cyberchitta/scrapling-fetch-mcp.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/s-fetch .claude/skills/s-fetch && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
s-fetch
GitHub stars
121
Token cost
~637 tokens
SKILL.md length
122 words
Files
2 (incl. references)
Skills in repo
1
Repo updated
First seen
Licence
Apache-2.0

At a glance

Fetch a URL directly with scrapling's bot-detection bypass. An agent skill from cyberchitta/scrapling-fetch-mcp.

  • The user asks to fetch
  • SKILL.md covers Setup, Arguments, Instructions and Mode guide
  • Calls uv
  • Scrape a URL from a bot-protected site

What it does

S Fetch is an agent skill from cyberchitta/scrapling-fetch-mcp. Fetch a URL directly with scrapling's bot-detection bypass. Use when the user asks to fetch, curl, or scrape a URL from a bot-protected site.

Its SKILL.md is about 640 tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/install.md`).

It sits in Data & Analytics, covering Web scraping. The repository describes itself as: Helps AI assistants access text content from bot-protected websites. MCP server that fetches HTML/markdown from sites with anti-automation measures using Scrapling. The licence is Apache-2.0.

When your agent uses it

  • The user asks to fetch
  • Scrape a URL from a bot-protected site

Example prompts

  • “/s-fetch”

Requirements

  • Pre-approved tools (allowed-tools): Bash

What it can do on your machine

Read from SKILL.md and the folder at commit 8ed4c0d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • uv

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use uv, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

S Fetch loads about 637 tokens when it runs, and up to ~858 if it reads all its reference files. Until then it costs about 37 tokens; SKILL.md has 122 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~37
When it runs · the whole SKILL.md, loaded when a task matches
~637
With references · SKILL.md plus every file in references/, read only if the agent opens them
~858

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from cyberchitta/scrapling-fetch-mcp at commit 8ed4c0d, republished under its Apache-2.0 licence (© cyberchitta). 122 words, ~637 tokens.

Download SKILL.mdSave it as .claude/skills/s-fetch/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
s-fetch
description
Fetch a URL directly with scrapling's bot-detection bypass. Use when the user asks to fetch, curl, or scrape a URL from a bot-protected site.
allowed-tools
Bash
argument-hint
<url> [basic|stealth|max-stealth] [html|markdown]
version
1.0.0

s-fetch

Fetches a URL directly via scrapling, bypassing bot detection.

Setup

If the bash command below fails because scrapling-fetch-mcp isn't installed (e.g. No such file or directory for the bin/python3 path), follow references/install.md once before proceeding.

Arguments

$ARGUMENTS — parse as <url> [mode] [format]

  • url (required)
  • mode (optional, default basic): basic | stealth | max-stealth
  • format (optional, default markdown): markdown | html

Instructions

Run the following Bash command, substituting URL, MODE, and FORMAT with the parsed values:

bash
"$(uv tool dir)/scrapling-fetch-mcp/bin/python3" - <<'PYEOF'
import asyncio
from contextlib import redirect_stdout
from os import devnull

async def fetch(url, mode):
    with open(devnull, "w") as null, redirect_stdout(null):
        from scrapling.fetchers import AsyncFetcher, StealthyFetcher
        if mode == "basic":
            return await AsyncFetcher.get(url, stealthy_headers=True)
        elif mode == "stealth":
            return await StealthyFetcher.async_fetch(url, headless=True, network_idle=True)
        elif mode == "max-stealth":
            return await StealthyFetcher.async_fetch(
                url, headless=True, block_webrtc=True,
                network_idle=True, disable_resources=False, block_images=False
            )
        else:
            raise ValueError(f"Unknown mode: {mode}")

url = "URL"
mode = "MODE"
fmt = "FORMAT"

page = asyncio.run(fetch(url, mode))
html = page.html_content

if fmt == "markdown":
    from bs4 import BeautifulSoup
    from markdownify import markdownify as md
    soup = BeautifulSoup(html, "lxml")
    for tag in soup(["script", "style"]):
        tag.extract()
    body = soup.find("body")
    print(md(str(body if body else soup)))
else:
    print(html)
PYEOF

If mode was not given and basic returns blocked or empty content, retry with stealth, then max-stealth.

Mode guide

ModeSpeedUse when
basic1–2sMost sites; curl-cffi with stealth headers
stealth3–8sSites that block basic; headless Chromium via patchright
max-stealth10s+Heavily protected sites; full browser fingerprint

© cyberchitta, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in skills/s-fetch of cyberchitta/scrapling-fetch-mcp.

  • SKILL.md
  • references/install.md

Open the folder on GitHubat commit 8ed4c0d

Compare with similar skills

S Fetch next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

S Fetch compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
S Fetch this skillcyberchitta/scrapling-fetch-mcp121—~637Automated safety check: NotesApache-2.0
Tmuxtrpc-group/trpc-agent-go1.9k23 repos~868Automated safety check: PassApache-2.0
Ketch1broseidon/ketch7021 repos~3.9kAutomated safety check: PassMIT
Crawl4AI Web Scrapingsmallnest/goclaw5991 repos~2.5kAutomated safety check: PassMIT
Boss Zhipin Scrapereatmoreduck/boss-zhipin-scraper1.5k—~2.6kAutomated safety check: PassMIT
Axyusukebe/ax7191 repos~918Automated safety check: PassMIT

Similar skills

  • Tmux

    trpc-group/trpc-agent-go

    Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.

    1.9k GitHub starsUsed in 23 repos~868 tokens
    Data & AnalyticsAuto-check passed
  • Ketch

    1broseidon/ketch

    Research skill for ketch — a fast stateless CLI for web search, OSS code search, curated library docs, page scraping, and site crawling; an optional MCP server exists for operators who want it, but…

    702 GitHub starsUsed in 1 repo~3.9k tokens
    Data & AnalyticsAuto-check passed
  • Crawl4AI Web Scraping

    smallnest/goclaw

    Scrapes sites, handles JavaScript-heavy pages and extracts structured data with Crawl4AI, through its crwl CLI or Python SDK, including schema-based extraction without an LLM.

    599 GitHub starsUsed in 1 repo~2.5k tokens
    Data & AnalyticsAuto-check passed
  • Boss Zhipin Scraper

    eatmoreduck/boss-zhipin-scraper

    Scrape BOSS直聘 (job listing site) via Chrome CDP. An agent skill from eatmoreduck/boss-zhipin-scraper.

    1.5k GitHub stars~2.6k tokensUpdated 11 days ago
    Data & AnalyticsAuto-check passed
  • Ax

    yusukebe/ax

    Use the ax CLI instead of curl + throwaway parsing scripts whenever you fetch a URL, explore an unknown web page, or extract structured data from HTML.

    719 GitHub starsUsed in 1 repo~918 tokens
    Data & AnalyticsAuto-check passed
  • Anakinscraper

    Anakin-Inc/anakin

    Scrape any website into clean markdown or structured JSON. An agent skill from Anakin-Inc/anakin.

    4.5k GitHub stars~859 tokensUpdated 1 mo ago
    Data & AnalyticsAuto-check passed

Questions about S Fetch

What does S Fetch do?

Fetch a URL directly with scrapling's bot-detection bypass. An agent skill from cyberchitta/scrapling-fetch-mcp. S Fetch is an agent skill from cyberchitta/scrapling-fetch-mcp. Fetch a URL directly with scrapling's bot-detection bypass.

When should I use S Fetch?

S Fetch fits situations like: the user asks to fetch; scrape a URL from a bot-protected site.

How do I install S Fetch in Claude Code?

Run `npx skills add cyberchitta/scrapling-fetch-mcp --skill s-fetch -a claude-code`. Or copy the skill folder (skills/s-fetch in cyberchitta/scrapling-fetch-mcp) into .claude/skills/s-fetch in your project. Claude Code loads it when a task matches its description.

How do I install S Fetch in Codex?

Run `npx skills add cyberchitta/scrapling-fetch-mcp --skill s-fetch -a codex`. Or copy the skill folder (skills/s-fetch in cyberchitta/scrapling-fetch-mcp) into .agents/skills/s-fetch in your project. Codex loads it when a task matches its description.

Can I use S Fetch in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add cyberchitta/scrapling-fetch-mcp --skill s-fetch -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/s-fetch, .gemini/skills/s-fetch, .github/skills/s-fetch and .opencode/skills/s-fetch in your project.

What does S Fetch need to run?

Going by SKILL.md and its folder, S Fetch needs the command-line tools its instructions call (uv). Its frontmatter pre-approves these tools: Bash.

Does S Fetch access the network?

SKILL.md contains no URLs. Its commands use uv, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is S Fetch safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does S Fetch use?

S Fetch is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does S Fetch use?

About 637 tokens (SKILL.md is roughly 2.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 221 tokens, read only when the agent opens those files.

What are the alternatives to S Fetch?

Skills that share tags, products or a category with S Fetch: Tmux (trpc-group/trpc-agent-go, 1.9k stars), Ketch (1broseidon/ketch, 702 stars), Crawl4AI Web Scraping (smallnest/goclaw, 599 stars) and Boss Zhipin Scraper (eatmoreduck/boss-zhipin-scraper, 1.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains S Fetch?

cyberchitta (a GitHub organization) maintains it in cyberchitta/scrapling-fetch-mcp, which has 121 GitHub stars. The repository was last updated on October 8, 2026.

Source: cyberchitta/scrapling-fetch-mcp on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.