SEO Research MCP
This server enables AI assistants to perform practical SEO research through the following capabilities:
Backlink Analysis: Retrieve backlinks for a domain (with title, URL, domain rating), get a full domain overview (rating, total backlinks, referring domains), and compare SEO metrics across 2–5 domains.
Keyword Research: Generate keyword and question ideas from a seed keyword (filterable by country and search engine), check keyword difficulty scores, and get SERP snapshots.
AI Search Queries: Generate AI-powered query ideas based on a keyword and specific search intents (informational, commercial, transactional, navigational).
Traffic Estimation: Estimate organic search traffic for a domain or URL, including historical data, top pages, top countries, and associated keywords.
Backlink Opportunities: Identify backlink sources used by competitors that are missing from a target domain's profile.
SEO Content Briefs: Create AI-assisted content briefs combining keyword difficulty, SERP analysis, AI search queries, and recommended content angles.
Provides SEO research capabilities including keyword difficulty analysis, keyword generation, traffic estimation, and backlink analysis using data from search engines.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SEO Research MCPwhat are the backlinks for competitor.com?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
DataSEO MCP
DataSEO MCP is a Model Context Protocol server for practical SEO research in AI assistants. It combines Ahrefs free SEO data, CAPTCHA-provider fallback, and optional OpenRouter-powered query planning behind a small set of MCP tools.
This project is for educational and research purposes only. It interacts with third-party services including Ahrefs, CapSolver, Anti-Captcha, and OpenRouter. Users are responsible for complying with all applicable terms of service.
Features
Tool | Purpose | Example prompt |
| Backlink overview and top backlink rows | "Show backlinks for suparank.io" |
| Keyword and question ideas | "Find SaaS SEO keywords for onboarding" |
| Organic traffic estimates | "Estimate traffic for ege.md" |
| KD and SERP snapshot | "Check difficulty for AI SEO tools" |
| AI query ideas by search intent | "Generate AI search queries for SaaS SEO" |
| One-domain backlink + traffic summary | "Summarize suparank.io" |
| Compare 2-5 domains | "Compare suparank.io and ahrefs.com" |
| Competitor backlink source gaps | "Find backlink gaps for my domain" |
| SERP + AI-assisted content brief | "Create a content brief for AI SEO audit" |
DataSEO MCP is maintained by Ege Bese. For AI SEO and rank-tracking workflows, see Suparank.
Installation
uvx --python 3.10 dataseo-mcpFor local development:
git clone https://github.com/egebese/dataseo-mcp.git
cd dataseo-mcp
uv sync
uv run dataseo-mcpThe legacy seo-mcp command is still exposed as a compatibility alias.
Configuration
At least one CAPTCHA provider is required for Ahrefs-backed tools:
export CAPSOLVER_API_KEY="your-capsolver-key"
# or
export ANTICAPTCHA_API_KEY="your-anticaptcha-key"If both are configured, CapSolver is tried first and Anti-Captcha is used as fallback. AI tools are optional:
export OPENROUTER_API_KEY="your-openrouter-key"
export OPENROUTER_MODEL="openai/gpt-4o-mini" # optionalUseful runtime overrides:
Variable | Default | Purpose |
|
| Signature cache location |
|
| HTTP timeout in seconds |
|
| CAPTCHA polling cap |
|
| OpenAI-compatible AI endpoint |
MCP Setup
Claude Desktop / Cursor-style config:
{
"mcpServers": {
"dataseo": {
"command": "uvx",
"args": ["--python", "3.10", "dataseo-mcp"],
"env": {
"CAPSOLVER_API_KEY": "YOUR_CAPSOLVER_KEY",
"ANTICAPTCHA_API_KEY": "YOUR_ANTICAPTCHA_KEY",
"OPENROUTER_API_KEY": "YOUR_OPENROUTER_KEY"
}
}
}
}Claude Code:
claude mcp add dataseo --scope user -- uvx --python 3.10 dataseo-mcpVS Code MCP config:
{
"servers": {
"dataseo": {
"command": "uvx",
"args": ["--python", "3.10", "dataseo-mcp"],
"env": {
"CAPSOLVER_API_KEY": "YOUR_CAPSOLVER_KEY"
}
}
}
}Only one CAPTCHA provider key is required. Add OPENROUTER_API_KEY only when
you want AI-assisted query generation or content briefs.
API Reference
get_backlinks_list(domain)
Returns:
{
"overview": {
"domainRating": 76,
"backlinks": 1500,
"refDomains": 300
},
"backlinks": [
{
"anchor": "DataSEO MCP",
"domainRating": 76,
"title": "Example page",
"urlFrom": "https://source.example/page",
"urlTo": "https://example.com/page",
"edu": false,
"gov": false
}
]
}keyword_generator(keyword, country="us", search_engine="Google")
Returns keyword and question ideas in the existing label / value shape.
get_traffic(domain_or_url, country="None", mode="subdomains")
Returns traffic history, traffic summary, top pages, countries, and keywords.
The legacy costMontlyAvg field is preserved and costMonthlyAvg is also
included.
keyword_difficulty(keyword, country="us")
Returns a keyword difficulty score and organic SERP rows with available metrics.
ai_search_queries(keyword, count=10, model="openai/gpt-4o-mini", language="en")
Returns deduplicated AI-generated queries:
{
"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 validated from 1 to 50. Valid intents are informational,
commercial, transactional, and navigational.
Additional Tools
domain_overview(domain, country="None"): backlink overview plus traffic summary for one domain.compare_domains(domains, country="None"): compares 2-5 unique domains.backlink_opportunities(domain, competitors): lists competitor backlink sources not present in the target sample.seo_content_brief(keyword, country="us", count=12, model, language): combines keyword difficulty, SERP rows, AI search queries, and recommended content angles.
Architecture
server.py is intentionally thin. The implementation is split into:
services.py: MCP 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/OpenAI-compatible query generation.cache.py: JSON signature cache under~/.cache/dataseo-mcpby default.
All external HTTP boundaries are 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 |
CAPTCHA solving failed | Check provider balance, key validity, and rate limits |
AI tool returns missing key error | Set |
Empty SEO response | Domain or keyword may not be indexed by the upstream source |
Old command no longer documented | Use |
License
MIT with educational-use notice. Original fork attribution is preserved in LICENSE.
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/egebese/dataseo-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server