SerpApi MCP

公式

SerpApi MCP サーバー:Googleおよびその他の検索エンジンの結果を取得するためのサーバー

SerpApi MCPで何ができますか?

  • 複数のエンジンを横断検索searchツールでparams.engineを設定することで、Google、Bing、Yahoo、DuckDuckGo、YouTube、eBayなどの複数のエンジンに対して1つのクエリを実行できます。
  • リアルタイムの天気と株価データを取得 — 「ロンドンの天気」や「AAPL株」のような自然なクエリを使って、場所別の現在の天気や企業の財務情報を尋ねることができます。
  • コンパクトまたは完全なJSON結果を取得modeパラメータで応答サイズを制御し、詳細な情報か簡潔なサマリーを取得できます。
  • 結果をインタラクティブなテーブルまたはダッシュボードとして表示search_tableまたはsearch_dashboardを使用して、対応するMCPホストで検索結果をソート可能なUIとしてレンダリングします。
  • 利用可能なエンジンとそのパラメータを発見 — MCPリソースserpapi://enginesおよびserpapi://engines/<engine>でエンジンごとのパラメータスキーマにアクセスできます。

ドキュメント

SerpApi MCP サーバー

SerpApi と統合し、包括的な検索エンジン結果とデータ抽出を実現する Model Context Protocol (MCP) サーバー実装です。

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

機能

  • マルチエンジン検索: Google、Bing、Yahoo、DuckDuckGo、YouTube、eBay、その他
  • エンジンリソース: MCP リソース経由でエンジンごとのパラメータスキーマを利用可能 (検索ツールを参照)
  • リアルタイム天気データ: 検索クエリによる位置情報ベースの天気予報
  • 株式市場データ: 検索統合による企業財務情報と市場データ
  • 動的な結果処理: 異なる結果タイプを自動検出してフォーマット
  • 柔軟なレスポンスモード: 完全またはコンパクトな JSON レスポンス
  • JSON レスポンス: 完全またはコンパクトモードの構造化 JSON 出力
  • インタラクティブ UI (MCP アプリ): 対応ホストで結果をインタラクティブ UI としてレンダリングするオプトインの search_table および search_dashboard ツール

クイックスタート

SerpApi MCP サーバーは mcp.serpapi.com でホスト型サービスとして利用可能です。接続するには API キーが必要です。API キーは SerpApi ダッシュボード で確認できます。

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

認証

2 つの方式をサポート:

  • パスベース: /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 エンジンと結果タイプをサポートする 1 つのメイン検索ツールがあります。利用可能なすべてのパラメータは 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) をサポートするホスト向けに、2 つのオプトインツールが結果を会話内で直接インタラクティブ 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"

トラブルシューティング

  • "Missing API key": URL パス /{YOUR_KEY}/mcp またはヘッダー Bearer YOUR_KEY にキーを含める
  • "Invalid key": serpapi.com/dashboard で確認
  • "Rate limit exceeded": 待機するか、SerpApi プランをアップグレード
  • "No results": 別のクエリまたはエンジンを試す

コントリビューション

  1. リポジトリをフォーク
  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. プルリクエストを作成

ライセンス

MIT ライセンス - 詳細は LICENSE ファイルを参照。