🚀 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