Web-scraping toolkit with 22 tools for structured web data as JSON for AI agents.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
PyScrappy is an AI-native web scraping toolkit that turns websites into structured, LLM-ready data. Use it as a Python library or expose it as an MCP server for AI agents.
π Documentation: pyscrappy.vercel.app
.to_markdown() turns any result into clean Markdown; also .to_json() and .to_dataframe()Selector β navigate HTML directly with CSS/XPath, find_all, find_by_text, and find_similar (Scrapy/BeautifulSoup-style)scrape_many / scrape_all run scrapes in parallelsitemap.xml (index + gzip aware)impersonate="chrome" gets past anti-bot filters that block plain clients (optional curl_cffi backend)pyscrappy extract <url> out.md scrapes a URL straight to a file, no codepy.typed markerOptional extras:
PyScrappy ships an MCP server that exposes its scrapers as tools, so an agent (Claude, Cursor, an OpenAI agent, a local LLM) can pull structured web data from any URL and hand it straight to the model:
Then just ask: "use pyscrappy to summarize the latest headlines from bbc.com." See MCP server for the full setup and tool list.
Ollama can't talk MCP on its own, so normally you'd run a host (Goose, Cline, β¦) in between. PyScrappy skips that with a built-in agent that talks to Ollama directly and lets a local model call the scrapers as tools:
It exposes the same 22 tools as the MCP server. The only requirement is a model
that supports tool calling (Llama 3.1, Qwen 2.5, Mistral, β¦); how well it
picks the right tool is up to the model. Point it at a remote Ollama with
--host, and pass -v to see each tool call.
PyScrappy ships an optional Model Context Protocol server, so an AI agent (e.g. Claude) can call PyScrappy's scrapers as tools and get structured web data back.
The MCP extra installs the standalone fastmcp package and requires Python 3.10
or newer. On Python 3.9 the core scraping library still works, but the MCP server
is unavailable.
This installs the pyscrappy-mcp command. It uses stdio by default for local MCP
clients; Streamable HTTP and legacy SSE are available for remote deployments:
You can also run the stdio server with python -m pyscrappy.mcp.
Add to your claude_desktop_config.json and restart the app:
Tip: Claude Desktop does not inherit your shell
PATH. Ifpyscrappy-mcpis not found, use the absolute path to the command (e.g. the one printed bywhich pyscrappy-mcp).
The server exposes 20+ tools. The most common ones are scrape_url (any
URL β text, links, images, tables, metadata), scrape_wikipedia,
scrape_stock, scrape_news, and search_github β plus many more
covering image/YouTube/LinkedIn/Hacker News/book search, weather, crypto,
currency, dictionary, Amazon/Newegg/IKEA/SoundCloud, IMDB, and Zomato/Uber Eats.
To see the full, live list, ask the agent to call the list_available_scrapers
tool, or from a shell:
The lookup_movie tool needs a free OMDb API
key. Pass it to the server through your MCP client config, e.g. for Claude Desktop:
Once registered, just ask the agent naturally, e.g. "use pyscrappy to get the latest headlines from bbc.co.uk and the AAPL stock quote."
PyScrappy ships 24 built-in scrapers, and every one that works without a proxy is also exposed as an MCP tool.
A few of them:
GenericScraper β scrape any URL with auto-extraction (text, links, images, tables, metadata)WikipediaScraper, StockScraper (Yahoo Finance), NewsScraper (RSS/Atom), GitHubScraper, HackerNewsScraper, plus weather, crypto, currency, dictionary, image, LinkedIn-jobs, and book searchAmazonScraper, NeweggScraper, IKEAScraperYouTubeScraper, SoundCloud, Zomato, Uber Eats (Instagram / Twitter / Spotify also ship, but are blocked and need a proxy)β¦and many more. To see the full, live list:
IMDBScraper (lookup_movie) is the one exception that needs a key β a free
OMDb OMDB_API_KEY (see the
MCP config above for how to pass it).
PyScrappy is extensible: you can add your own scrapers, and third parties can
ship them as standalone pyscrappy-<name> packages. A registered scraper works
everywhere a built-in does, including the MCP server and the pyscrappy chat
agent, with no change to PyScrappy core.
In your own code β register with the decorator:
As a distributable package β advertise an entry point in your
pyproject.toml, and PyScrappy discovers it once your package is installed:
After pip install pyscrappy-reddit, the scraper shows up in
list_scrapers(), and an AI agent can call it via the scrape_with MCP tool β
no core change required.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/pyscrappy)<a href="https://allmcps.com/mcp/pyscrappy"><img src="https://allmcps.com/api/badge/pyscrappy?style=directory" alt="PyScrappy on AllMCPs" /></a>