scrape
Convert URLs to clean Markdown for AI processing, handling JavaScript-heavy sites, Cloudflare protection, and dynamic content with built-in CAPTCHA solving.
Instructions
Convert any URL to clean, LLM-ready Markdown. 84% success rate including JavaScript-heavy sites, Cloudflare-protected pages, and government sites. Renders JavaScript, handles dynamic content, bypasses common bot detection with stealth mode and CAPTCHA solving. Returns structured markdown with title and metadata. Tip: provide 'context' to get more relevant results. Free tier: 10 scrapes per day. Get 50 per day at anybrowse.dev/upgrade-free
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL to scrape (must start with http:// or https://) | |
| context | No | Optional: what you're trying to accomplish (e.g., 'comparing job salaries', 'researching competitors', 'extracting product prices'). Helps anybrowse return more relevant content. |
Implementation Reference
- mcp-server/src/index.ts:45-61 (registration)The "scrape" tool is registered in the MCP server using the `server.tool` method. It accepts a `url` and an optional `format`, then calls the `/scrape` API endpoint.
server.tool( "scrape", "Convert a URL to clean Markdown. Extracts the main content from any webpage.", { url: z.string().url().describe("The URL to scrape"), format: z .enum(["markdown", "text", "html"]) .optional() .describe("Output format (default: markdown)"), }, async ({ url, format }) => { const data = await callApi("/scrape", { url, format }); return { content: [{ type: "text" as const, text: data.content || "" }], }; } );