Scrapling Fetch MCP
An MCP server that helps AI assistants access text content from websites that implement bot detection, bridging the gap between what you can see in your browser and what the AI can access.
Intended Use
This tool is optimized for low-volume retrieval of documentation and reference materials (text/HTML only) from websites that implement bot detection. It has not been designed or tested for general-purpose site scraping or data harvesting.
Note: This project was developed in collaboration with Claude Sonnet 3.7, using LLM Context.
Installation
-
Requirements:
- Python 3.10+
- uv package manager
-
Install dependencies and the tool:
1uv tool install scrapling 2scrapling install 3uv tool install scrapling-fetch-mcp
Setup with Claude
Add this configuration to your Claude client's MCP server configuration:
1{ 2 "mcpServers": { 3 "Cyber-Chitta": { 4 "command": "uvx", 5 "args": ["scrapling-fetch-mcp"] 6 } 7 } 8}
Available Tools
This package provides two distinct tools:
- s-fetch-page: Retrieves complete web pages with pagination support
- s-fetch-pattern: Extracts content matching regex patterns with surrounding context
Example Usage
Fetching a Complete Page
Human: Please fetch and summarize the documentation at https://example.com/docs
Claude: I'll help you with that. Let me fetch the documentation.
<mcp:function_calls>
<mcp:invoke name="s-fetch-page">
<mcp:parameter name="url">https://example.com/docs</mcp:parameter>
<mcp:parameter name="mode">basic</mcp:parameter>
</mcp:invoke>
</mcp:function_calls>
Based on the documentation I retrieved, here's a summary...
Extracting Specific Content with Pattern Matching
Human: Please find all mentions of "API keys" on the documentation page.
Claude: I'll search for that specific information.
<mcp:function_calls>
<mcp:invoke name="s-fetch-pattern">
<mcp:parameter name="url">https://example.com/docs</mcp:parameter>
<mcp:parameter name="mode">basic</mcp:parameter>
<mcp:parameter name="search_pattern">API\s+keys?</mcp:parameter>
<mcp:parameter name="context_chars">150</mcp:parameter>
</mcp:invoke>
</mcp:function_calls>
I found several mentions of API keys in the documentation:
...
Functionality Options
-
Protection Levels:
basic
: Fast retrieval (1-2 seconds) but lower success with heavily protected sitesstealth
: Balanced protection (3-8 seconds) that works with most sitesmax-stealth
: Maximum protection (10+ seconds) for heavily protected sites
-
Content Targeting Options:
- s-fetch-page: Retrieve entire pages with pagination support (using
start_index
andmax_length
) - s-fetch-pattern: Extract specific content using regular expressions (with
search_pattern
andcontext_chars
)- Results include position information for follow-up queries with
s-fetch-page
- Results include position information for follow-up queries with
- s-fetch-page: Retrieve entire pages with pagination support (using
Tips for Best Results
- Start with
basic
mode and only escalate to higher protection levels if needed - For large documents, use the pagination parameters with
s-fetch-page
- Use
s-fetch-pattern
when looking for specific information on large pages - The AI will automatically adjust its approach based on the site's protection level
Limitations
- Designed only for text content: Specifically for documentation, articles, and reference materials
- Not designed for high-volume scraping or data harvesting
- May not work with sites requiring authentication
- Performance varies by site complexity
License
Apache 2