MCP server that converts URLs to clean Markdown/Text for LLM agents
β‘ Fast & Reliable β Built on 7+ years of web scraping expertise, 1,900+ production crawlers, and battle-tested anti-bot handling.
An MCP (Model Context Protocol) server that lets AI agents fetch and read web pages. Simply give it a URL, and it returns clean, LLM-ready content β fast.
Before: AI can't read web pages directly
After: "Summarize this article" just works β¨
- π URL β Markdown: Preserves headings, lists, links
- π URL β Text: Plain text extraction
- π·οΈ Metadata: Title, author, date, images
- π§Ή Clean Output: No ads, no navigation, no scripts
- β‘ JavaScript Rendering: Works with SPAs
- Hashscraper account
- Claude Desktop, Cline, or Cursor installed
- Node.js 20+
Note: The npm package is not yet published. Please install from source for now. Once published, you can install via
npx hashscraper-mcp-server.
# Clone the repository
git clone https://github.com/bamchi/hashscraper-mcp-server.git
cd hashscraper-mcp-server
# Install dependencies and build
npm install && npm run build- Go to https://www.hashscraper.com
- Sign up or log in
- Navigate to My Info
- Find and copy your API key
Option A: Via Settings (Recommended)
- Open Claude Desktop
- Click Settings (gear icon, bottom left)
- Select Developer tab
- Click "Edit Config" button
- Add the mcpServers configuration (see below)
- Save and restart Claude Desktop (Cmd+Q, then reopen)
Option B: Edit config file directly
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Configuration:
{
"mcpServers": {
"hashscraper": {
"command": "node",
"args": ["/absolute/path/to/hashscraper-mcp-server/dist/index.js"],
"env": {
"HASHSCRAPER_API_KEY": "your-api-key"
}
}
}
}Note: Replace
/absolute/path/to/with the actual path where you cloned the repository.
Config file location:
- macOS:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json - Windows:
%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
{
"mcpServers": {
"hashscraper": {
"command": "node",
"args": ["/absolute/path/to/hashscraper-mcp-server/dist/index.js"],
"env": {
"HASHSCRAPER_API_KEY": "your-api-key"
}
}
}
}Create or edit .cursor/mcp.json in your project root:
{
"mcpServers": {
"hashscraper": {
"command": "node",
"args": ["/absolute/path/to/hashscraper-mcp-server/dist/index.js"],
"env": {
"HASHSCRAPER_API_KEY": "your-api-key"
}
}
}
}- Claude Desktop: Fully quit (Cmd+Q on macOS, Alt+F4 on Windows) and reopen
- Cline: Restart VS Code
- Cursor: Restart the editor
You should see the MCP server connection indicator.
Scrapes a webpage and returns AI-readable content.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
url |
string | β | URL to scrape |
format |
string | markdown (default) or text |
Example:
{
"url": "https://example.com/article",
"format": "markdown"
}Markdown Output:
# Article Title
> Author: John Doe | Published: 2024-01-15
## Introduction
This is the main content of the article, converted to clean markdown...
## Key Points
- Point 1: Important detail
- Point 2: Another insight
- [Related Link](https://example.com/related)Text Output:
Article Title
Author: John Doe | Published: 2024-01-15
Introduction
This is the main content of the article, converted to plain text...
Key Points
- Point 1: Important detail
- Point 2: Another insight
Scrapes multiple webpages in parallel and returns AI-readable content.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
urls |
string[] | β | URLs to scrape (max 10) |
format |
string | markdown (default) or text |
Example:
{
"urls": ["https://example.com/page1", "https://example.com/page2"],
"format": "text"
}Output:
[
{
"url": "https://example.com/page1",
"content": "Page 1 Title\n\nThis is the content of page 1..."
},
{
"url": "https://example.com/page2",
"content": "Page 2 Title\n\nThis is the content of page 2..."
}
]User: Summarize this article: https://news.example.com/article/12345
Claude: [calls scrape_url]
Here's a summary of the article:
## Key Points
- Point 1: ...
- Point 2: ...
- Point 3: ...
User: Get the content from https://example.com/data
Claude: [calls scrape_url]
# Page Title
> Source: https://example.com/data
The page content is returned in clean Markdown format...
User: What's the pricing on https://competitor.com/product/abc
Claude: [calls scrape_url]
Here's the pricing information:
- **Product**: ABC Premium
- **Regular Price**: $99.00
- **Sale Price**: $79.00 (20% off)
User: Read https://docs.example.com/api/v2 and write integration code
Claude: [calls scrape_url]
I've analyzed the API documentation. Here's the integration code:
// api-client.ts
export class ExampleApiClient {
private baseUrl = 'https://api.example.com/v2';
async getData(): Promise<Response> {
// ...
}
}
βββββββββββββββββββ
β User β
β "Summarize this β
β URL for me" β
ββββββββββ¬βββββββββ
β
βΌ
βββββββββββββββββββ
β Claude Desktop β
β / Cursor β
ββββββββββ¬βββββββββ
β
βΌ
βββββββββββββββββββ βββββββββββββββββββ
β MCP Server ββββββΊβ Hashscraper API β
β (scrape_url) β β β
ββββββββββ¬βββββββββ ββββββββββ¬βββββββββ
β β
βββββββββββββββββββββββββ
β HTML Response
βΌ
βββββββββββββββββββ
β Convert to β
β Markdown / Text β
ββββββββββ¬βββββββββ
β
βΌ
βββββββββββββββββββ
β AI Response β
β (Summary, etc.) β
βββββββββββββββββββ
Built by the team behind Hashscraper, with 7+ years of web scraping experience:
- β 1,900+ production crawlers
- β JavaScript rendering support
- β Anti-bot handling
- β 99.9% uptime
Make sure your HASHSCRAPER_API_KEY environment variable is set correctly in the configuration file.
Verify that your API key is correct and active in your Hashscraper dashboard.
- Ensure Node.js 20+ is installed
- Try running
node /absolute/path/to/hashscraper-mcp-server/dist/index.jsmanually to check for errors - Fully quit Claude Desktop (Cmd+Q on macOS, Alt+F4 on Windows) and restart
- Check Settings > Developer to verify the server is listed
Update Claude Desktop to the latest version: Claude menu β "Check for Updates..."
- Email: help@hashscraper.com
- Issues: GitHub Issues
MIT Β© Hashscraper