mcpField
T
trenddata

trenddata

ローカル
github.com/CloudCorpRecordsデータ・分析03 日前に更新

trenddata について

trenddata は、Google Trends のデータを JSON で取得するローカルブリッジです。検索関心を調べる分析担当者やアプリ向けで、HasData のホスト型 MCP サーバーへリクエストを転送し、CLI と stdio MCP にも対応します。

主な機能

  1. 01時系列・地域別の関心度取得
  2. 02関連トピックと検索語の取得
  3. 03地域・期間・カテゴリによる絞り込み
  4. 04Googleプロパティとタイムゾーンの選択
  5. 05CLI と stdio MCP モード

活用シーン

  1. 01地域間の検索関心度の比較
  2. 02指定期間における語句の追跡
  3. 03トピックに関連する検索語の調査

MCP 対応

ローカル MCP サーバーとしてGoogle Trendsのデータ取得ツールをMCPクライアントに公開し、呼び出しをHasDataのホスト型MCPサーバーへ転送します。同じツールはCLIからも利用できます。

設定

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

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

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

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

ツール

1

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

パラメーター型必須説明
qstringはいトレンドデータを取得する検索語を指定します。
tznumberいいえ分単位のタイムゾーンオフセットを定義します。デフォルト値は 420(太平洋夏時間(PDT):UTC-7)です。このパラメーターの有効範囲は -1439 ~ 1439 です。 特定のタイムゾーンの `tz` 値を計算するには、UTC +0 と対象のタイムゾーンとの時差を使用します。 例: - `420`:太平洋夏時間(PDT) - `60`:中央ヨーロッパ時間(CET) - `-540`:日本標準時
catstringいいえ検索語のカテゴリです。デフォルト値は 0("All categories")です。ドキュメントに記載された値を正確に 1 つ指定してください(1133 個が使用可能)。例:`0`、`3`。
geostringいいえ検索対象の場所を指定します。未設定または空の場合は Worldwide がデフォルトです。ドキュメントに記載された値を正確に 1 つ指定してください(3517 個が使用可能)。例:`AF`、`AF-BDS`。
datestringいいえ検索の日付範囲を定義します。使用可能なオプション: - `now 1-H`:過去 1 時間 - `now 4-H`:過去 4 時間 - `now 1-d`:過去 1 日 - `now 7-d`:過去 7 日間 - `today 1-m`:過去 30 日間 - `today 3-m`:過去 90 日間 - `today 12-m`:過去 12 か月間 - `today 5-y`:過去 5 年間 - `all`:2004 年から現在まで 次のいずれかの形式でカスタムの日付範囲を指定することもできます: - `yyyy-mm-dd yyyy-mm-dd` -(例:2021-10-15 2022-05-25)、2004 年から現在までの日付に使用します。 - `yyyy-mm-ddThh yyyy-mm-ddThh` -(例:2022-05-19T10 2022-05-24T22)、1 週間の範囲内で時刻を含む日付に使用します。時刻は tz(タイムゾーン)パラメーターに基づいて計算されます。
gpropenumいいえ特定のプロパティで結果を並べ替えます。デフォルトのプロパティは Web Search です(`gprop` パラメーターが未設定または空の場合に適用されます)。 使用可能なオプション: - `images`:画像検索 - `news`:ニュース検索 - `froogle`:Google Shopping - `youtube`:YouTube 検索images | news | froogle | youtube
regionenumいいえ「Interest by region」データタイプで、より詳細な結果を取得するために使用します。他のデータタイプではこのパラメータを指定できません。デフォルト値は設定された geo の場所によって異なります。 選択肢: - `country`:国 - `region`:下位地域 - `dma`:都市圏 - `city`:市区町村 注:すべての geo の場所で、すべての地域オプションの結果が返されるわけではありません。country | region | dma | city
dataTypeenumいいえ実行する検索のタイプを定義します。 選択肢: - `timeseries`:関心度の推移(デフォルト)。1 回の検索で単一または複数のクエリを指定できます。 - `geoMap`:地域別の関心度。1 回の検索で単一または複数のクエリを指定できます。 - `relatedTopics`:関連トピック。1 回の検索につき単一のクエリのみ指定できます。 - `relatedQueries`:関連クエリ。1 回の検索につき単一のクエリのみ指定できます。timeseries | geoMap | relatedTopics | relatedQueries

詳細

trenddata

trenddata は、Google Trends のデータを JSON として返す、ホスト型 HasData Google Trends MCP サーバーへの小規模なローカルブリッジです。1 つ以上の検索語を渡すと、 それらの語について、時間の経過に伴う関心度、地域別の関心度、関連トピック、関連クエリを 取得します。検索対象は、地域、地域の粒度(国、地方、都市圏、または市区町村)、期間、 カテゴリ、タイムゾーンのオフセット、Google プロパティ(デフォルトはウェブ検索。画像、 ニュース、ショッピング、または YouTube も指定可能)で絞り込めます。

このブリッジは、独自のトレンドデータを保存しません。稼働中のエンドポイントから取得した とおりに、上流サーバーのツール一覧をローカルで提供し、各ツール呼び出しを上流に転送して、 結果を変更せずに返します。取得されたインターフェースは読み取り専用のフェッチ機能 1 つだけで、 書き込み、メッセージング、決済のツールは含まれていません。

ツール

  • hasdata_google_trends_search_getTrendsData — クエリに対する Google Trends データを取得します。必須:q(検索語)。省略可能:geo(地域コード。未設定または空の場合は全世界)、region(country / region / dma / city。地域別関心度のデータタイプで使用)、dataType(timeseries / geoMap / relatedTopics / relatedQueries)、tz(分単位のタイムゾーンオフセット。デフォルトは 420)、cat(カテゴリコード。すべてのカテゴリを表すデフォルト値は 0)、gprop(images / news / froogle / youtube。未設定の場合はウェブ検索)、date(today 12-m や all などの名前付き期間、または yyyy-mm-dd yyyy-mm-dd 形式のカスタム期間)。時間経過に伴う関心度の系列、地域レベルの内訳、スコアを相対値で示した上昇中および人気の関連トピックとクエリを返します。

設定

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

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

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

CLI

このツールは、JSON 引数文字列を 1 つ受け取るサブコマンドとしても実行できます。

npx @reneturcios/trenddata hasdata_google_trends_search_getTrendsData '{"q":"electric vehicles","geo":"US","dataType":"timeseries","date":"today 12-m"}'
npx @reneturcios/trenddata --version

終了コード:成功時は 0、isError 結果の場合は 1、使用方法に誤りがある場合は 2 です。

MCP サーバー

npx -y @reneturcios/trenddata mcp

MCP クライアントの設定:

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

Docker

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

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

開発

npm install
npm run build
npm test
npm run dev

テストスイートはすべて、スタブ化された JSON-RPC 上流サーバーに対して実行されます。稼働中のネットワークへの呼び出しはありません。

ライセンス

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

コメント

MCP は初めてですか?

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

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