Drops three web scraping tools into Claude Desktop, Cursor, or Cline: fetch_page for single URLs, fetch_pages_batch for up to 25 in parallel, and search_web that runs queries and returns results already converted to Markdown. Strips ads and clutter so your agent gets clean text instead of raw HTML soup. Runs via uvx with zero install, calls the public ai-first-scraper and ai-first-search APIs by default, or point it at your own backend with environment variables. Useful when you need Claude to pull live web content or search results without choking on markup.
Plug Claude Desktop, Cursor, or Cline straight into an ad-free web scraper + search engine. Three tools, one line of config.
Adds three tools to any MCP-compatible agent:
| Tool | What it does |
|---|---|
fetch_page | Fetch one URL → return clean Markdown (HTML or PDF). |
fetch_pages_batch | Fetch up to 25 URLs in parallel → return Markdown for each. |
search_web | Run a web search and return the top-k result pages already converted to Markdown. |
No more "the model called curl and then tried to parse 80kB of ad HTML." Your agent receives clean Markdown ready to reason about.
Backed by the ai-first-scraper and ai-first-search APIs.
uvx (no install, runs from PyPI on demand)// claude_desktop_config.json / cline_mcp_settings.json / ~/.cursor/mcp.json
{
"mcpServers": {
"ai-first-scraper": {
"command": "uvx",
"args": ["ai-first-scraper-mcp"]
}
}
}
Restart your client (Claude Desktop / Cursor / Cline). The three tools above will appear automatically.
pip install ai-first-scraper-mcp
{
"mcpServers": {
"ai-first-scraper": {
"command": "ai-first-scraper-mcp"
}
}
}
| Client | Config path |
|---|---|
| Claude Desktop (macOS) | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Claude Desktop (Windows) | %APPDATA%\Claude\claude_desktop_config.json |
| Cursor | ~/.cursor/mcp.json |
| Cline (VS Code) | ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json |
By default this server calls the public ai-first-scraper.onrender.com and
ai-first-search.onrender.com instances. If you want to self-host, set env
vars in your MCP config:
{
"mcpServers": {
"ai-first-scraper": {
"command": "uvx",
"args": ["ai-first-scraper-mcp"],
"env": {
"SCRAPER_URL": "https://your-scraper.example.com",
"SEARCH_URL": "https://your-search.example.com",
"AFS_TIMEOUT": "60"
}
}
}
}
Open your MCP client and ask the agent:
"Use the search_web tool to find the top 3 recent articles about MCP and summarize them in 5 bullets each."
You should see the agent call search_web, get back Markdown for each result,
and produce the summary without ever touching raw HTML.
git clone https://github.com/yubinkim444/ai-first-scraper-mcp.git
cd ai-first-scraper-mcp
uv sync # or: pip install -e .
ai-first-scraper-mcp # speaks MCP over stdio
To test against a local client, point its MCP config at the same command.
MIT © yubinkim444
SCRAPER_URLURL of the ai-first-scraper instance to use. Default: https://ai-first-scraper.onrender.com
SEARCH_URLURL of the ai-first-search instance to use. Default: https://ai-first-search.onrender.com
AFS_TIMEOUTUpstream HTTP timeout in seconds. Default: 45
csoai-org/pdf-document-mcp
xt765/mcp-document-converter
io.github.xjtlumedia/markdown-formatter
io.github.ai-aviate/better-notion
suekou/mcp-notion-server
meterlong/mcp-doc