MCP Web Scrape
A comprehensive web scraping server that transforms web content into clean, agent-ready Markdown with automatic citations and efficient caching. It features a robust suite of tools for metadata extraction, sentiment analysis, SEO auditing, and security scanning while strictly adhering to robots.txt policies.
README
🕷️ MCP Web Scrape
Clean, cached web content for agents—Markdown + citations, robots-aware, ETag/304 caching.
📦 Version
Current Version: 1.0.7
🎬 Live Demos
See MCP Web Scrape in action! These demos show real-time extraction and processing:
<h3>📄 Content Extraction</h3> <img src="demo/extract_content_demo.gif" alt="Extract Content Demo" width="600" style="border-radius:12px;"><br> <p><em>Transform messy HTML into clean, agent-ready Markdown with automatic citations</em></p>
<h3>🔗 Link Extraction</h3> <img src="demo/extract_link_demo.gif" alt="Extract Links Demo" width="600" style="border-radius:12px;"><br> <p><em>Extract and categorize all links from any webpage with filtering options</em></p>
<h3>📊 Metadata Extraction</h3> <img src="demo/metadata_demo.gif" alt="Metadata Demo" width="600" style="border-radius:12px;"><br> <p><em>Get comprehensive page metadata including title, description, author, and keywords</em></p>
<h3>📝 Content Summarization</h3> <img src="demo/summarize_content_demo.gif" alt="Summarize Content Demo" width="600" style="border-radius:12px;"><br> <p><em>AI-powered content summarization for quick insights and key points</em></p>
🚀 Quick Start Demo
# Extract content from any webpage
npx mcp-web-scrape@1.0.7
# Example: Extract from a news article
> extract_content https://news.ycombinator.com
✅ Extracted 1,247 words with 5 citations
📄 Clean Markdown ready for your AI agent
🎯 Tool Examples
# Extract all forms from a webpage
> extract_forms https://example.com/contact
✅ Found 3 forms with 12 input fields
# Parse tables into structured data
> extract_tables https://example.com/data --format json
✅ Extracted 5 tables with 247 rows
# Find social media profiles
> extract_social_media https://company.com
✅ Found Twitter, LinkedIn, Facebook profiles
# Analyze sentiment of content
> sentiment_analysis https://blog.example.com/article
✅ Sentiment: Positive (0.85), Emotional tone: Optimistic
# Extract named entities
> extract_entities https://news.example.com/article
✅ Found 12 people, 8 organizations, 5 locations
# Check for security vulnerabilities
> scan_vulnerabilities https://mysite.com
✅ No XSS vulnerabilities found, 2 header improvements suggested
# Analyze competitor SEO
> analyze_competitors ["https://competitor1.com", "https://competitor2.com"]
✅ Competitor analysis complete: keyword gaps identified
# Monitor uptime and performance
> monitor_uptime https://mysite.com --interval 300
✅ Uptime: 99.9%, Average response: 245ms
# Generate comprehensive report
> generate_reports https://website.com --metrics ["seo", "performance", "security"]
✅ Generated 15-page analysis report
⚡ Quick Start
# Install globally
npm install -g mcp-web-scrape@1.0.7
# Try it instantly (latest version)
npx mcp-web-scrape@latest
# Try specific version
npx mcp-web-scrape@1.0.7
# Or start HTTP server
node dist/http.js
ChatGPT Desktop Setup
Add to your ~/Library/Application Support/ChatGPT/config.json:
{
"mcpServers": {
"web-scrape": {
"command": "npx",
"args": ["mcp-web-scrape@1.0.7"]
}
}
}
Claude Desktop Setup
Add to your ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"web-scrape": {
"command": "npx",
"args": ["mcp-web-scrape@1.0.7"]
}
}
}
🛠️ Available Tools
Core Extraction Tools
| Tool | Description |
|---|---|
extract_content |
Convert HTML to clean Markdown with citations |
summarize_content |
AI-powered content summarization |
get_page_metadata |
Extract title, description, author, keywords |
extract_links |
Get all links with filtering options |
extract_images |
Extract images with alt text and dimensions |
search_content |
Search within page content |
check_url_status |
Verify URL accessibility |
validate_robots |
Check robots.txt compliance |
extract_structured_data |
Parse JSON-LD, microdata, RDFa |
compare_content |
Compare two pages for changes |
batch_extract |
Process multiple URLs efficiently |
get_cache_stats |
View cache performance metrics |
clear_cache |
Manage cached content |
Advanced Extraction Tools
| Tool | Description |
|---|---|
extract_forms |
Extract form elements, fields, and validation rules |
extract_tables |
Parse HTML tables with headers and structured data |
extract_social_media |
Find social media links and profiles |
extract_contact_info |
Discover emails, phone numbers, and addresses |
extract_headings |
Analyze heading structure (H1-H6) for content hierarchy |
extract_feeds |
Discover and parse RSS/Atom feeds |
Content Transformation Tools
| Tool | Description |
|---|---|
convert_to_pdf |
Convert web pages to PDF format with customizable settings |
extract_text_only |
Extract plain text content without formatting or HTML |
generate_word_cloud |
Generate word frequency analysis and word cloud data |
translate_content |
Translate web page content to different languages |
extract_keywords |
Extract important keywords and phrases from content |
Advanced Analysis Tools
| Tool | Description |
|---|---|
analyze_readability |
Analyze text readability using various metrics (Flesch, Gunning-Fog, etc.) |
detect_language |
Detect the primary language of web page content |
extract_entities |
Extract named entities (people, places, organizations) |
sentiment_analysis |
Analyze sentiment and emotional tone of content |
classify_content |
Classify content into categories and topics |
SEO & Marketing Tools
| Tool | Description |
|---|---|
analyze_competitors |
Analyze competitor websites for SEO and content insights |
extract_schema_markup |
Extract and validate schema.org structured data |
check_broken_links |
Check for broken links and redirects on pages |
analyze_page_speed |
Analyze page loading speed and performance metrics |
generate_meta_tags |
Generate optimized meta tags for SEO |
Security & Privacy Tools
| Tool | Description |
|---|---|
scan_vulnerabilities |
Scan pages for common security vulnerabilities |
check_ssl_certificate |
Check SSL certificate validity and security details |
analyze_cookies |
Analyze cookies and tracking mechanisms |
detect_tracking |
Detect tracking scripts and privacy concerns |
check_privacy_policy |
Analyze privacy policy compliance and coverage |
Advanced Monitoring Tools
| Tool | Description |
|---|---|
monitor_uptime |
Monitor website uptime and availability |
track_changes_detailed |
Advanced change tracking with similarity analysis |
analyze_traffic_patterns |
Analyze website traffic patterns and trends |
benchmark_performance |
Benchmark performance against competitors |
generate_reports |
Generate comprehensive analysis reports |
Analysis & Monitoring Tools
| Tool | Description |
|---|---|
monitor_changes |
Track content changes over time with similarity analysis |
analyze_performance |
Measure page performance, SEO, and accessibility metrics |
generate_sitemap |
Crawl websites to generate comprehensive sitemaps |
validate_html |
Validate HTML structure, accessibility, and SEO compliance |
🤔 Why Not Just Use Built-in Browsing?
Deterministic Results → Same URL always returns identical content
Smart Citations → Every fact links back to its source
Robots Compliant → Respects robots.txt and rate limits
Lightning Fast → ETag/304 caching + persistent storage
Agent-Optimized → Clean Markdown instead of messy HTML
🔒 Safety First
- ✅ Respects robots.txt by default
- ✅ Rate limiting prevents server overload
- ✅ No paywall bypass - ethical scraping only
- ✅ User-Agent identification for transparency
📦 Installation
# Install specific version
npm install -g mcp-web-scrape@1.0.7
# Or use directly (latest)
npx mcp-web-scrape@latest
# Or use specific version
npx mcp-web-scrape@1.0.7
🔧 Configuration
# Environment variables
export MCP_WEB_SCRAPE_CACHE_DIR="./cache"
export MCP_WEB_SCRAPE_USER_AGENT="MyBot/1.0"
export MCP_WEB_SCRAPE_RATE_LIMIT="1000"
🌐 Transports
STDIO (default)
mcp-web-scrape
HTTP/SSE
node dist/http.js --port 3000
📚 Resources
Access cached content as MCP resources:
cache://news.ycombinator.com/path → Cached page content
cache://stats → Cache statistics
cache://robots/news.ycombinator.com → Robots.txt status
🤝 Contributing
We love contributions! See CONTRIBUTING.md for guidelines.
Good First Issues:
- Add new content extractors
- Improve error handling
- Write more tests
- Enhance documentation
📄 License
MIT © Mahipal
🌟 Star History
Built with ❤️ for the Model Context Protocol ecosystem
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。