{
  "markdown": "# ScrapeUnblocker MCP server\n\nA [Model Context Protocol](https://modelcontextprotocol.io) server that lets\nClaude (and any other MCP client) fetch **any web page's HTML** through the\n[ScrapeUnblocker](https://scrapeunblocker.com?utm_source=mcp&utm_medium=integration&utm_campaign=mcp-server) scraping API, bypassing anti-bot\nprotection (Cloudflare, DataDome, PerimeterX, Akamai, Shape).\n\nYou bring your **own** API key. Nothing is shared or proxied through us.\n\n## Tools\n\n| Tool | What it does |\n|------|--------------|\n| `fetch_html` | Fetch the fully rendered HTML of a URL (optionally after running interactive browser `steps`). |\n| `list_elements` | List a page's notable elements with a ready-to-use selector for each (selector discovery). |\n| `fetch_parsed` | Fetch a page and return AI-parsed structured JSON. |\n| `google_search` | Run a Google search and return organic results as JSON. |\n\n### Browser steps (interact, then capture)\n\nSome pages only reveal what you need after you interact with them - accept a\ncookie banner, click a tab, type into a search box and submit, or scroll to\ntrigger lazy loading. Pass an optional `steps` array to `fetch_html` and those\nactions run in a **real browser**, in order, after the page loads; the resulting\nHTML is then returned.\n\nAvailable actions:\n\n| Action | Fields |\n|--------|--------|\n| `wait_for` | `selector`, `selector_type?` (`css`/`xPath`/`className`/`tagName`), `timeout_ms?` |\n| `wait_for_text` | `value`, `timeout_ms?` |\n| `wait` | `value` (ms) |\n| `click` | `selector`, `selector_type?`, `timeout_ms?` |\n| `type` | `selector`, `selector_type?`, `value`, `clear?`, `timeout_ms?` (typed human-like) |\n| `select` | `selector`, `selector_type?`, `value`, `timeout_ms?` |\n| `press_key` | `value` (`Enter`, `Tab`, `Escape`, `Backspace`, `Delete`, `Space`, `Arrow*`, `Home`, `End`, `PageUp`, `PageDown`) |\n| `scroll` | `value` (`\"bottom\"` or a pixel offset) |\n\nSteps are **not idempotent** - they run once per call. If a step fails,\n`fetch_html` returns which step failed, why, and the page HTML at that moment so\nyou can fix the selector and retry.\n\n### List elements (discover selectors first)\n\n`list_elements` loads a page and returns a JSON list of its notable elements\n(links, inputs, buttons, selects, ...), each with a ready-to-use `selector` plus\n`tag`, `text` and useful attributes (`name`, `id`, `type`, `placeholder`,\n`aria_label`, `href`, ...):\n\n```json\n{ \"url\": \"https://example.com\", \"count\": 42, \"elements\": [ { \"tag\": \"input\", \"selector\": \"#search\", \"type\": \"text\", \"placeholder\": \"Search\", \"aria_label\": \"Search\" } ] }\n```\n\nThe natural workflow is **discover, then act**: call `list_elements` to find the\nselectors you need, then pass matching `steps` to `fetch_html` to click/type/\nselect and capture the resulting HTML.\n\n## Get an API key\n\nSign up and grab your key at **[app.scrapeunblocker.com](https://app.scrapeunblocker.com?utm_source=mcp&utm_medium=integration&utm_campaign=mcp-server)**. The server\nreads it from the `SCRAPEUNBLOCKER_KEY` environment variable.\n\n## Install\n\n### Claude Code\n\nThe easiest route is the official **plugin**, which installs this server for you,\nprompts for your API key (stored in your OS keychain rather than an environment\nvariable), and adds a `/scrape-url` command plus reference skills:\n\n```\n/plugin marketplace add ScrapeUnblocker/claude-code-plugin\n/plugin install scrapeunblocker@scrapeunblocker\n```\n\nSee [ScrapeUnblocker/claude-code-plugin](https://github.com/ScrapeUnblocker/claude-code-plugin).\n\nTo add the bare server instead:\n\n```bash\nclaude mcp add scrapeunblocker \\\n  --env SCRAPEUNBLOCKER_KEY=your_api_key_here \\\n  -- npx -y scrapeunblocker-mcp\n```\n\n### Claude Desktop\n\nAdd this to your `claude_desktop_config.json`\n(Settings → Developer → Edit Config):\n\n```json\n{\n  \"mcpServers\": {\n    \"scrapeunblocker\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"scrapeunblocker-mcp\"],\n      \"env\": {\n        \"SCRAPEUNBLOCKER_KEY\": \"your_api_key_here\"\n      }\n    }\n  }\n}\n```\n\nRestart Claude Desktop and the ScrapeUnblocker tools appear.\n\n### Any other MCP client\n\nRun the server over stdio:\n\n```bash\nSCRAPEUNBLOCKER_KEY=your_api_key_here npx -y scrapeunblocker-mcp\n```\n\n## Example prompts\n\n- \"Fetch the HTML of https://www.example-shop.com/product/123 and list the price.\"\n- \"This page keeps blocking me: <url>. Use fetch_html to get it.\"\n- \"List the elements on <url>, then use fetch_html steps to type 'laptop' into the search box, press Enter, wait for the results, and give me the HTML.\"\n- \"Search Google for 'best running shoes 2026' and give me the top 5 links.\"\n\n## Development\n\n```bash\nnpm install\nnpm run build      # bundles to dist/ with tsup\nnpm run typecheck\nSCRAPEUNBLOCKER_KEY=... node dist/index.js   # run the server\n```\n\n## License\n\nMIT\n",
  "bytes": 4773,
  "sha": "d7580cc6100f70576e9c433d3f08230f345be6e01b8a9ea280a48718acc3a093",
  "repo_slug": "scrapeunblocker/scrapeunblocker-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_scrapeunblocker_scrapeunblocker_mcp_d93bcc70/readme"
}