Mmcp.market

PyScrappy MCP server

by mldsveda·io.github.mldsveda/pyscrappy·v1.5.9

Web-scraping toolkit with 22 tools for structured web data as JSON for AI agents.

B83/100grade B
What users say
No reviews yet
Be the first
Safety scan
B83/100

full report

Adoption
Established

256 stars225 downloads/wk

Reviews

Write one

Nobody has reviewed PyScrappy yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

PyScrappy tools (24, 1 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • convert_currency

    Fetch live exchange rates and convert an amount from one currency to others.

  • define_word

    Look up an English word and return its dictionary entry: definitions, part(s) of speech, and example sentences.

  • get_crypto

    Fetch live cryptocurrency market data and return a list of coin records, each with fields: id, symbol, name, current price (in vs_currency), market cap, and 24h price change (percent).

  • get_ubereats_menu

    Fetch an Uber Eats restaurant's live menu from its store URL and return the menu items with their names, descriptions, and prices.

  • get_weather

    Fetch the current weather conditions for a named place and return a dict with keys: temperature (number, degrees Celsius), humidity (number, percent), wind_speed (number, wind speed), condition (str, e.g. "Clear", "Rain"), and location (str, the resolved place name).

  • list_available_scrapers

    List every scraper registered with this server and return their names for use with scrape_with.

  • lookup_movie

    Look up movie and TV data from IMDB via the OMDb API and return a JSON-serializable dict; a title search returns {"results": [...]} with each item holding title, year, imdb_id, and type, while an IMDB-id lookup returns a single record with full details (plot, ratings, cast, runtime, genre).

  • scrape_news

    Fetch news articles from an RSS/Atom feed, a news site (feed auto-discovered), or a single article, and return a list of article dicts (typically: title, url, published date, author, summary, and full text where available).

  • scrape_stock

    Fetch stock market data from Yahoo Finance and return it as a dict.

  • scrape_url

    Scrape any HTTP(S) URL and return a ScrapeToolResult whose `data` holds one object per page containing extracted text (with word_count), links, images, tables, and page metadata.

  • scrape_wikipedia

    Fetch a Wikipedia article by title or search term and return its text content.

  • scrape_withwrite action

    Run any registered scraper (built-in or plugin) by name and return that scraper's raw scrape() output.

  • scrape_zomato

    Search Zomato for restaurants in a city and return a list of restaurant records.

  • search_amazon

    Scrape Amazon search results for a query and return a list of matching products, each with its title, price, rating, and image URL.

  • search_books

    Search books by title, author, or free text via the Open Library search API and return a list of matching book records.

  • search_github

    Search GitHub for public repositories and return a list of repository records.

  • search_hackernews

    Search Hacker News stories and return a list of matching story dicts, each with title, url, points, author (username), and num_comments (comment count).

  • search_ikea

    Search IKEA's online catalog for furniture and home products, returning a list of product dicts with fields name, type, price, and rating.

  • search_images

    Search the web for images and return a list of result objects with image URLs and metadata.

  • search_linkedin_jobs

    Search LinkedIn public job postings and return a list of matched jobs.

  • search_newegg

    Search Newegg for electronics and computer hardware, returning a list of product dicts each with title, price, product_url, image_url, rating, and item_number.

  • search_soundcloud

    Search SoundCloud for tracks and return a list of track dicts, each with keys: title (str), artist (str), plays (int), likes (int), and url (str, the track page URL).

  • search_ubereats

    Search Uber Eats for restaurants delivering in a given city, returning a ScrapeToolResult envelope whose `data` is a list of restaurant objects (typically `name`, `eta`, delivery `fee`, and store `url`).

  • search_youtube

    Search YouTube for videos matching a query and return a list of matching videos with their metadata.

Public scan report

scanner v0.1.9 · 2026-09-21 · same rubric, same numbers if you re-run it

no findings
  • Code scan57 source files scanned25/25
  • Live reliabilityno gateway calls yet and no remote to proben/a
  • Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitystatic API keys via environment variables6/15
  • Maintenancelast push 13 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 83/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

What the publisher says

From the PyScrappy repository's README, as published. We do not edit it. Read it on GitHub

Adaptive Python web scraping toolkit (self-healing, stealth)+ MCP server for AI agents

<!-- mcp-name: io.github.mldsveda/pyscrappy -->

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

Key features

  • Generic scraper — give it any URL, get back structured text, links, images, tables, and metadata
  • LLM-ready output — .tomarkdown() turns any result into clean Markdown; also .tojson() and .to_dataframe()
  • MCP server — expose the scrapers as tools for AI agents (Claude, Cursor, local LLMs, …)
  • JS rendering — optional Playwright backend for JavaScript-heavy sites
  • Custom selectors — pass CSS selectors to extract exactly what you need
  • Chainable Selector — navigate HTML directly with CSS/XPath, findall, findbytext, and findsimilar (Scrapy/BeautifulSoup-style)
  • Adaptive (self-healing) selectors — remember an element and relocate it by similarity when a site changes its markup, so scrapers don't silently break
  • Concurrent scraping — scrapemany / scrapeall run scrapes in parallel
  • Sitemap crawling — enumerate and scrape a whole site from its sitemap.xml (index + gzip aware)
  • Proxy & scraping-API support — route through a proxy or ScraperAPI/ScrapeOps for blocked sites
  • TLS-fingerprint impersonation — impersonate="chrome" gets past anti-bot filters that block plain clients (optional curl_cffi backend)
  • Command-line extract — pyscrappy extract out.md scrapes a URL straight to a file, no code

Installation

pip install pyscrappy

Optional extras:

# Browser support (for JS-rendered pages)
pip install 'pyscrappy[browser]'
playwright install chromium

# DataFrame support
pip install 'pyscrappy[dataframe]'

# MCP server (use PyScrappy's scrapers as AI-agent tools)
pip install 'pyscrappy[mcp]'

# Stealth (TLS-fingerprint impersonation to bypass anti-bot filters)
pip install 'pyscrappy[stealth]'

# Parquet / Excel export (ScrapeResult.to_parquet() / .to_excel())
pip install 'pyscrappy[parquet]'
pip install 'pyscrappy[excel]'

# Everything
pip install 'pyscrappy[all]'

For AI agents

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:

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Install directly

claude mcp add pyscrappy -- uvx pyscrappy
Add to Cursor

PyScrappy: common questions

Is PyScrappy MCP server safe?
Mostly: it is graded B (83/100). Read the PyScrappy safety report
How do I install PyScrappy?
It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
Does PyScrappy need an API key?
Yes. The registry entry asks for OMDB_API_KEY.
Is PyScrappy maintained?
The last commit was 13 days ago (2026-09-08). The latest release is v1.5.9.

More from mldsveda