mcpField
S
serpdata

serpdata

ローカル
github.com/CloudCorpRecords検索03 日前に更新

serpdata について

serpdataは、HasData Google Search MCPサーバーにつなぐローカルブリッジで、Google検索データをJSONで返します。通常検索、ニュース、ショッピング、ショート動画のほか、AI OverviewとAI Modeにも対応します。

主な機能

  1. 01通常・軽量検索結果の取得
  2. 02AI OverviewとAI Modeの取得
  3. 03Google Newsの検索
  4. 04商品情報と詳細の照会
  5. 05イベントとショート動画の取得

活用シーン

  1. 01調査にGoogle検索結果を利用
  2. 02トピックや検索語からニュースを探す
  3. 03商品、仕様、レビューを調べる
  4. 04イベントやショート動画を取得

MCP 対応

HasData Google SearchのツールをMCPサーバーとして公開し、呼び出しを上流サービスへ転送します。公開Google検索結果の読み取り専用で、書き込みや購入の操作はありません。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-serpdata": {
"command": "npx",
"args": [
"-y",
"@reneturcios/serpdata"
]
}
}
}
起動コマンドnpx -y @reneturcios/serpdata

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@reneturcios/serpdata0.1.0
ocighcr.io/cloudcorprecords/serpdata:0.1.0

ツール

10

掲載時のツール一覧 · 2 日前に更新

パラメーター型必須説明
qstringはいSERP をスクレイピングする検索語句を指定します。
glstringいいえ検索対象を限定する国の 2 文字の国コードです。ドキュメントに記載された値を正確に 1 つ指定してください(245 種類に対応)。例:`ac`、`af`。
hlstringいいえ検索に使用する言語の 2 文字コードです。ドキュメントに記載された値(159 種類)のいずれかを正確に指定してください。例:`af`、`ak`。
uulestringいいえエンコードされた地域パラメーターです。
locationstringいいえ検索に使用する Google の正式な地域名です。
continuablebooleanいいえ既存の AI Mode の会話を続行するかどうか。
subsequentRequestTokenstringいいえ以前の AI Mode リクエストを続行するためのトークン。

詳細

serpdata

serpdata は、ホスト型の HasData Google Search MCP サーバーへの小規模なローカルブリッジです。Google 検索 データを JSON として返します。クエリを渡すと、 オーガニック検索結果、広告、ナレッジグラフ、 他のユーザーも質問(People Also Ask)、AI Overview のフックを含む 完全な SERP、またはより低コストな 軽量レイアウトを取得できます。レスポンスで返されたトークンを使って続けると、 AI Overview ブロック、イベントの 詳細、または商品のイマーシブなポップアップを取得します。ニュース、 ショッピング、ショート動画、単一商品の検索には、 それぞれ専用のツールがあります。

このブリッジは検索データを保持しません。ライブエンドポイントから 取得したままの上流サーバーのツール一覧をローカルで提供し、 各ツール呼び出しを上流に転送して、結果を変更せずに返します。 取得できる情報は読み取り専用です。各ツールは 公開されている Google の検索結果ページを取得します。書き込み、 購入、チェックアウト、メッセージ送信、支払いを行うツールはありません。

ツール

  • hasdata_google_serp_serp_getSearchResults — Google の完全な SERP。必須:q。省略可能な場所の 指定項目(location、uule、domain、gl、hl、 lr)、場所/ナレッジグラフ ID、tbs による期間と 並べ替えのフィルター、tbm による検索カテゴリ、deviceType、 およびページ指定の start/num。
  • hasdata_google_serp_serp_light_getSearchResults — JavaScript を使わない軽量な SERP レイアウトです。高速で、オーガニック 検索結果に加え、AI Overview、回答ボックス、ナレッジグラフを返します。必須:q。
  • hasdata_google_serp_ai_overview_getAiOverviewResponse — 遅延読み込みされる AI Overview ブロックです。必須: pageToken(SERP レスポンスから取得。1 分間有効)。
  • hasdata_google_serp_ai_mode_getAiModeResponse — Gemini を活用した AI Mode の回答です。複数ターンの会話を 継続することもできます。必須:q。
  • hasdata_google_serp_news_getGoogleNews — クエリ、またはトピック/セクション/出版物/記事の トークンを指定して Google ニュースを取得します。必須項目はありません。
  • hasdata_google_serp_shopping_getSearchResults — クエリに対する Google ショッピングの商品一覧です。必須:q。
  • hasdata_google_serp_product_getProductInformation — Google ショッピングから1つの商品について、販売情報、仕様、 またはレビューを取得します。必須:productId。
  • hasdata_google_serp_immersive_product_getImmersive_e29f691177 — ショッピングのイマーシブな商品ポップアップを展開します (名前の接尾辞は上流で生成され、そのまま提供されます)。必須:pageToken。
  • hasdata_google_serp_events_getEventInformation — SERP のイベント検索結果にある1件のイベントの 詳細情報を取得します。必須:pageToken。
  • hasdata_google_serp_short_videos_getShortVideosSearchResults — クエリに対するショート動画のカルーセル(TikTok、Shorts、Reels) を取得します。必須:q。

設定

  • HASDATA_GOOGLE_SEARCH_MCP_URL(省略可能)— 上流エンドポイントを上書きします。デフォルトは https://mcp.hasdata.com/mcp?apis=google_serp です。 (上書き用のフックは、この再構築独自のラベル付き 再現機能です。)
  • HASDATA_API_KEY(省略可能)— 設定すると、すべての 上流リクエストに、呼び出し元自身の HasData API キーを含む x-api-key: <key> ヘッダーが付与されます。未設定の場合、 キーのヘッダーは送信されません。(ヘッダー名と環境変数名は、元の レジストリ記録に基づいています。この環境変数からキーを 転送する機能は、ラベル付きの再現機能です。元の 仕様はキーなしで取得されています。)
転送の仕組み

最初のツール呼び出し時に、クライアントはアップストリームとのストリーミング可能な HTTP セッションを開きます。まず JSON-RPC の initialize リクエスト(protocolVersion 2025-03-26、 clientInfo name serpdata)を送り、次に notifications/initialized 通知を送り、その後、呼び出し元の引数を 変更せずに含む tools/call リクエストを送ります。アップストリームが initialize に Mcp-Session-Id ヘッダーを付けて応答すると、その値は セッション内の後続のすべてのリクエストに付加され、プロセスが存続する間 再利用されます。応答は通常の JSON またはサーバー送信イベントとして届く場合があり、どちらも読み取られます。

アップストリームからの成功した結果は、アップストリームが設定した isError フラグも含め、そのまま受け渡されます。 JSON-RPC エラー、2xx 以外のステータス、読み取れない応答、 または完了できないリクエストなどの失敗は、テキストが serpdata error: で始まる isError 結果として返されます (この表現は、この再構築版独自のラベル付き表記です)。

CLI

各ツールは、1 つの JSON 引数文字列を受け取るサブコマンドでもあります。

npx @reneturcios/serpdata hasdata_google_serp_serp_getSearchResults '{"q":"HasData CEO","gl":"us"}'
npx @reneturcios/serpdata hasdata_google_serp_news_getGoogleNews '{"q":"open source MCP"}'
npx @reneturcios/serpdata hasdata_google_serp_product_getProductInformation '{"productId":"1234567890","searchType":"offers"}'
npx @reneturcios/serpdata --version

終了コード:成功時は 0、isError の結果時は 1、使用法エラー時は 2 です。

MCP サーバー

npx -y @reneturcios/serpdata mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "serpdata": {
      "command": "npx",
      "args": ["-y", "@reneturcios/serpdata", "mcp"]
    }
  }
}

Docker

docker run -i ghcr.io/cloudcorprecords/serpdata
docker run --rm ghcr.io/cloudcorprecords/serpdata --version

コンテナのデフォルトコマンドは mcp です。そのため、最初の形式は stdio MCP サーバーとして動作し、それ以外の引数は通常どおり CLI に渡されます。

開発

npm install
npm run build
npm test
npm run dev

テストスイートはすべて、スタブ化された JSON-RPC アップストリームに対して実行されます。実際のネットワーク呼び出しはありません。

ライセンス

MIT — LICENSE を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。