DataSEO MCP

by egebese

DataSEO MCP provides SEO research tools for backlinks, keywords, traffic, SERP difficulty, competitor analysis, and AI search query planning. Requires CAPTCHA provider API keys (CAPSOLVER_API_KEY or ANTICAPTCHA_API_KEY) and optionally OpenRouter API key (OPENROUTER_API_KEY) for AI features.

Developer toolsstdioCommunity

Repository-wide counts · Cached 2026-07-06

Overview

The DataSEO MCP MCP server is a publicly available project. Review the upstream repository for installation instructions, supported tools, compatibility, permissions, and current maintenance status.

Configuration

Configuration, transport, authentication, and runtime requirements vary by project. Open the repository before connecting and use the smallest set of credentials and permissions required.

Open the DataSEO MCP repository to read the latest documentation.

KEEP EXPLORING

Compare source, connection, and authentication details before choosing an implementation.

View the complete category

模型上下文协议服务器

modelcontextprotocol

Community

一组用于模型上下文协议(MCP)的参考实现,展示了对大型语言模型(LLM)工具和数据源的安全且受控的访问方式。

Context7 Platform - Up-to-date Code Docs For Any Prompt

upstash

Community

Context7 MCP server providing up-to-date, version-specific documentation and code examples for libraries, enabling coding agents to fetch accurate docs and code snippets. Requires an API key for higher rate limits, passed via CONTEXT7_API_KEY header.

Playwright MCP

Microsoft Corporation

Community

A Model Context Protocol (MCP) server that provides browser automation capabilities using Playwright. Enables LLMs to interact with web pages through structured accessibility snapshots, bypassing the need for screenshots or visually-tuned models.

AIHawk

feder-cr

Community

AIHawk is an anti detect browser and web browsing agent, open source, with an MCP server for coding agents: undetected, no captchas, no blocks. It requires an OpenRouter API key for the standalone web UI mode, which can be provided via the --openrouter-key flag or the OPENROUTER_API_KEY environment variable or a .env file in the running directory.

FROM THE SOURCE

Repository README

Build-time snapshot · Retrieved 2026-10-05

View original

DataSEO MCP

Give your AI assistant real SEO data. DataSEO MCP is a Model Context Protocol server that lets Claude, Cursor, and other MCP clients pull backlinks, keyword difficulty, traffic estimates, and keyword ideas from Ahrefs' free tools — plus optional AI query planning — just by asking in plain English.

No dashboards, no CSV exports. Ask "who links to suparank.io?" and get an answer inside your chat.

[!CAUTION] For educational and research use. It automates third-party services (Ahrefs, CapSolver, Anti-Captcha, OpenRouter). You are responsible for complying with their terms of service.

What you can ask

Talk to it in natural language — the assistant picks the right tool.

Ask something like… Tool it uses You get
"Who links to suparank.io?" get_backlinks_list Domain rating, referring domains, top backlink rows
"Give me keyword ideas for AI SEO tools" keyword_generator Keyword and question ideas
"How much organic traffic does suparank.io get?" get_traffic Monthly traffic, top pages, countries, keywords
"How hard is it to rank for 'AI SEO tools'?" keyword_difficulty KD score + the live SERP
"Generate AI search queries for 'AI SEO audit'" ai_search_queries Queries grouped by search intent
"Give me an SEO overview of suparank.io" domain_overview Backlink + traffic summary in one call
"Compare suparank.io with its competitors" compare_domains 2–5 domains side by side
"Find backlink gaps for suparank.io" backlink_opportunities Sources linking to competitors but not you
"Write a content brief for 'AI SEO audit'" seo_content_brief SERP data + AI-assisted content angles

Maintained by Ege Bese. Built for the AI SEO and rank-tracking workflows behind Suparank.

Quick start

Run it with no install using uv:

export CAPSOLVER_API_KEY="your-capsolver-key"
uvx --python 3.10 dataseo-mcp

That's enough to use every SEO tool. See MCP Setup to wire it into your assistant.

For local development:

git clone https://github.com/egebese/dataseo-mcp.git
cd dataseo-mcp
uv sync
uv run dataseo-mcp

The legacy seo-mcp command still works as an alias.

Configuration

One CAPTCHA provider is required — it's how the Ahrefs-backed tools clear the Turnstile challenge:

export CAPSOLVER_API_KEY="your-capsolver-key"
# or
export ANTICAPTCHA_API_KEY="your-anticaptcha-key"

If both are set, CapSolver is tried first and Anti-Captcha is the fallback.

AI tools are optional. ai_search_queries and seo_content_brief need OpenRouter; without it, the other tools still work and AI output is marked unavailable:

export OPENROUTER_API_KEY="your-openrouter-key"
export OPENROUTER_MODEL="openai/gpt-4o-mini"  # optional

Runtime overrides:

Variable Default Purpose
DATASEO_CACHE_DIR ~/.cache/dataseo-mcp Signature cache location
DATASEO_REQUEST_TIMEOUT 30 HTTP timeout in seconds
DATASEO_MAX_POLLING_ATTEMPTS 120 CAPTCHA polling cap
OPENROUTER_BASE_URL https://openrouter.ai/api/v1 OpenAI-compatible AI endpoint

MCP Setup

Claude Code:

claude mcp add dataseo --scope user -- uvx --python 3.10 dataseo-mcp

Claude Desktop / Cursor (claude_desktop_config.json or equivalent):

{
  "mcpServers": {
    "dataseo": {
      "command": "uvx",
      "args": ["--python", "3.10", "dataseo-mcp"],
      "env": {
        "CAPSOLVER_API_KEY": "YOUR_CAPSOLVER_KEY",
        "OPENROUTER_API_KEY": "YOUR_OPENROUTER_KEY"
      }
    }
  }
}

VS Code (.vscode/mcp.json):

{
  "servers": {
    "dataseo": {
      "command": "uvx",
      "args": ["--python", "3.10", "dataseo-mcp"],
      "env": { "CAPSOLVER_API_KEY": "YOUR_CAPSOLVER_KEY" }
    }
  }
}

Add OPENROUTER_API_KEY only if you want the AI tools.

API Reference

{
  "overview": { "domainRating": 76, "backlinks": 1500, "refdomains": 300 },
  "backlinks": [
    {
      "anchor": "Suparank",
      "domainRating": 71,
      "title": "The best AI SEO tools",
      "urlFrom": "https://source.example/best-seo-tools",
      "urlTo": "https://suparank.io/",
      "edu": false,
      "gov": false
    }
  ]
}

keyword_generator(keyword, country="us", search_engine="Google")

Keyword and question ideas in the label / value shape. Volume and difficulty come back as Ahrefs' bucketed estimates.

get_traffic(domain_or_url, country="None", mode="subdomains")

Traffic history, traffic summary, and top pages / countries / keywords. Both costMonthlyAvg and the legacy costMontlyAvg spelling are included.

keyword_difficulty(keyword, country="us")

A keyword difficulty score plus the organic SERP rows with available metrics.

ai_search_queries(keyword, count=10, model="openai/gpt-4o-mini", language="en")

{
  "keyword": "ai seo audit",
  "queries": [
    { "query": "what is an AI SEO audit", "intent": "informational" },
    { "query": "best AI SEO audit tools", "intent": "commercial" }
  ],
  "model_used": "openai/gpt-4o-mini",
  "total_queries": 2
}

count is 1–50. Intents are informational, commercial, transactional, navigational.

Composite tools

  • domain_overview(domain, country="None") — backlink overview + traffic summary for one domain.
  • compare_domains(domains, country="None") — 2–5 unique domains side by side.
  • backlink_opportunities(domain, competitors) — competitor backlink sources missing from the target's sample.
  • seo_content_brief(keyword, country="us", count=12, model, language) — keyword difficulty, SERP rows, AI queries, and recommended content angles in one call.

How it works

server.py stays thin; the work is split into focused modules:

  • services.py — tool orchestration and public return shapes.
  • schemas.py — Pydantic validation and normalization.
  • captcha.py — CapSolver / Anti-Captcha fallback with bounded polling.
  • backlinks.py, keywords.py, traffic.py — Ahrefs endpoint adapters.
  • ai.py — OpenRouter query generation.
  • cache.py — JSON signature cache (default ~/.cache/dataseo-mcp).

Every external HTTP boundary is mocked in tests.

Development

uv sync
uv run pytest -q
uv run ruff check .
uv run python -m compileall -q src
uv run python -c "from seo_mcp.server import main"

Troubleshooting

Problem Fix
No CAPTCHA provider configured Set CAPSOLVER_API_KEY or ANTICAPTCHA_API_KEY
CAPTCHA solving failed Check provider balance, key validity, and rate limits
AI tool returns a missing-key error Set OPENROUTER_API_KEY
Empty SEO response The domain or keyword may not be indexed upstream
seo-mcp command not documented Use dataseo-mcp; seo-mcp still works as an alias

License

MIT with an educational-use notice. Original fork attribution is preserved in LICENSE.