Skip to main content
Glama
maccydee

cute-web-scraper

by maccydee

cute-web-scraper

An MCP server that gives Claude web scraping powers.

Ask Claude to scrape a site in plain English. It fetches the pages, renders the JavaScript when needed, and hands back clean markdown or structured data — no selectors, no glue code.

  • Whole sites, not single pages. Discover every URL from a sitemap, then fetch them in parallel.

  • Contacts and links. Pull emails, phone numbers, hyperlinks and social profiles from a list of URLs.

  • Markdown, not HTML. Pages come back as clean markdown, which is far cheaper on context than raw HTML.

Install

pipx install git+https://github.com/maccydee/cute-web-scraper

Chromium is downloaded automatically the first time you use js_render (a one-off ~130MB).

Related MCP server: mcp-server-scraper

Connect it to Claude Code

claude mcp add cute-web-scraper -- cute-web-scraper

Then just ask:

Scrape every product from https://example-shop.com and give me a CSV of name and price.

Tools

Tool

What it does

fetch_page

One URL to clean markdown, with title, status and link count

fetch_pages

Many URLs in parallel, returning results and per-URL errors

crawl_site

Discover a site's pages via sitemap, falling back to link-following

analyze_website

Detect the platform, find the sitemap, report whether JS is needed

extract_emails

Email addresses across a list of URLs, with surrounding context

extract_phones

Phone numbers across a list of URLs, with surrounding context

extract_links

Every hyperlink, resolved to absolute URLs

extract_social_links

Social profiles across eight platforms

A typical run composes them: analyze_websitecrawl_sitefetch_pages.

Example prompts

Scrape every product from https://example-shop.com and give me a CSV of name and price.

Find all email addresses on https://company.com and its contact pages.

What platform is https://myblog.com on? Does it need JavaScript to scrape?

Extract the social media links from these 10 agency sites: [urls...]

Configuration

Everything is an environment variable, with defaults that work unconfigured.

Variable

Default

Meaning

SCRAPER_DELAY_MS

1000

Base delay between requests to the same domain

SCRAPER_MAX_CONCURRENT

5

Maximum parallel requests

SCRAPER_CACHE_TTL_S

300

How long a fetched page stays reusable

SCRAPER_CACHE_MAX_ENTRIES

500

Cached pages before least-recently-used eviction

SCRAPER_AUTH_TOKEN

unset

Bearer token for HTTP mode

SCRAPER_CHROME_USER_DATA_DIR

unset

Chrome profile to inherit logged-in sessions from

How it behaves

Static by default, browser on request. Most pages are fetched with a plain HTTP client, which is fast. Pass js_render: true for single-page apps, infinite-scroll listings and most modern storefronts, and the page is rendered in real Chromium instead.

Adaptive backoff. Requests to the same domain are spaced by SCRAPER_DELAY_MS, measured start to start, so the delay caps the request rate rather than adding to slow responses. When a domain pushes back — a 429, a 403, a Cloudflare challenge — the delay for that domain doubles, up to 60 seconds, and decays back down once requests succeed again. Domains are tracked independently, so scraping two sites at once costs nothing extra.

robots.txt is not enforced. It is read only to locate sitemaps; its Disallow rules are not consulted and there is no setting to change that. The adaptive per-domain delay is this tool's politeness mechanism.

A short cache. Fetched pages are reused for five minutes, so running fetch_pages and then extract_emails over the same URLs does not fetch everything twice.

HTTP mode

The default is stdio, which is what claude mcp add above uses. To run a persistent shared instance instead:

SCRAPER_AUTH_TOKEN=$(openssl rand -hex 16) cute-web-scraper --http --port 8080
claude mcp add --transport http cute-web-scraper http://127.0.0.1:8080/mcp

It binds 127.0.0.1 and exposes /mcp plus a /health endpoint. Binding anywhere beyond loopback requires SCRAPER_AUTH_TOKEN, and the server refuses to start without it rather than quietly publishing an open scraper to your network.

Limitations

  • No proxy rotation and no CAPTCHA solving. Sites with serious bot defences will block it, and it will back off rather than fight.

  • LinkedIn and similar may need SCRAPER_CHROME_USER_DATA_DIR pointed at a logged-in Chrome profile.

  • SCRAPER_DELAY_MS=0 removes the polite delay, but backoff still engages when a site pushes back.

  • Phone extraction is deliberately conservative: it requires a country code or a trunk prefix, so it misses some bare local formats rather than returning years and order numbers.

Development

uv sync --extra dev
uv run pytest -v
uv run pytest -m integration -v -s
uv run ruff check src/ tests/ && uv run mypy src/cute_web_scraper/

Unit tests are hermetic and never touch the network. Integration tests hit live sites and are excluded from the default run.

License

MIT — see LICENSE.

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    -
    quality
    -
    maintenance
    An MCP server for web content extraction that converts HTML pages into clean, LLM-optimized Markdown using Mozilla's Readability. It supports batch processing, intelligent multi-page crawling, and configurable caching while respecting robots.txt standards.
    28
  • A
    license
    -
    quality
    C
    maintenance
    Open-source web scraper and extraction MCP server with JavaScript rendering, markdown output, PDF/DOCX parsing, structured errors, and validated extraction contract diagnostics for agents.
    2
    AGPL 3.0
  • A
    license
    -
    quality
    A
    maintenance
    Remote MCP server for web scraping with anti-bot evasion. Provides stealth HTTP fetching, headless browser with Cloudflare bypass, CSS selectors, YouTube transcripts, and Markdown conversion.
    MIT

View all related MCP servers

Related MCP Connectors

  • Firecrawl MCP — wraps the Firecrawl API (firecrawl.dev) for web

  • Scrapingdog MCP — wraps Scrapingdog (scrapingdog.com), a proxy-based web

  • Scrape, crawl, map and extract the web. Pay per call in USDC, no account or API key.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/maccydee/cute-web-scraper'

If you have feedback or need assistance with the MCP directory API, please join our Discord server