PyScrappy — Claude Code MCP server: scrape sites into JSON
Gives your agent 22 scraping tools that return text, links, tables and metadata as Markdown or JSON.
claude mcp add pyscrappy -e OMDB_API_KEY=<OMDB_API_KEY> -- uvx pyscrappyWhat PyScrappy does
PyScrappy is a Python scraping library with an MCP server on top. The agent calls tools such as scrape_url, scrape_wikipedia, scrape_stock, scrape_news and search_github, and gets structured output back. Results convert to Markdown with .to_markdown(); .to_json() and .to_dataframe() are there too.
The server starts as pyscrappy-mcp and speaks stdio by default. Remote setups can use Streamable HTTP (--http) or SSE (--sse). JavaScript-heavy pages need the browser extra: pip install 'pyscrappy[browser]' plus playwright install chromium. Beating anti-bot filters takes the stealth extra with curl_cffi.
The MCP server needs Python 3.10 or newer. On 3.9 the scraping library still runs, the server does not. Configs for Claude and other clients pass OMDB_API_KEY, and some tools stay dark without it. There is also a built-in Ollama agent: pyscrappy chat --model qwen2.5 "...", and the model has to support tool calling.
What it helps with
- pull text, links and tables off any page
- grab news headlines and hand them to the model
- fetch a stock quote by ticker
- search GitHub repositories by query
- render a JavaScript page through Playwright
Example prompts for the agent
- Use pyscrappy to pull the headlines from bbc.com and summarize them
- Scrape the table on this page and save it as JSON
- Search GitHub for mcp server repositories
How to install PyScrappy
Platform CLI
claude mcp add pyscrappy -e OMDB_API_KEY=<OMDB_API_KEY> -- uvx pyscrappyReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from pyscrappy <command>
Platform CLI
codex mcp add pyscrappy --env OMDB_API_KEY=<OMDB_API_KEY> -- uvx pyscrappyReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from pyscrappy <command>
Config file
{
"mcpServers": {
"pyscrappy": {
"command": "uvx",
"args": [
"pyscrappy"
],
"env": {
"OMDB_API_KEY": "<OMDB_API_KEY>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from pyscrappy <command>
Config file
{
"servers": {
"pyscrappy": {
"type": "stdio",
"command": "uvx",
"args": [
"pyscrappy"
],
"env": {
"OMDB_API_KEY": "<OMDB_API_KEY>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from pyscrappy <command>
Platform CLI
gemini mcp add -e OMDB_API_KEY=<OMDB_API_KEY> pyscrappy uvx pyscrappyReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from pyscrappy <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about PyScrappy
How do I install PyScrappy in Claude Code?
Install the package with the MCP extra: pip install 'pyscrappy[mcp]'. Then register the server: claude mcp add pyscrappy -e OMDB_API_KEY=<OMDB_API_KEY> -- uvx pyscrappy.
What does PyScrappy do?
It turns web pages into structured data: text, links, images, tables and metadata. Agents reach it as a set of MCP tools.
Which Python version does the MCP server need?
Python 3.10 or newer. On 3.9 the scraping library works, but the MCP server is unavailable.