MCP CDP Scraper
Allows Hermes Agent to perform web scraping and form automation through the MCP server, using a real Chrome instance.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP CDP Scraperscrape https://news.ycombinator.com for top links"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP CDP Scraper — Web Scraping via Chrome DevTools Protocol for AI Agents
An MCP (Model Context Protocol) server that gives AI agents the ability to scrape web pages, fill forms, take screenshots, and extract structured data — all through Chrome DevTools Protocol with zero external dependencies.
Why This Exists
Most web scraping MCP servers wrap Playwright or Puppeteer — heavy dependencies that break in Docker, require npm, and add 200MB+ to your image. This server uses raw CDP over WebSockets with Python stdlib only. It connects to any Chrome/Chromium instance running with --remote-debugging-port and gives your AI agent 12 scraping tools.
No Playwright. No Selenium. No Puppeteer. No npm. Just Python stdlib + a running Chrome.
Features
12 MCP Tools:
list_tabs,scrape_page,extract_text,extract_links,extract_images,extract_table,fill_form,click_element,screenshot,get_html,wait_for,scroll_toZero dependencies — pure Python stdlib (socket, json, urllib, base64, struct)
React/Vue compatible form filling — uses native setters + synthetic events
STDIO JSON-RPC mode — drop-in for any MCP-compatible client (Claude Desktop, Hermes, etc.)
Structured extraction — title, meta, headings, paragraphs, lists, links, images in one call
Screenshot capture — base64 PNG or save to file
Form automation — fill fields, click submit, wait for dynamic content
Quick Start
1. Launch Chrome with remote debugging
# Linux
google-chrome --remote-debugging-port=9222 --headless=new &
# macOS
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 &
# Docker
docker run -d -p 9222:9222 chromedp/chrome --remote-debugging-port=9222 --headless2. Run the MCP server
# STDIO mode (for MCP clients)
python -m src.server --stdio
# Or print the manifest
python -m src.server --manifest3. Use as a library
from src.server import MCPCDPScraperServer
server = MCPCDPScraperServer()
# Scrape a page
result = server.handle_tool_call("scrape_page", {"url": "https://news.ycombinator.com"})
import json
data = json.loads(result)
print(data["structured"]["title"])
print(f"Found {data['link_count']} links")
# Fill a form
result = server.handle_tool_call("fill_form", {
"fields": {
"#email": "user@example.com",
"#password": "secret123"
},
"submit": "#login-button"
})MCP Tool Reference
Tool | Description | Required Params |
| List open browser tabs | — |
| Navigate + extract everything |
|
| Get text from element |
|
| Get all links | — |
| Get all images | — |
| Get table as 2D array |
|
| Fill form fields (React-safe) |
|
| Click by selector |
|
| Capture screenshot | — |
| Get element HTML |
|
| Wait for selector |
|
| Scroll to element/coords | — |
Integration with MCP Clients
Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"cdp-scraper": {
"command": "python",
"args": ["-m", "src.server", "--stdio"],
"cwd": "/path/to/mcp-cdp-scraper"
}
}
}Hermes Agent (config.yaml)
mcp:
servers:
cdp-scraper:
command: python
args: ["-m", "src.server", "--stdio"]
cwd: /path/to/mcp-cdp-scraperDemo
# Requires Chrome running on port 9222
python demo.pyTests
python -m pytest tests/ -vDocker
docker build -t mcp-cdp-scraper .
docker run -p 9222:9222 mcp-cdp-scraperArchitecture
MCP Client (Claude/Hermes/any)
│ JSON-RPC over STDIO
▼
MCPCDPScraperServer (src/server.py)
│ Tool dispatch + schema
▼
CDPScraper (src/cdp_scrape.py)
│ Raw WebSocket CDP commands
▼
Chrome/Chromium (--remote-debugging-port=9222)
│
▼
Web Page → Structured DataUse Cases
AI agent web scraping — Let your agent browse and extract data from any page
Form automation — Login flows, signups, search submissions
Content monitoring — Scrape and diff pages on a schedule
Data extraction pipelines — Tables, product listings, article content
Screenshot generation — Visual capture for QA or documentation
Anti-bot bypass — Real Chrome instance avoids headless detection
License
MIT
Author
AMEOBIUS — github.com/AMEOBIUS
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AMEOBIUS-space/mcp-cdp-scraper'
If you have feedback or need assistance with the MCP directory API, please join our Discord server