{
  "markdown": "<!--\nmcp-name: io.github.yubinkim444/ai-first-scraper-mcp\n-->\n\n# ai-first-scraper-mcp\n\n> **Plug Claude Desktop, Cursor, or Cline straight into an ad-free web\n> scraper + search engine.** Three tools, one line of config.\n\n[![PyPI](https://img.shields.io/pypi/v/ai-first-scraper-mcp)](https://pypi.org/project/ai-first-scraper-mcp/)\n[![Python](https://img.shields.io/badge/python-3.10%2B-blue)]()\n[![MCP](https://img.shields.io/badge/MCP-server-7c3aed)]()\n[![License: MIT](https://img.shields.io/badge/license-MIT-green)]()\n\n---\n\n## What it does\n\nAdds three tools to any [MCP](https://modelcontextprotocol.io)-compatible\nagent:\n\n| Tool | What it does |\n|------|--------------|\n| `fetch_page` | Fetch one URL → return clean Markdown (HTML or PDF). |\n| `fetch_pages_batch` | Fetch up to 25 URLs in parallel → return Markdown for each. |\n| `search_web` | Run a web search and return the top-k result pages already converted to Markdown. |\n\nNo more \"the model called curl and then tried to parse 80kB of ad HTML.\"\nYour agent receives clean Markdown ready to reason about.\n\nBacked by the [ai-first-scraper](https://github.com/yubinkim444/ai-first-scraper)\nand [ai-first-search](https://github.com/yubinkim444/ai-first-search) APIs.\n\n---\n\n## Install\n\n### Fastest — `uvx` (no install, runs from PyPI on demand)\n\n```jsonc\n// claude_desktop_config.json  /  cline_mcp_settings.json  /  ~/.cursor/mcp.json\n{\n  \"mcpServers\": {\n    \"ai-first-scraper\": {\n      \"command\": \"uvx\",\n      \"args\": [\"ai-first-scraper-mcp\"]\n    }\n  }\n}\n```\n\nRestart your client (Claude Desktop / Cursor / Cline). The three tools above\nwill appear automatically.\n\n### Alternative — pip install\n\n```bash\npip install ai-first-scraper-mcp\n```\n\n```jsonc\n{\n  \"mcpServers\": {\n    \"ai-first-scraper\": {\n      \"command\": \"ai-first-scraper-mcp\"\n    }\n  }\n}\n```\n\n---\n\n## Where the config file lives\n\n| Client | Config path |\n|--------|-------------|\n| **Claude Desktop (macOS)** | `~/Library/Application Support/Claude/claude_desktop_config.json` |\n| **Claude Desktop (Windows)** | `%APPDATA%\\Claude\\claude_desktop_config.json` |\n| **Cursor** | `~/.cursor/mcp.json` |\n| **Cline (VS Code)** | `~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json` |\n\n---\n\n## Point at your own backend (optional)\n\nBy default this server calls the public `ai-first-scraper.onrender.com` and\n`ai-first-search.onrender.com` instances. If you want to self-host, set env\nvars in your MCP config:\n\n```jsonc\n{\n  \"mcpServers\": {\n    \"ai-first-scraper\": {\n      \"command\": \"uvx\",\n      \"args\": [\"ai-first-scraper-mcp\"],\n      \"env\": {\n        \"SCRAPER_URL\": \"https://your-scraper.example.com\",\n        \"SEARCH_URL\":  \"https://your-search.example.com\",\n        \"AFS_TIMEOUT\": \"60\"\n      }\n    }\n  }\n}\n```\n\n---\n\n## Verify it works\n\nOpen your MCP client and ask the agent:\n\n> \"Use the search_web tool to find the top 3 recent articles about MCP and\n> summarize them in 5 bullets each.\"\n\nYou should see the agent call `search_web`, get back Markdown for each result,\nand produce the summary without ever touching raw HTML.\n\n---\n\n## Companion projects\n\n- **[ai-first-scraper](https://github.com/yubinkim444/ai-first-scraper)** — the\n  per-URL Markdown cleaner this MCP server fans out to.\n- **[ai-first-search](https://github.com/yubinkim444/ai-first-search)** —\n  search → scrape → markdown pipeline.\n- **[mcp-rec](https://github.com/yubinkim444/mcp-rec)** — record & replay any MCP server's traffic for tests and bug reports.\n- **[llm-cache-proxy](https://github.com/yubinkim444/llm-cache-proxy)** — local cache for OpenAI/Anthropic API calls.\n- **[promptlocker](https://github.com/yubinkim444/promptlock)** — lockfile for prompts.\n- **[context-diff](https://github.com/yubinkim444/context-diff)** — see what blew up your Claude Code context window.\n- **[agentwatch](https://github.com/yubinkim444/agentwatch)** — overlay for browser AI agents.\n\n---\n\n## Develop locally\n\n```bash\ngit clone https://github.com/yubinkim444/ai-first-scraper-mcp.git\ncd ai-first-scraper-mcp\n\nuv sync                    # or: pip install -e .\nai-first-scraper-mcp       # speaks MCP over stdio\n```\n\nTo test against a local client, point its MCP config at the same command.\n\n---\n\n## About the author\n\nBuilt by [yubinkim444](https://github.com/yubinkim444), who also makes\n**[Kay's Records](https://kay-s-record.web.app/get.html)** — an app for iOS\nand Android.\n\nIf this project saved you time, giving the app a try is the nicest way to say\nthanks.\n\n## License\n\nMIT © yubinkim444\n",
  "bytes": 4532,
  "sha": "43d860095cd3d76baf9c9a706f1b906baed54622d9a1d536dbb17cc051b5d310",
  "repo_slug": "yubinkim444/ai-first-scraper-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_yubinkim444_ai_first_scraper_m_46d7307e/readme"
}