ScrapeGraph MCP Server

by ScrapeGraphAI

87 stars
368 downloads
Not rated
GitHub

About

AI-powered web scraping using the ScrapeGraph AI API. Requires an API key.

Details

Author
ScrapeGraphAI
GitHub stars
87
Downloads
368
Categories
Web Scraping, AI, API, Other

- Scrape webpages in multiple output formats (markdown, HTML, screenshot, etc.)
- Extract structured data using AI prompts and optional JSON schemas
- Perform web searches with configurable country and time filters
- Asynchronous multi-page crawling with start, status, stop, and resume
- Generate and augment JSON schemas from prompts
- Manage scheduled monitoring jobs with activity history
- Check account credits and paginated history

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name ScrapeGraph MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Configuring Claude Desktop For Local Server

To use your locally running server with Claude Desktop, update your configuration file:

macOS/Linux(~/Library/Application Support/Claude/claude_desktop_config.json):

{ "mcpServers": { "scrapegraph-mcp-local": { "command": "python", "args": [ "-m", "scrapegraph_mcp.server" ], "env": { "SGAI_API_KEY": "your-api-key-here" } } } }

Windows(%APPDATA%\Claude\claude_desktop_config.json):

{ "mcpServers": { "scrapegraph-mcp-local": { "command": "python", "args": [ "-m", "scrapegraph_mcp.server" ], "env": { "SGAI_API_KEY": "your-api-key-here" } } } }

Note: Make sure Python is in your PATH. You can verify by runningpython --versionin your terminal.

In Cursor's MCP settings, add a new server with:

- Command:python
- Args:["-m", "scrapegraph_mcp.server"]
- Environment Variables:{"SGAI_API_KEY": "your-api-key-here"}

- Verify Python is installed:python --version
- Check that the package is installed:pip list | grep scrapegraph-mcp
- Ensure API key is set:echo $SGAI_API_KEY(macOS/Linux) orecho %SGAI_API_KEY%(Windows)

- Check Claude Desktop logs:

- macOS:~/Library/Logs/Claude/
- Windows:%APPDATA%\Claude\Logs\

- Reinstall the package:pip install -e . --force-reinstall
- Verify dependencies:pip install -r requirements.txt(if available)

The ScrapeGraph MCP server can be integrated withGoogle ADK (Agent Development Kit)to create AI agents with web scraping capabilities.

- Python 3.13 or higher
- Google ADK installed
- ScrapeGraph API key
- Install Google ADK(if not already installed):

Create an agent file (e.g.,agent.py) with the following configuration:

import os from google.adk.agents import LlmAgent from google.adk.tools.mcp_tool.mcp_toolset import MCPToolset from google.adk.tools.mcp_tool.mcp_session_manager import StdioConnectionParams from mcp import StdioServerParameters # Path to the scrapegraph-mcp server directory SCRAPEGRAPH_MCP_PATH = "/path/to/scrapegraph-mcp" # Path to the server.py file SERVER_SCRIPT_PATH = os.path.join( SCRAPEGRAPH_MCP_PATH, "src", "scrapegraph_mcp", "server.py" ) root_agent = LlmAgent( model='gemini-2.0-flash', name='scrapegraph_assistant_agent', instruction='Help the user with web scraping and data extraction using ScrapeGraph AI. ' 'You can convert webpages to markdown, extract structured data using AI, ' 'perform web searches, crawl multiple pages, and automate complex scraping workflows.', tools=[ MCPToolset( connection_params=StdioConnectionParams( server_params=StdioServerParameters( command='python3', args=[ SERVER_SCRIPT_PATH, ], env={ 'SGAI_API_KEY': os.getenv('SGAI_API_KEY'), }, ), timeout=300.0,) ), # Optional: Filter which tools from the MCP server are exposed # tool_filter=['scrape', 'extract', 'search'] ) ], )

- Default timeout is 5 seconds, which may be too short for web scraping operations
- Recommended: Set timeout=300.0
- Adjust based on your use case (crawling operations may need even longer timeouts)

- By default, all registered MCP tools are exposed to the agent (seeAvailable Tools)
- Use
tool_filterto limit which tools are available:

tool_filter=['scrape', 'extract', 'search']

- Set via environment variable:export SGAI_API_KEY=your-key
- Or pass directly in
envdict:'SGAI_API_KEY': 'your-key-here'
- Environment variable approach is recommended for security

Once configured, your agent can use natural language to interact with web scraping tools:

# The agent can now handle queries like: # - "Convert https://example.com to markdown" # - "Extract all product prices from this e-commerce page" # - "Search for recent AI research papers and summarize them" # - "Crawl this documentation site and extract all API endpoints"

For more information about Google ADK, visit theofficial documentation.

The server enables sophisticated queries across various scraping scenarios:

- Markdownify: "Convert the ScrapeGraph documentation page to markdown"
- Extract: "Extract all product names, prices, and ratings from this e-commerce page"
- Extract with scrolling: "Scrape this infinite scroll page with 5 scrolls and extract all items"
- Basic Scrape: "Fetch the HTML content of this JavaScript-heavy page with full rendering"

- Search: "Research and summarize recent developments in AI-powered web scraping"
- Search: "Search for the top 5 articles about machine learning frameworks and extract key insights"
- Search: "Find recent news about GPT-4 and provide a structured summary"
- Search: v2 does not apply
time_range; phrase queries to bias recency in natural language instead

- Usecrawl_startpluscrawl_get_statusto map and capture multi-page content; there is no separatesitemaptool on v2.

- Crawl: "Crawl the blog in markdown mode and poll until complete"
- For structured fields per page, run
extracton individual URLs (ormonitor_createon a schedule)

- Monitor: "Run this extract prompt onhttps://example.comevery day at 9am" (monitor_createwith interval)
- Credits / history:
credits,history
- Agentic Scraper: "Execute a complex workflow: login, navigate to reports, download data, and extract summary statistics"

The server implements robust error handling with detailed, actionable error messages for:

- API authentication issues
- Malformed URL structures
- Network connectivity failures
- Rate limiting and quota management

When running on Windows systems, you may need to use the following command to connect to the MCP server:

C:\Windows\System32\cmd.exe /c npx -y @smithery/cli@latest run @ScrapeGraphAI/scrapegraph-mcp --config "{\"scrapegraphApiKey\":\"YOUR-SGAI-API-KEY\"}"

This ensures proper execution in the Windows environment.

"ScrapeGraph client not initialized"

- Cause: Missing API key
- Solution: Set
SGAI_API_KEYenvironment variable or provide via--config

- Cause: Invalid API key
- Solution: Verify your API key at the
ScrapeGraph Dashboard

- Cause: Insufficient credits
- Solution: Add credits to your ScrapeGraph account

- Cause: Still processing (asynchronous operation)
- Solution: Keep polling
crawl_get_status()`until status is "completed"

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "scrapegraph mcp server": {
            "scrapegraph-mcp": {
                "command": "npx",
                "args": [
                    "-y",
                    "@smithery/cli",
                    "install",
                    "@ScrapeGraphAI/scrapegraph-mcp",
                    "--client",
                    "claude"
                ]
            }
        }
    }
}

McpServers

{
    "scrapegraph-mcp": {
        "command": "npx",
        "args": [
            "-y",
            "@smithery/cli",
            "install",
            "@ScrapeGraphAI/scrapegraph-mcp",
            "--client",
            "claude"
        ]
    }
}

ScrapeGraph MCP Server

<p align="center">
ScrapegraphAI Logo
</p>

License: MIT
Python 3.13+
smithery badge

A production-ready Model Context Protocol (MCP) server that provides seamless integration with the ScrapeGraph AI API. This server enables language models to leverage advanced AI-powered web scraping capabilities with enterprise-grade reliability.

Table of Contents

- Key Features
- Quick Start
- Available Tools
- Setup Instructions
- Remote Server Usage
- Local Usage
- Google ADK Integration
- Example Use Cases
- Error Handling
- Common Issues
- Development
- Contributing
- Documentation
- Technology Stack
- License

API v2

This MCP server targets ScrapeGraph API v2 (https://v2-api.scrapegraphai.com/api), aligned 1:1 with
scrapegraph-py PR #84. Auth uses the
SGAI-APIKEY header. Environment variables mirror the Python SDK:

- SGAI_API_URL — override the base URL (default https://v2-api.scrapegraphai.com/api)
- SGAI_TIMEOUT — request timeout in seconds (default 120)
- SGAI_API_KEY — API key (can also be passed via MCP scrapegraphApiKey or X-API-Key header)

> Legacy aliases (still honored): SCRAPEGRAPH_API_BASE_URL for SGAI_API_URL, SGAI_TIMEOUT_S for SGAI_TIMEOUT.

Key Features

- Scrape & extract: scrape (POST /scrape, multi-format), extract (POST /extract, URL + prompt)
- Search: search (POST /search; num_results clamped 3–20)
- Crawl: Async multi-page crawl with crawl_start / crawl_get_status / crawl_stop / crawl_resume
- Schema: schema (POST /schema) — generate or augment a JSON Schema from a prompt
- Monitors: Scheduled jobs via monitor_create, monitor_list, monitor_get, pause/resume/delete, monitor_activity (paginated tick history)
- Account: credits, history
- Easy integration: Claude Desktop, Cursor, Smithery, HTTP transport
- Developer docs: .agent/ folder

Migration: v2 → v3

v3 renames every MCP tool that diverged from the v2 API docs. Hard rename, no aliases.

| v2 (old) | v3 (new) |
|---|---|
| smartscraper | extract |
| searchscraper | search |
| smartcrawler_initiate | crawl_start |
| smartcrawler_fetch_results | crawl_get_status |
| sgai_history | history |
| generate_schema | schema |
| markdownify | removed — use scrape with output_format="markdown" |

Quick Start

1. Get Your API Key

Sign up and get your API key from the ScrapeGraph Dashboard

2. Install with Smithery (Recommended)

npx -y @smithery/cli install @ScrapeGraphAI/scrapegraph-mcp --client claude

3. Start Using

Ask Claude or Cursor:
- "Convert https://scrapegraphai.com to markdown"
- "Extract all product prices from this e-commerce page"
- "Research the latest AI developments and summarize findings"

That's it! The server is now available to your AI assistant.

Available Tools

| Tool | Role |
|------|------|
| scrape | POST /scrape (output_format: markdown, html, screenshot, branding, links, images, summary) |
| extract | POST /extract (requires website_url + user_prompt; optional output_schema) |
| search | POST /search (num_results 1–20; supports country_search, time_range, output_schema) |
| crawl_start | POST /crawl — extraction_mode markdown / html / links / images / summary / branding / screenshot |
| crawl_get_status | GET /crawl/:id (poll until status: completed) |
| crawl_stop, crawl_resume | POST /crawl/:id/stop \| resume |
| schema | POST /schema (generate or augment a JSON Schema from a prompt) |
| credits | GET /credits |
| history | GET /history (paginated, service filter) |
| monitor_create, monitor_list, monitor_get, monitor_pause, monitor_resume, monitor_delete | /monitor API |
| monitor_activity | GET /monitor/:id/activity (paginated tick history: id, createdAt, status, changed, elapsedMs, diffs) |

Removed: sitemap, agentic_scrapper, async-status polling, and (in v3) markdownify — use scrape with output_format="markdown".

Setup Instructions

To utilize this server, you'll need a ScrapeGraph API key. Follow these steps to obtain one:

1. Navigate to the ScrapeGraph Dashboard
2. Create an account and generate your API key

Automated Installation via Smithery

For automated installation of the ScrapeGraph API Integration Server using Smithery:

npx -y @smithery/cli install @ScrapeGraphAI/scrapegraph-mcp --client claude

Claude Desktop Configuration

Update your Claude Desktop configuration file with the following settings (located on the top rigth of the Cursor page):

(remember to add your API key inside the config)

{
    "mcpServers": {
        "@ScrapeGraphAI-scrapegraph-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "@smithery/cli@latest",
                "run",
                "@ScrapeGraphAI/scrapegraph-mcp",
                "--config",
                "\"{\\\"scrapegraphApiKey\\\":\\\"YOUR-SGAI-API-KEY\\\"}\""
            ]
        }
    }
}

The configuration file is located at:
- Windows: %APPDATA%/Claude/claude_desktop_config.json
- macOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json

Cursor Integration

Add the ScrapeGraphAI MCP server on the settings:

Cursor MCP Integration

Remote Server Usage

Connect to our hosted MCP server - no local installation required!

Claude Desktop Configuration (Remote)

Add this to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "scrapegraph-mcp": {
      "command": "npx",
      "args": [
        "mcp-remote@0.1.25",
        "https://mcp.scrapegraphai.com/mcp",
        "--header",
        "X-API-Key:YOUR_API_KEY"
      ]
    }
  }
}

Cursor Configuration (Remote)

Cursor supports native HTTP MCP connections. Add to your Cursor MCP settings (~/.cursor/mcp.json):

{
  "mcpServers": {
    "scrapegraph-mcp": {
      "url": "https://mcp.scrapegraphai.com/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Benefits of Remote Server

- No local setup - Just configure and start using
- Always up-to-date - Automatically receives latest updates
- Cross-platform - Works on any OS with Node.js

Local Usage

To run the MCP server locally for development or testing, follow these steps:

Prerequisites

- Python 3.13 or higher
- pip or uv package manager
- ScrapeGraph API key

Installation

1. Clone the repository (if you haven't already):

git clone https://github.com/ScrapeGraphAI/scrapegraph-mcp
cd scrapegraph-mcp

2. Install the package:

```bash

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.