🚀 FetchSERP MCP 服务器
FetchSERP MCP 服务器是一个基于模型上下文协议(MCP)的服务器,它开放了 FetchSERP API,可用于搜索引擎优化(SEO)、搜索引擎结果页面(SERP)分析、网页抓取以及关键词研究。
🚀 快速开始
本 MCP 服务器无需安装,可直接通过 GitHub 使用 npx
运行。你需要先获取 FetchSERP API 令牌,步骤如下:
- 访问 https://www.fetchserp.com 进行注册。
- 新用户将自动获得 250 个免费积分用于启动使用。
- 注册成功后,你的 API 令牌将显示在仪表板中。
将令牌设置为环境变量:
export FETCHSERP_API_TOKEN="your_token_here"
✨ 主要特性
本 MCP 服务器提供对所有 FetchSERP API 端点的访问,涵盖以下功能:
SEO 与分析
- 域名分析:获取反向链接、域名信息(包括 DNS、WHOIS、SSL、技术栈等)。
- 关键词研究:获取关键词搜索量、关键词建议以及生成长尾关键词。
- SEO 分析:对网页进行全面的 SEO 分析。
- AI 分析:借助自定义提示,通过 AI 对网页进行分析。
- Moz 集成:获取域名权威度和 Moz 指标。
SERP 与搜索
- 搜索结果:从 Google、Bing、Yahoo、DuckDuckGo 等搜索引擎获取 SERP 结果。
- AI 概述:获取 Google 的 AI 概述,并支持 JavaScript 渲染。
- 增强结果:获取包含 HTML 或文本内容的 SERP 结果。
- 排名检查:检查特定关键词下域名的排名。
- 索引检查:验证页面是否被搜索引擎索引。
网页抓取
- 基本抓取:在不执行 JavaScript 的情况下抓取网页。
- JS 抓取:在页面上执行自定义 JavaScript 代码进行抓取。
- 代理抓取:使用特定国家的代理进行网页抓取。
- 域名抓取:从一个域名中抓取多个页面。
用户管理
📦 安装指南
无需安装! 此 MCP 服务器可直接通过 GitHub 使用 npx
运行。
💻 使用示例
传输模式
本 MCP 服务器支持两种传输模式:
- npx 模式(选项 1):
- ✅ 无需安装
- ✅ 始终从 GitHub 获取最新版本
- ✅ 适合个人用户
- ✅ 可在本地与 Claude Desktop 一起运行
- HTTP 模式(选项 2):
- ✅ 支持远程部署
- ✅ 允许多个客户端连接
- ✅ 更适合企业或团队环境
- ✅ 支持集中式服务器管理
- ✅ 使用单个 API 密钥进行身份验证(FetchSERP 令牌)
- ✅ 架构可扩展
配置
选项 1:使用 npx(本地/远程 GitHub)
将此服务器添加到你的 MCP 客户端配置中。例如,在使用 GitHub 注册表的 Claude Desktop 中:
{
"mcpServers": {
"fetchserp": {
"command": "npx",
"args": [
"github:fetchSERP/fetchserp-mcp-server-node"
],
"env": {
"FETCHSERP_API_TOKEN": "your_fetchserp_api_token_here"
}
}
}
}
或者使用 npm 注册表:
{
"mcpServers": {
"fetchserp": {
"command": "npx",
"args": ["fetchserp-mcp-server"],
"env": {
"FETCHSERP_API_TOKEN": "your_fetchserp_api_token_here"
}
}
}
}
选项 2:使用 Claude API 与 MCP 服务器
若要通过 Claude 的 API 以编程方式使用已部署的 MCP 服务器:
const claudeRequest = {
model: "claude-sonnet-4-20250514",
max_tokens: 1024,
messages: [
{
role: "user",
content: question
}
],
mcp_servers: [
{
type: "url",
url: "https://mcp.fetchserp.com/sse",
name: "fetchserp",
authorization_token: FETCHSERP_API_TOKEN,
tool_configuration: {
enabled: true
}
}
]
};
const response = await httpRequest('https://api.anthropic.com/v1/messages', {
method: 'POST',
headers: {
'x-api-key': CLAUDE_API_KEY,
'anthropic-version': '2023-06-01',
'anthropic-beta': 'mcp-client-2025-04-04',
'content-type': 'application/json'
}
}, JSON.stringify(claudeRequest));
选项 3:使用 OpenAI API 与 MCP 服务器
若要通过 OpenAI 的 API 以编程方式使用已部署的 MCP 服务器:
const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
const res = await openai.responses.create({
model: "gpt-4.1",
tools: [
{
type: "mcp",
server_label: "fetchserp",
server_url: "https://mcp.fetchserp.com/sse",
headers: {
Authorization: `Bearer ${FETCHSERP_API_TOKEN}`
}
}
],
input: question
});
console.log(res.choices[0].message);
选项 4:使用 Docker
使用来自 GitHub Container Registry 的预构建 Docker 镜像进行容器化部署:
{
"mcpServers": {
"fetchserp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"FETCHSERP_API_TOKEN",
"ghcr.io/fetchserp/fetchserp-mcp-server-node:latest"
],
"env": {
"FETCHSERP_API_TOKEN": "your_fetchserp_api_token_here"
}
}
}
}
Docker 特性:
- ✅ 容器化部署
- ✅ 跨平台兼容(ARM64 和 AMD64)
- ✅ 隔离环境
- ✅ 易于扩展和部署
- ✅ 支持从 GitHub 自动构建
手动使用 Docker:
docker pull ghcr.io/fetchserp/fetchserp-mcp-server-node:latest
docker run -i --rm \
-e FETCHSERP_API_TOKEN="your_token_here" \
ghcr.io/fetchserp/fetchserp-mcp-server-node:latest
docker run -p 8000:8000 \
-e FETCHSERP_API_TOKEN="your_token_here" \
-e MCP_HTTP_MODE=true \
ghcr.io/fetchserp/fetchserp-mcp-server-node:latest
📚 详细文档
可用工具
域名与 SEO 分析
get_backlinks
:获取域名的反向链接。
- domain(必填):目标域名
- search_engine:搜索引擎(可选,支持 google、bing、yahoo、duckduckgo,默认值为 google)
- country:国家代码(可选,默认值为 us)
- pages_number:搜索页数(范围为 1 - 30,默认值为 15)
get_domain_info
:获取全面的域名信息。
get_domain_emails
:从域名中提取电子邮件。
- domain(必填):目标域名
- search_engine:搜索引擎(可选,默认值为 google)
- country:国家代码(可选,默认值为 us)
- pages_number:搜索页数(范围为 1 - 30,默认值为 1)
get_playwright_mcp
:通过 Playwright MCP 服务器使用 GPT - 4.1 远程控制浏览器。
- prompt(必填):用于远程控制浏览器的提示信息
get_webpage_seo_analysis
:对网页进行全面的 SEO 分析。
get_webpage_ai_analysis
:通过 AI 对网页进行分析。
- url(必填):要分析的 URL
- prompt(必填):分析提示信息
get_moz_analysis
:获取 Moz 域名权威度和指标。
关键词研究
get_keywords_search_volume
:获取关键词的搜索量。
- keywords(必填):关键词数组
- country:国家代码(可选)
get_keywords_suggestions
:获取关键词建议。
- url:要分析的 URL(如果提供了关键词则可选)
- keywords:种子关键词数组(如果提供了 URL 则可选)
- country:国家代码(可选)
get_long_tail_keywords
:生成长尾关键词。
- keyword(必填):种子关键词
- search_intent:搜索意图(可选,支持 informational、commercial、transactional、navigational,默认值为 informational)
- count:生成的数量(范围为 1 - 500,默认值为 10)
SERP 与搜索
get_serp_results
:获取搜索引擎结果。
- query(必填):搜索查询
- search_engine:搜索引擎(可选,支持 google、bing、yahoo、duckduckgo,默认值为 google)
- country:国家代码(可选,默认值为 us)
- pages_number:搜索页数(范围为 1 - 30,默认值为 1)
get_serp_html
:获取包含 HTML 内容的 SERP 结果。参数与 get_serp_results
相同。
get_serp_text
:获取包含文本内容的 SERP 结果。参数与 get_serp_results
相同。
get_serp_ai_mode
:获取包含 AI 概述和 AI 模式响应的 SERP 结果。
- query(必填):搜索查询
- country:国家代码(可选,默认值为 us)
check_page_indexation
:检查域名是否针对某个关键词被索引。
- domain(必填):目标域名
- keyword(必填):搜索关键词
get_domain_ranking
:获取域名在某个关键词下的排名。
- keyword(必填):搜索关键词
- domain(必填):目标域名
- search_engine:搜索引擎(可选,默认值为 google)
- country:国家代码(可选,默认值为 us)
- pages_number:搜索页数(范围为 1 - 30,默认值为 10)
网页抓取
scrape_webpage
:在不执行 JavaScript 的情况下抓取网页。
scrape_domain
:从一个域名中抓取多个页面。
- domain(必填):目标域名
- max_pages:最大抓取页数(最多 200,默认值为 10)
scrape_webpage_js
:使用自定义 JavaScript 代码抓取网页。
- url(必填):要抓取的 URL
- js_script(必填):要执行的 JavaScript 代码
scrape_webpage_js_proxy
:使用 JavaScript 和代理抓取网页。
- url(必填):要抓取的 URL
- country(必填):代理国家
- js_script(必填):要执行的 JavaScript 代码
用户管理
get_user_info
:获取用户信息和 API 积分。无需参数。
API 令牌
你需要一个 FetchSERP API 令牌才能使用此服务器。获取 API 令牌的步骤如下:
- 访问 https://www.fetchserp.com 进行注册。
- 新用户将自动获得 250 个免费积分用于启动使用。
- 注册成功后,你的 API 令牌将显示在仪表板中。
将令牌设置为环境变量:
export FETCHSERP_API_TOKEN="your_token_here"
错误处理
服务器包含全面的错误处理机制:
- 验证 API 令牌是否缺失。
- 处理 API 响应错误。
- 验证输入。
- 提供正确的 MCP 错误响应。
Docker 部署
docker build --platform=linux/amd64 -t olivier86/fetchserp-mcp-server-node:latest --push .
docker build --platform=linux/amd64 -t ghcr.io/fetchserp/mcp-server-node:latest --push .
docker run -p 8000:8000 olivier86/fetchserp-mcp-server-node:latest
启动隧道
nohup ngrok http 8000 --domain guinea-dominant-jolly.ngrok-free.app > /var/log/ngrok.log 2>&1 &
npm 发布
npm login
npm publish --access public