SerpApi MCP Server

官方

SerpApi MCP Server 用

文件

SerpApi MCP 伺服器

一個模型上下文協定 (MCP) 伺服器實作,整合 SerpApi 以提供全面的搜尋引擎結果與資料擷取。

Python 3.13+ MIT License Install in VS Code Install in Cursor

功能特色

  • 多引擎搜尋:Google、Bing、Yahoo、DuckDuckGo、YouTube、eBay 以及更多
  • 引擎資源:可透過 MCP 資源取得各引擎的參數結構描述(請參閱搜尋工具)
  • 即時天氣資料:透過搜尋查詢取得基於位置的天氣預報
  • 股票市場資料:透過搜尋整合取得公司財務與市場資料
  • 動態結果處理:自動偵測並格式化不同的結果類型
  • 靈活的回應模式:完整或精簡的 JSON 回應
  • JSON 回應:結構化的 JSON 輸出,支援完整或精簡模式
  • 互動式 UI (MCP 應用程式):可選用的 search_tablesearch_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 方案
  • 「無結果」:請嘗試不同的查詢或引擎

貢獻

  1. Fork 此儲存庫
  2. 建立您的功能分支:git checkout -b feature/amazing-feature
  3. 安裝相依套件:uv install
  4. 進行您的變更
  5. 提交變更:git commit -m 'Add amazing feature'
  6. 推送至分支:git push origin feature/amazing-feature
  7. 開啟 Pull Request

授權

MIT 授權 - 詳情請參閱 LICENSE 檔案。