使用说明
MCP SERP刮刀服务器
通过以下方式获取Google SERP页面的MCP服务器 Serper.dev 并通过一个单一的 serp_search 工具。它源自hello world模板,但专为需要跨多个页面的结构化SERP数据的SEO代理量身定制。
快速入门
- 安装依赖项并创建虚拟环境:
uv sync - 复制环境模板并提供您的Serper API密钥:
cp .env.example .env # edit .env and set SERPER_API_KEY - 通过stdio运行服务器(与Claude Inspector配合使用):
scripts/dev-stdio.sh
HTTP传输仍然是一个存根;stdio是目前支持的路径。
工具概览
| 工具 | 说明 |
|---|---|
serp_search |
呼叫Serper /search 对于1-10页,返回每页的 searchParameters 加上标准化 organic 结果。 |
输入参数(Pydantic模式):
q(str,必填) --搜索查询(1-200个字符)pages(int,必填) --要获取的页数(1..10)location(str,可选) --默认为"United States"gl(str,可选) --谷歌国家代码,默认为"us"hl(str,可选) --界面语言,默认为"en"autocorrect(bool,可选) --Serper的传递标志(默认true)tbs(str,可选) --Serper新鲜度过滤器,如qdr:d
结构化响应:
{
"query": "apple inc",
"pages_requested": 2,
"pages_returned": 2,
"location": "United States",
"gl": "us",
"hl": "en",
"engine": "google",
"credits_total": 2,
"results": [
{
"page": 1,
"searchParameters": {"q": "apple inc", "page": 1, "location": "United States", "engine": "google", "gl": "us"},
"organic": [
{"title": "Apple", "link": "https://www.apple.com/", "snippet": "Explore ...", "position": 1},
{"title": "Apple - Wikipedia", "link": "https://en.wikipedia.org/wiki/Apple_Inc.", "snippet": "Apple Inc. is ...", "position": 2}
]
}
]
}
配置
环境变量(参见 .env.example):
MCP_SERVER_NAME,MCP_SERVER_VERSIONMCP_TRANSPORT(stdio或http)HTTP_PORTLOG_LEVELREQUEST_TIMEOUT_MSMAX_CONCURRENCYSERPER_API_KEY(必填)INTER_PAGE_DELAY_MS(可选,默认0)
SERPER_API_KEY 对每个Serper呼叫进行身份验证。 INTER_PAGE_DELAY_MS 如果需要遵守速率限制,可以在页面请求之间引入暂停。
环境优先级:由调用进程提供的环境变量(例如,Claude会话配置)始终获胜。服务器加载 .env 随着 override=False,所以 .env 仅填充缺失的变量,不能覆盖环境中已存在的密钥。
测试
uv run pytest
单元测试验证模式边界和工具的聚合逻辑(模拟Serper调用)。合约冒烟测试启动stdio服务器,列出工具和练习 serp_search.