github Python analyzed · update queued cc51b52

mldsveda/PyScrappy

github

Python web scraping toolkit and MCP server that gives AI agents clean, structured web data from any URL or built-in scrapers.

maintainer
mldsveda
license
MIT
first seen
2026-07-26
last seen
2026-08-01
releases · 30d
19
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 0 tools
transport stdio · http · sse counts 0 tools · 0 res · 0 prompts permission surface via code analysis

No tools enumerated yet for this server.

code evidence vv1.1.8 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 71

filesystem 1

  • fs mldsveda-PyScrappy-cc51b52/src/pyscrappy/scrapers/image_search.py :157 with open(filename, "wb") as f:

network 20

  • net mldsveda-PyScrappy-cc51b52/src/pyscrappy/core/http.py :10 from urllib.parse import urlencode
  • net mldsveda-PyScrappy-cc51b52/src/pyscrappy/generic/extractors.py :10 from urllib.parse import urljoin
  • net mldsveda-PyScrappy-cc51b52/src/pyscrappy/generic/pagination.py :6 from urllib.parse import urljoin
  • net mldsveda-PyScrappy-cc51b52/src/pyscrappy/scrapers/crypto.py :10 from urllib.parse import quote_plus
  • net mldsveda-PyScrappy-cc51b52/src/pyscrappy/scrapers/dictionary.py :10 from urllib.parse import quote
  • net mldsveda-PyScrappy-cc51b52/src/pyscrappy/scrapers/github.py :12 from urllib.parse import quote_plus
  • net mldsveda-PyScrappy-cc51b52/src/pyscrappy/scrapers/hackernews.py :10 from urllib.parse import quote_plus
  • net mldsveda-PyScrappy-cc51b52/src/pyscrappy/scrapers/ikea.py :65 from urllib.parse import quote_plus
  • net mldsveda-PyScrappy-cc51b52/src/pyscrappy/scrapers/image_search.py :8 from urllib.parse import quote_plus
  • net mldsveda-PyScrappy-cc51b52/src/pyscrappy/scrapers/linkedin.py :13 from urllib.parse import quote_plus
  • net mldsveda-PyScrappy-cc51b52/src/pyscrappy/scrapers/news.py :7 from urllib.parse import urljoin
  • net mldsveda-PyScrappy-cc51b52/src/pyscrappy/scrapers/openlibrary.py :10 from urllib.parse import quote_plus
  • net mldsveda-PyScrappy-cc51b52/src/pyscrappy/scrapers/soundcloud.py :8 from urllib.parse import quote_plus
  • net mldsveda-PyScrappy-cc51b52/src/pyscrappy/scrapers/spotify.py :15 from urllib.parse import quote_plus
  • net mldsveda-PyScrappy-cc51b52/src/pyscrappy/scrapers/twitter.py :68 from urllib.parse import quote_plus
  • net mldsveda-PyScrappy-cc51b52/src/pyscrappy/scrapers/ubereats.py :23 from urllib.parse import quote, quote_plus
  • net mldsveda-PyScrappy-cc51b52/src/pyscrappy/scrapers/weather.py :10 from urllib.parse import quote_plus
  • net mldsveda-PyScrappy-cc51b52/src/pyscrappy/scrapers/wikipedia.py :7 from urllib.parse import quote
  • net mldsveda-PyScrappy-cc51b52/src/pyscrappy/scrapers/youtube.py :8 from urllib.parse import quote_plus
  • net mldsveda-PyScrappy-cc51b52/src/pyscrappy/scrapers/zomato.py :8 from urllib.parse import quote_plus

secrets 1

  • secrets mldsveda-PyScrappy-cc51b52/src/pyscrappy/scrapers/imdb.py :49 self.api_key = api_key or os.environ.get("OMDB_API_KEY")

tool registrations 22

  • scrape_url mldsveda-PyScrappy-cc51b52/src/pyscrappy/mcp/server.py :98
  • scrape_wikipedia mldsveda-PyScrappy-cc51b52/src/pyscrappy/mcp/server.py :123
  • scrape_stock mldsveda-PyScrappy-cc51b52/src/pyscrappy/mcp/server.py :135
  • scrape_news mldsveda-PyScrappy-cc51b52/src/pyscrappy/mcp/server.py :148
  • search_images mldsveda-PyScrappy-cc51b52/src/pyscrappy/mcp/server.py :175
  • search_youtube mldsveda-PyScrappy-cc51b52/src/pyscrappy/mcp/server.py :190
  • search_linkedin_jobs mldsveda-PyScrappy-cc51b52/src/pyscrappy/mcp/server.py :202
  • get_crypto mldsveda-PyScrappy-cc51b52/src/pyscrappy/mcp/server.py :219
  • convert_currency mldsveda-PyScrappy-cc51b52/src/pyscrappy/mcp/server.py :236
  • define_word mldsveda-PyScrappy-cc51b52/src/pyscrappy/mcp/server.py :251
  • search_github mldsveda-PyScrappy-cc51b52/src/pyscrappy/mcp/server.py :262
  • search_hackernews mldsveda-PyScrappy-cc51b52/src/pyscrappy/mcp/server.py :277
  • search_books mldsveda-PyScrappy-cc51b52/src/pyscrappy/mcp/server.py :292
  • get_weather mldsveda-PyScrappy-cc51b52/src/pyscrappy/mcp/server.py :304
  • search_ubereats mldsveda-PyScrappy-cc51b52/src/pyscrappy/mcp/server.py :315
  • get_ubereats_menu mldsveda-PyScrappy-cc51b52/src/pyscrappy/mcp/server.py :327
  • search_amazon mldsveda-PyScrappy-cc51b52/src/pyscrappy/mcp/server.py :338
  • search_newegg mldsveda-PyScrappy-cc51b52/src/pyscrappy/mcp/server.py :350
  • search_ikea mldsveda-PyScrappy-cc51b52/src/pyscrappy/mcp/server.py :362
  • search_soundcloud mldsveda-PyScrappy-cc51b52/src/pyscrappy/mcp/server.py :380
  • lookup_movie mldsveda-PyScrappy-cc51b52/src/pyscrappy/mcp/server.py :408
  • scrape_zomato mldsveda-PyScrappy-cc51b52/src/pyscrappy/mcp/server.py :425

declared dependencies 7

  • mcp@>=1.2; python_version >=
  • httpx@>=0.24
  • beautifulsoup4@>=4.12
  • lxml@>=4.9
  • playwright@>=1.40
  • pandas@>=1.5
  • 3.10@*