SerpApi MCP
官方SerpApi MCP 服务器,用于获取谷歌及其他搜索引擎的结果
你可以用 SerpApi MCP 做什么?
- 跨多个搜索引擎搜索 — 通过设置
params.engine,使用search工具在 Google、Bing、Yahoo、DuckDuckGo、YouTube、eBay 等多个引擎上执行单一查询。 - 获取实时天气和股票数据 — 使用自然语言查询(如“weather in London”或“AAPL stock”)按位置询问当前天气或公司财务数据。
- 获取简洁或完整的 JSON 结果 — 使用
mode参数控制响应大小,以获取完整详情或精简摘要。 - 以交互式表格或仪表盘形式查看结果 — 使用
search_table或search_dashboard在支持 MCP 的主机中将搜索结果呈现为可排序的 UI。 - 发现可用的引擎及其参数 — 通过 MCP 资源
serpapi://engines和serpapi://engines/<engine>访问每个引擎的参数模式。
文档
SerpApi MCP 服务器
一个模型上下文协议 (MCP) 服务器实现,集成 SerpApi,用于全面的搜索引擎结果和数据提取。
功能特性
- 多引擎搜索:Google、Bing、Yahoo、DuckDuckGo、YouTube、eBay 及更多
- 引擎资源:通过 MCP 资源提供每个引擎的参数模式(参见搜索工具)
- 实时天气数据:通过搜索查询获取基于位置的天气预报
- 股票市场数据:通过搜索集成获取公司财务和市场数据
- 动态结果处理:自动检测并格式化不同的结果类型
- 灵活的响应模式:完整或紧凑的 JSON 响应
- JSON 响应:结构化 JSON 输出,支持完整或紧凑模式
- 交互式 UI(MCP 应用):可选的
search_table和search_dashboard工具,在支持的主机中将结果渲染为交互式 UI
快速开始
SerpApi MCP 服务器作为托管服务提供,地址为 mcp.serpapi.com。要连接它,您需要提供一个 API 密钥。您可以在 SerpApi 仪表板 上找到您的 API 密钥。
您可以配置 Claude Desktop 使用托管服务器:
{
"mcpServers": {
"serpapi": {
"type": "http",
"url": "https://mcp.serpapi.com/YOUR_SERPAPI_API_KEY/mcp"
}
}
}
您还可以将托管服务器添加到以下 MCP 客户端:
OpenClaw
openclaw mcp add serpapi --url https://mcp.serpapi.com/YOUR_SERPAPI_API_KEY/mcp --transport streamable-http
Claude Code
claude mcp add --transport http serpapi https://mcp.serpapi.com/YOUR_SERPAPI_API_KEY/mcp
Hermes
hermes mcp add serpapi --url https://mcp.serpapi.com/YOUR_SERPAPI_API_KEY/mcp
Codex
codex mcp add serpapi --url https://mcp.serpapi.com/YOUR_SERPAPI_API_KEY/mcp
自托管
git clone https://github.com/serpapi/serpapi-mcp.git
cd serpapi-mcp
uv sync && uv run src/server.py
配置 Claude Desktop:
{
"mcpServers": {
"serpapi": {
"type": "http",
"url": "http://localhost:8000/YOUR_SERPAPI_API_KEY/mcp"
}
}
}
获取您的 API 密钥:serpapi.com/manage-api-key
身份验证
支持两种方法:
- 基于路径:
/YOUR_API_KEY/mcp(推荐) - 基于请求头:
Authorization: Bearer YOUR_API_KEY
示例:
# Path-based
curl "https://mcp.serpapi.com/your_key/mcp" -d '...'
# Header-based
curl "https://mcp.serpapi.com/mcp" -H "Authorization: Bearer your_key" -d '...'
搜索工具
MCP 服务器有一个主要的搜索工具,支持所有 SerpApi 引擎和结果类型。您可以在 SerpApi API 参考 上找到所有可用参数。
引擎参数模式也作为 MCP 资源公开:serpapi://engines(索引)和 serpapi://engines/<engine>。
您可以提供的参数特定于每个 API 引擎。以下是一些示例参数:
params.q(必需):搜索查询params.engine:搜索引擎(默认:"google_light")params.location:地理过滤器mode:响应模式 - "complete"(默认)或 "compact"- ...其他参数请参见 SerpApi API 参考
示例:
{"name": "search", "arguments": {"params": {"q": "coffee shops", "location": "Austin, TX"}}}
{"name": "search", "arguments": {"params": {"q": "weather in London"}}}
{"name": "search", "arguments": {"params": {"q": "AAPL stock"}}}
{"name": "search", "arguments": {"params": {"q": "news"}, "mode": "compact"}}
{"name": "search", "arguments": {"params": {"q": "detailed search"}, "mode": "complete"}}
支持的引擎: Google、Bing、Yahoo、DuckDuckGo、YouTube、eBay 等(参见 serpapi://engines)。
结果类型: 答案框、自然搜索结果、新闻、图片、购物 - 自动检测并格式化。
交互式 UI(MCP 应用)
默认的 search 工具返回 JSON 且保持不变。对于支持 MCP Apps 扩展(SEP-1865)的主机,有两个可选工具可将结果渲染为对话中的交互式 UI,因此大量的 SERP JSON 不会进入模型的上下文窗口:
search_table:将自然搜索结果展示为可排序、可搜索的表格。search_dashboard:摘要指标、来源细分图表以及带有点击展开详情面板的结果表格。
两者接受与 search 相同的 params。不支持 MCP Apps 的主机将直接忽略这些工具。
无需 MCP 主机即可在本地预览:
uv run fastmcp dev apps src/server.py
开发
# Local development
uv sync && uv run src/server.py
# Docker
docker build -t serpapi-mcp . && docker run -p 8000:8000 serpapi-mcp
# Regenerate engine resources (Playground scrape)
python build-engines.py
# Testing with MCP Inspector
npx @modelcontextprotocol/inspector
# Configure: URL mcp.serpapi.com/YOUR_KEY/mcp, Transport "Streamable HTTP transport"
故障排除
- "缺少 API 密钥":在 URL 路径
/{YOUR_KEY}/mcp或请求头Bearer YOUR_KEY中包含密钥 - "无效密钥":在 serpapi.com/dashboard 验证
- "超出速率限制":等待或升级您的 SerpApi 计划
- "无结果":尝试不同的查询或引擎
贡献
- Fork 仓库
- 创建您的功能分支:
git checkout -b feature/amazing-feature - 安装依赖:
uv install - 进行更改
- 提交更改:
git commit -m 'Add amazing feature' - 推送到分支:
git push origin feature/amazing-feature - 打开 Pull Request
许可证
MIT 许可证 - 详情请参见 LICENSE 文件。