InfinityScrape MCP is a standalone, production-grade Model Context Protocol (MCP) server engineered to provide AI models (LM Studio, Claude Desktop, Cursor, Open WebUI, Antigravity AI) with unlimited, high-speed, anti-bot resilient web scraping, dynamic SPA rendering, instant YouTube transcription, and precision OSINT / GEOINT location intelligence.
- π Why InfinityScrape MCP?
- β‘ Competitive Comparison
- ποΈ Architectural Overview
- π Quick Start & 1-Click Installation
- π AI Client Integration (LM Studio, Claude, Cursor)
- π οΈ Complete 16-Tool Reference Guide
- π§ Autonomous AI Agent Playbook (
SKILL.md) - π» Command-Line Interface (CLI)
- π§ͺ Running Automated Tests
- π License & Authors
Standard web scrapers often fail on modern websites due to Cloudflare challenges, heavy client-side JavaScript rendering, intrusive cookie consent modals, and rate limits. InfinityScrape solves these problems out-of-the-box:
- Dual-Engine Architecture:
- Fast TLS Engine (
primp+httpx): Mimics real Chrome/Safari browser TLS/JA3 fingerprints and HTTP/2 headers to bypass Cloudflare and Akamai challenges in<100ms. - Dynamic Headless Browser (
Playwright Chromium): Renders complex SPAs (React, Vue, Next.js, Angular), performs infinite scrolling, clicks elements, and executes custom JavaScript.
- Fast TLS Engine (
- Network-Level Ad & Tracker Elimination:
- Intercepts and aborts network calls to 35+ ad networks and tracking scripts (
doubleclick,criteo,outbrain,google-analytics) before they download, cutting page load time by ~300% and memory usage by 70%. - Automatically detects and decomposes OneTrust, Cookiebot, and sticky overlay popups.
- Intercepts and aborts network calls to 35+ ad networks and tracking scripts (
- Zero-GPU Instant YouTube Transcriber:
- Extracts complete video/shorts/live transcripts with timestamps (
[MM:SS]) in<300msdirectly via HTTP streams without downloading video or requiring local GPU Whisper models.
- Extracts complete video/shorts/live transcripts with timestamps (
- Deep Recursive Documentation Crawler:
- Asynchronous Breadth-First-Search (BFS) crawler with domain locking and path prefix filtering to aggregate entire documentation trees into unified Markdown.
- State-of-the-Art Public OSINT & GEOINT Reconnaissance:
- Multi-Signal Confidence Scoring (0% - 100%): Evaluates Name + City + Street + PIN + Org + Role correlation to rank discovered dossiers.
- 25+ Global Platform Scanners: Scans GitHub, GitLab, StackOverflow, Kaggle, HuggingFace, LeetCode, Codeforces, Dev.to, Medium, Substack, Google Scholar, ResearchGate, Reddit, etc.
- OpenStreetMap GEOINT: Resolves global addresses down to street/postcode level with GPS coordinates and administrative boundaries.
- SQLite Persistent Caching Layer:
- In-memory and SQLite-backed local cache for instant
0msresponses on repeat lookups with configurable TTL.
- In-memory and SQLite-backed local cache for instant
| Feature / Capability | Standard MCP Scrapers | Cloud Scraping APIs | InfinityScrape MCP |
|---|---|---|---|
| Cost & API Keys | Free (Basic) | Paid ($20 - $200/mo) | 100% Free / Zero API Keys |
| Cloudflare / Akamai TLS Bypass | β Fails / 403 | β Yes | β
Built-in (primp JA3) |
| Dynamic SPAs & Infinite Scroll | β Limited | β Yes | β
Built-in (playwright) |
| Network-Level Ad & Popup Stripping | β No | β Built-in (35+ domains) | |
| Zero-GPU YouTube Transcripts | β No | β No | β Built-in (<300ms) |
| Online PDF Page-by-Page Parser | β No | β
Built-in (pypdf) |
|
| Deep Documentation Crawler | β No | β Built-in (Async BFS) | |
| 25+ Platform OSINT & Geocoding | β No | β No | β Built-in (0-100% Confidence) |
| Local SQLite 0ms Caching | β No | β No | β Built-in (Auto TTL) |
ββββββββββββββββββββββββββββββββββββββββββββββββββ
β AI Client (LM Studio / Claude / Cursor) β
βββββββββββββββββββββββββ¬βββββββββββββββββββββββββ
β JSON-RPC 2.0 (Stdio)
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββ
β InfinityScrape MCP Server β
β (server.py) β
βββββββββ¬βββββββββββββββββ¬ββββββββββββββββ¬ββββββββ
β β β
βββββββββββββββββββ΄ββ ββββββββββ΄βββββββββ βββ΄βββββββββββββββββ
βΌ βΌ βΌ βΌ βΌ βΌ
[Fast TLS Engine] [Playwright Engine] [OSINT / GEOINT] [Media & PDF Engines]
β’ primp JA3/TLS β’ Stealth Chromium β’ 25+ Platform β’ YouTube (<300ms)
β’ HTTP/2 Stealth β’ Network Ad Blocker Scanners β’ Remote PDF Stream
β’ <100ms Execution β’ Infinite Scroll β’ OpenStreetMap β’ Table Markdownify
β’ Auto-Dismiss CMPs β’ Match Confidence
β
βΌ
ββββββββββββββββββββββββββββββββββ
β SQLite Caching Layer (0ms TTL) β
ββββββββββββββββββββββββββββββββββ
- Python 3.10, 3.11, or 3.12+ installed.
- Windows, macOS, or Linux.
Double-click install.bat or run in PowerShell:
.\install.batchmod +x install.sh
./install.sh# 1. Create virtual environment
python -m venv .venv
# 2. Activate virtual environment
# Windows: .venv\Scripts\activate | Linux/Mac: source .venv/bin/activate
# 3. Install requirements & Playwright browser
pip install -r requirements.txt
playwright install chromiumGo to Settings β Developer β MCP Servers β Edit Config and add:
{
"mcpServers": {
"infinity-scraper": {
"command": "C:/path/to/infinity-scraper/.venv/Scripts/python.exe",
"args": [
"-m",
"infinity_scraper.server"
],
"cwd": "C:/path/to/infinity-scraper",
"env": {
"PYTHONUNBUFFERED": "1"
}
}
}
}Edit %APPDATA%\Claude\claude_desktop_config.json (Windows) or ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"infinity-scraper": {
"command": "C:/path/to/infinity-scraper/.venv/Scripts/python.exe",
"args": [
"-m",
"infinity_scraper.server"
]
}
}
}In Cursor Settings β Features β MCP Servers β Add New MCP Server:
- Name:
infinity-scraper - Type:
command - Command:
C:/path/to/infinity-scraper/.venv/Scripts/python.exe -m infinity_scraper.server
Run the dedicated OpenAPI bridge server on Port 8000:
python openapi_bridge.pyThen in Open WebUI:
- Open Admin Settings β Tools β + (Add Tool Server).
- Enter Tool Server URL:
http://127.0.0.1:8000. - Click Save. All 25 scraper and OSINT tools are instantly imported into your Open WebUI models!
| Tool | Purpose | Key Parameters |
|---|---|---|
scrape_url |
Universal scraping with auto-upgrading TLS-to-Browser engine. | url, engine='auto', strip_ads=True, use_cache=True |
scrape_dynamic |
Headless browser for SPAs, infinite scrolls, and click actions. | url, scroll_depth=3, click_selector, wait_seconds |
search_web |
Real-time internet search via DuckDuckGo. | query, max_results=5, search_type='text' |
search_and_scrape |
Searches web and automatically scrapes top results into a cited report. | query, max_results=4 |
deep_crawl |
Recursive async BFS site crawler for full documentation trees. | start_url, max_pages=10, max_depth=2, path_prefix |
scrape_batch |
Concurrently scrape multiple URLs in parallel. | urls (list), concurrency=4 |
extract_schema |
Extract targeted fields using a CSS selector map to JSON. | url, schema={"title": "h1", "price": ".price"} |
extract_structured |
Extract JSON-LD, OpenGraph metadata, and HTML tables. | url, extract_tables=True |
optimize_rag_chunks |
Semantic RAG chunker & token optimizer for massive pages. | text_or_markdown, max_chunk_chars=2000 |
| Tool | Purpose | Key Parameters |
|---|---|---|
get_youtube_transcript |
Zero-GPU YouTube video transcript extraction with timestamps. | url, with_timestamps=True, languages |
extract_pdf |
Streams and extracts remote online PDF documents page-by-page. | url, max_pages=20 |
extract_image_exif |
Extracts camera specs, timestamps, and GPS geotags from photos. | image_url |
extract_reddit_thread_tool |
Ingests Reddit posts, scores, and nested comment dialogues. | url, max_comments=25 |
extract_rss_feed_tool |
Real-time RSS/Atom feed parser for blogs, Substack, and news. | feed_url, max_items=10 |
| Tool | Purpose | Key Parameters |
|---|---|---|
osint_deep_public_recon |
Multi-domain open web profile scraper & confidence-ranked dossier builder. | name, location, street_or_locality, postal_code, organization, role_or_keywords, exclude_terms, time_range |
osint_geoint_lookup |
Global OpenStreetMap forward geocoding & administrative breakdown. | location_query, country_code |
osint_location_entity_search |
Hierarchical location drill-down search matrix with negative filters. | entity_name, country, city, street_or_landmark, postal_code |
osint_username_check |
Scans username presence across 26 coding, academic, and creative networks. | username |
osint_search |
Precision search dorking (site:, filetype:pdf, intitle:, -exclude). |
query, site, filetype, exclude_terms |
| Tool | Purpose | Key Parameters |
|---|---|---|
osint_domain_recon |
Inspects domain SSL/TLS certificate validity, DNS, and RDAP/WHOIS. | domain_or_url |
osint_tech_stack |
Detects frontend frameworks (React, Next.js, Vue), CMS, CDN, and servers. | url |
osint_ip_lookup |
Public IP Geolocation, ASN, ISP, and Organization intel. | ip_or_host |
osint_wayback_time_machine |
Historical time-travel & deleted webpage snapshot scraper. | url, timestamp, list_snapshots |
osint_subdomain_enumeration |
Certificate Transparency subdomains discovery in <1 sec. | domain, limit=50 |
osint_dns_audit |
Deep DNS records (IPv4, IPv6, MX) infrastructure audit. | domain |
InfinityScrape includes an advanced Cognitive Reasoning Framework (skills/infinity-scraper/SKILL.md) that teaches autonomous AI agents how to:
- Dynamically deconstruct user prompts into search and location clues.
- Multi-tool chain across tools (e.g.
Search β Filter β Batch ScrapeorGeocode β Locality Dork β Profile Extraction). - Auto-escalate from fast TLS to Playwright headless browser when encountering dynamic React single-page apps.
π Read the full agent playbook: skills/infinity-scraper/SKILL.md
You can also use InfinityScrape directly from your terminal:
# Scrape a URL to Markdown
python -m infinity_scraper.cli scrape "https://example.com"
# Scrape dynamic SPA with infinite scroll
python -m infinity_scraper.cli scrape "https://news.ycombinator.com" --browser --scroll 3
# Live search and auto-scrape top results
python -m infinity_scraper.cli search "Quantum computing breakthroughs" --scrape --max 4
# Crawl documentation tree
python -m infinity_scraper.cli crawl "https://docs.python.org/3/library/asyncio.html" --pages 5 --depth 2
# Extract remote PDF
python -m infinity_scraper.cli pdf "https://example.com/report.pdf" --pages 10Run the comprehensive unit and integration test suite:
python -m tests.test_scraperTest Coverage:
- β Fast TLS Impersonator
- β Playwright Dynamic Browser
- β DuckDuckGo Live Search
- β HTML Table to Markdown Converter
- β Recursive BFS Documentation Crawler
- β Zero-GPU YouTube Transcript Extraction
- β OSINT SSL, IP Intel & 25+ Platform Presence Check
This project is licensed under the MIT License (with Mandatory Attribution & DMCA Enforcement).
Important
Mandatory Attribution Notice:
- You are free to use, modify, and integrate this project for commercial or personal use.
- However, the original Author Attribution and Copyright notice MUST be preserved in all copies, forks, or derivative distributions.
- Removing the author's name/credits and re-uploading/pushing to GitHub as your own work is strictly prohibited and constitutes copyright infringement. Any infringing repository is subject to immediate GitHub DMCA Takedown & Repository Deletion and legal enforcement.
- Author / Creator: VirajVerse
- Repository: https://github.com/virajverse/infinity-scraper-mcp
- See
LICENSEfor complete legal terms.