gsc MCP サーバーを登録すると、画面と同じ蓄積データと同じ判定ルールで Claude Code が答えます。応答には期間・欠落リスク・行数・集計方法(meta)が必ず付きます。
前提: Python 3.10 以上と、MCP サーバー一式(gsc_mcp.py と requirements.txt)。依存パッケージを入れてから Claude Code に登録します。
pip install -r requirements.txt claude mcp add --scope user gsc -e PYTHONUTF8=1 -- python <path>\gsc_mcp.py
<path> は gsc_mcp.py を置いたフォルダに置き換えます。--scope user でユーザー全体に登録されるため、どのプロジェクトからでも使えます。-e PYTHONUTF8=1 は Windows で日本語クエリが文字化けしないための指定です。/mcp を実行して gsc が接続済みになっていれば完了です。MCP サーバーは蓄積 DB(読み取り専用)と Search Console API(サービスアカウント)に接続します。接続情報は運営(BizFun)からお渡しします。
「蓄積DB」は週次スナップショット(28日集計)、「ライブ」は Search Console API から直接取得(期間自由・最新)です。ライブは上限到達時に自動で期間分割します。
| ツール | データ源 | 主な引数 | 用途 |
|---|---|---|---|
gsc_sites | 蓄積DB | — | 登録済みサイトの一覧と最新スナップショットの概況(クリック・表示・順位・欠落リスク)。最初に呼ぶ。 |
gsc_top_queries | 蓄積DB | site, limit | 最新スナップショットのクリック上位クエリ。 |
gsc_top_pages | 蓄積DB | site, limit | 最新スナップショットのクリック上位ページ。 |
gsc_striking | 蓄積DB | site, limit | 惜しい順位(11〜20位・表示100以上)のクエリ。リライト候補。 |
gsc_low_ctr | 蓄積DB | site, limit | 高表示・低CTR(表示1,000以上・CTR1%未満)のページ。title 改善候補。 |
gsc_search_queries | 蓄積DB | site, keyword, limit | キーワードを含むクエリを最新スナップショットから部分一致で検索。 |
gsc_page_queries | ライブ | site, page, limit | 特定ページに流入しているクエリ。page は URL 全体でもパスの一部でもよい。 |
gsc_compare_queries | 蓄積DB | site, limit | 最新と1つ前のスナップショットでクエリ別クリックを比較。増減の大きい順。 |
gsc_query_trend | 蓄積DB | site, keyword, limit | クエリの期間横断集計(全スナップショット合算、順位は表示回数で重み付け)。 |
gsc_sql | 蓄積DB | sql, limit | 蓄積DBに読み取り専用 SQL(select / with のみ)。v_gsc_* ビューを使う。 |
gsc_live_totals | ライブ | site, days | 直近 days 日と、その直前の同じ長さの期間の合計(クリック・表示・CTR・順位)。 |
gsc_live_queries | ライブ | site, days, limit, order | 直近 days 日のクエリを GSC API から直接取得。上限到達時は自動で期間分割。 |
gsc_live_pages | ライブ | site, days, limit, order | 直近 days 日のページ別データを GSC API から直接取得。 |
gsc_live_page_queries | ライブ | site, page, days | 特定ページのクエリを GSC API から直接取得。http で始まれば完全一致、それ以外は部分一致。 |
gsc_live_sites | ライブ | — | サービスアカウントがアクセスできる Search Console プロパティの一覧。 |
gsc_page_brief | ライブ+DB | site, page, days, limit | 記事 URL の執筆ブリーフ。主戦場/伸ばす/惜しい/参考に分類し、施策の助言と DB 側の推移を添える。 |
gsc_action_queue | 蓄積DB | site, limit | 全サイト横断(site 指定時はそのサイトのみ)の施策候補。striking / low_ctr / drop / rise を同一形式で。 |
site は bulkfit24.com のようにホスト名で指定できます。判定の条件は 指標の定義 と同じです。
自然文で聞けば Claude Code がツールを選びます。ツール名を指定する必要はありません。
| こう聞く | 主に使われるツール |
|---|---|
| 「今週直す記事を全サイトから10件出して」 | gsc_action_queue |
| 「bulkfit24.com の惜しい順位のクエリを、狙い目スコア順に20件」 | gsc_striking |
| 「bizfun.co.jp の /blog/wordpress-speed/ に来ているクエリを見て、title に入れる語を提案して」 | gsc_page_brief |
| 「kekkon-db.bzf.jp で先週からクリックが減ったクエリは? 欠落リスクも一緒に」 | gsc_compare_queries |
| 「「結婚相談所 料金」を含むクエリの3ヶ月の推移」 | gsc_query_trend |
| 「gif-mon.com の直近7日と、その前の7日の合計を比べて」 | gsc_live_totals |
すべての応答に meta が付きます。数値を引用する前に、少なくとも次の3つを見てください。
| キー | 意味 | 読み方 |
|---|---|---|
truncation_risk | 50,000行上限による欠落リスク。none / near / hit | none 以外なら「減った」と結論しない。下位のクエリ・ページが欠けている可能性があり、前回比の減少は欠落かもしれません。 |
is_partial | limit で切れているか | true なら続きがあります。「全部で N 件」とは言わず、limit を増やすか条件を絞ります。 |
period / fetched_at | 集計に含まれる日付の範囲と、取得を実行した時刻 | 鮮度は period の終了日で判断します。確定データは約3日遅れです。 |
rows_returned / row_limit | 返した行数と上限 | 両者が一致していれば is_partial と同じ意味です。 |
warnings | 取得時の注記(期間分割の実施など) | あれば応答に併記します。 |
掲載順位は表示回数で重み付け済みです。gsc_sql で生テーブルの position_raw を AVG しないでください。必ず v_gsc_* ビューを使います。