egebese/dataseo-mcp
GitHub: egebese/dataseo-mcp
基于 MCP 协议的免费 SEO 研究工具,将 Ahrefs 数据直接集成到 AI 编程环境中,支持关键词研究、反向链接分析和内容简报生成等功能。
Stars: 175 | Forks: 26
# DataSEO MCP
DataSEO MCP 是一个用于 AI 助手中实用 SEO 研究的模型上下文协议服务器。它整合了 Ahrefs 的免费 SEO 数据、CAPTCHA 服务提供商备用方案,以及可选的基于 OpenRouter 的查询规划,封装在少量 MCP 工具中。
## 功能
| 工具 | 用途 | 提示词示例 |
| --- | --- | --- |
| `get_backlinks_list` | 反向链接概览及顶级反向链接行 | "Show backlinks for suparank.io" |
| `keyword_generator` | 关键词和问题想法 | "Find SaaS SEO keywords for onboarding" |
| `get_traffic` | 自然流量估算 | "Estimate traffic for ege.md" |
| `keyword_difficulty` | KD 和 SERP 快照 | "Check difficulty for AI SEO tools" |
| `ai_search_queries` | 按搜索意图分类的 AI 查询建议 | "Generate AI search queries for SaaS SEO" |
| `domain_overview` | 单个域名的反向链接 + 流量摘要 | "Summarize suparank.io" |
| `compare_domains` | 比较 2-5 个域名 | "Compare suparank.io and ahrefs.com" |
| `backlink_opportunities` | 竞争对手反向链接来源缺口 | "Find backlink gaps for my domain" |
| `seo_content_brief` | SERP + AI 辅助的内容简报 | "Create a content brief for AI SEO audit" |
DataSEO MCP 由 [Ege Bese](https://ege.md) 维护。有关 AI SEO 和排名跟踪工作流,请参阅 [Suparank](https://suparank.io)。
## 安装
```
uvx --python 3.10 dataseo-mcp
```
用于本地开发:
```
git clone https://github.com/egebese/dataseo-mcp.git
cd dataseo-mcp
uv sync
uv run dataseo-mcp
```
旧的 `seo-mcp` 命令仍作为兼容性别名暴露。
## 配置
基于 Ahrefs 的工具至少需要一个 CAPTCHA 提供商:
```
export CAPSOLVER_API_KEY="your-capsolver-key"
# 或
export ANTICAPTCHA_API_KEY="your-anticaptcha-key"
```
如果两者都已配置,将首先尝试 CapSolver,并将 Anti-Captcha 用作备用方案。AI 工具是可选的:
```
export OPENROUTER_API_KEY="your-openrouter-key"
export OPENROUTER_MODEL="openai/gpt-4o-mini" # optional
```
有用的运行时覆盖配置:
| 变量 | 默认值 | 用途 |
| --- | --- | --- |
| `DATASEO_CACHE_DIR` | `~/.cache/dataseo-mcp` | 签名缓存位置 |
| `DATASEO_REQUEST_TIMEOUT` | `30` | HTTP 超时时间(秒) |
| `DATASEO_MAX_POLLING_ATTEMPTS` | `120` | CAPTCHA 轮询上限 |
| `OPENROUTER_BASE_URL` | `https://openrouter.ai/api/v1` | 兼容 OpenAI 的 AI 端点 |
## MCP 设置
Claude Desktop / Cursor 风格的配置:
```
{
"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-mcp
```
VS Code MCP 配置:
```
{
"servers": {
"dataseo": {
"command": "uvx",
"args": ["--python", "3.10", "dataseo-mcp"],
"env": {
"CAPSOLVER_API_KEY": "YOUR_CAPSOLVER_KEY"
}
}
}
}
```
只需要一个 CAPTCHA 提供商密钥。仅当您需要 AI 辅助的查询生成或内容简报时才添加 `OPENROUTER_API_KEY`。
## API 参考
### `get_backlinks_list(domain)`
返回值:
```
{
"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")`
以现有的 `label` / `value` 结构返回关键词和问题想法。
### `get_traffic(domain_or_url, country="None", mode="subdomains")`
返回流量历史记录、流量摘要、热门页面、国家和关键词。旧的 `costMontlyAvg` 字段被保留,同时还包括了 `costMonthlyAvg`。
### `keyword_difficulty(keyword, country="us")`
返回关键词难度得分以及带有可用指标的自然 SERP 行。
### `ai_search_queries(keyword, count=10, model="openai/gpt-4o-mini", language="en")`
返回去重后的 AI 生成查询:
```
{
"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` 的有效验证范围为 1 到 50。有效的意图包括 `informational`、`commercial`、`transactional` 和 `navigational`。
### 其他工具
- `domain_overview(domain, country="None")`:单个域名的反向链接概览及流量摘要。
- `compare_domains(domains, country="None")`:比较 2-5 个不重复的域名。
- `backlink_opportunities(domain, competitors)`:列出目标样本中不存在的竞争对手反向链接来源。
- `seo_content_brief(keyword, country="us", count=12, model, language)`:结合关键词难度、SERP 行、AI 搜索查询和建议的内容角度。
## 架构
`server.py` 被有意保持精简。实现被拆分为:
- `services.py`:MCP 工具编排和公共返回结构。
- `schemas.py`:Pydantic 验证和规范化。
- `captcha.py`:CapSolver / Anti-Captcha 备用方案与有界轮询。
- `backlinks.py`、`keywords.py`、`traffic.py`:Ahrefs 端点适配器。
- `ai.py`:兼容 OpenRouter/OpenAI 的查询生成。
- `cache.py`:默认位于 `~/.cache/dataseo-mcp` 下的 JSON 签名缓存。
测试中模拟了所有外部 HTTP 边界。
## 开发
```
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"
```
## 故障排除
| 问题 | 解决方案 |
| --- | --- |
| 未配置 CAPTCHA 提供商 | 设置 `CAPSOLVER_API_KEY` 或 `ANTICAPTCHA_API_KEY` |
| CAPTCHA 解析失败 | 检查提供商余额、密钥有效性和速率限制 |
| AI 工具返回缺少密钥错误 | 设置 `OPENROUTER_API_KEY` |
| SEO 响应为空 | 域名或关键词可能未被上游源索引 |
| 旧命令不再记录在案 | 使用 `dataseo-mcp`;`seo-mcp` 仍可用作别名 |
## 许可证
附带教育用途声明的 MIT 许可证。原始 fork 的归属保留在 [LICENSE](LICENSE) 中。
标签:Ahrefs, AI编程助手, CAPTCHA绕过, DLL 劫持, MCP, OpenRouter, Python, SEO工具, SEO数据挖掘, uv, 关键词研究, 内容生成, 反向链接分析, 域名对比, 大语言模型, 开源, 技术栈, 搜索引擎优化, 无后门, 模型上下文协议, 流量估算, 竞争分析, 逆向工具