mcpField
S
Seo Performance Mcp

Seo Performance Mcp

ローカル
automatelab.tech検索23 日前に更新

Seo Performance Mcp について

コンテンツマーケター、SEO コンサルタント、AI 活用型の編集チーム向け MCP サーバーです。公開後の分析データを URL ごとの提案にまとめ、更新、拡充、統合、保留などを決定論的で追跡可能なルールに基づいて示し、記事自体は変更しません。

主な機能

  1. 01検索と分析のシグナルを統合
  2. 02決定論的なルールで URL を評価
  3. 03コンテンツ群を優先度順に表示
  4. 04更新ブリーフとクイックウィンを生成
  5. 05AI 引用の変化を追跡

活用シーン

  1. 01週次更新するブログ記事を選定
  2. 02低 CTR の検索クエリ機会を発見
  3. 03コンテンツ群の成果を比較
  4. 04AI 引用が減った URL を特定

MCP 対応

記事一覧、スナップショット、減衰傾向、判定、更新ブリーフ、コンテンツ群レポート、クイックウィン、引用減少を調べるツールとプロンプトを提供します。MCP クライアントから監査を実行でき、サーバーは提案のみを返して記事を変更しません。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"automatelab-tech-seo-performance": {
"command": "npx",
"args": [
"-y",
"@automatelab/seo-performance-mcp"
],
"env": {
"GSC_SERVICE_ACCOUNT_JSON": "<GSC_SERVICE_ACCOUNT_JSON>",
"GSC_SITE_URL": "<GSC_SITE_URL>",
"MATOMO_URL": "<MATOMO_URL>",
"MATOMO_TOKEN": "<MATOMO_TOKEN>",
"MATOMO_SITE_ID": "<MATOMO_SITE_ID>",
"GA4_PROPERTY_ID": "<GA4_PROPERTY_ID>",
"GA4_SERVICE_ACCOUNT_JSON": "<GA4_SERVICE_ACCOUNT_JSON>",
"CLARITY_PROJECT_ID": "<CLARITY_PROJECT_ID>",
"CLARITY_API_TOKEN": "<CLARITY_API_TOKEN>",
"POSTS_SITEMAP_URL": "<POSTS_SITEMAP_URL>",
"POSTS_LIST": "<POSTS_LIST>",
"GHOST_ADMIN_API_URL": "<GHOST_ADMIN_API_URL>",
"GHOST_ADMIN_API_KEY": "<GHOST_ADMIN_API_KEY>",
"CITATION_INTELLIGENCE_URL": "<CITATION_INTELLIGENCE_URL>"
}
}
}
}
起動コマンドnpx -y @automatelab/seo-performance-mcp
設定が必要な環境変数
GSC_SERVICE_ACCOUNT_JSONシークレットBase64-encoded Google service account JSON with Search Console read access.
GSC_SITE_URLSearch Console site URL (e.g. sc-domain:example.com or https://example.com/).
MATOMO_URLMatomo instance URL (e.g. https://example.com/analytics).
MATOMO_TOKENシークレットMatomo auth token with view access.
MATOMO_SITE_IDMatomo idSite for the site to query.
GA4_PROPERTY_IDGA4 property ID (numeric, no G- prefix).
GA4_SERVICE_ACCOUNT_JSONシークレットBase64-encoded Google service account JSON with GA4 Data API access.
CLARITY_PROJECT_IDMicrosoft Clarity project ID.
CLARITY_API_TOKENシークレットMicrosoft Clarity Data Export API token.
POSTS_SITEMAP_URLXML sitemap URL used to enumerate posts. Primary platform-agnostic discovery path.
POSTS_LISTOptional JSON array overriding sitemap discovery.
GHOST_ADMIN_API_URLOptional. Ghost Admin API base URL. Pair with GHOST_ADMIN_API_KEY for richer metadata.
GHOST_ADMIN_API_KEYシークレットOptional. Ghost Admin API key in the form id:secret.
CITATION_INTELLIGENCE_URLOptional URL of a citation-intelligence MCP server to delegate AI-citation queries to.

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

パッケージ
npm@automatelab/seo-performance-mcp1.0.1

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

seo-performance-mcp

推測に頼らず、どのブログ記事を更新、拡充、統合、または削除すべきかを把握できます。

SEO と分析データを集約し、URL ごとに明確な判定を出す MCP サーバーです。Claude、Cursor、または MCP 対応クライアントに接続して、「今週、更新すべき記事を3つ教えて」と尋ねれば、確かな数値に裏付けられた回答が得られます。

できること

seo-performance-mcp は、すでに利用料金を支払っているあらゆるチャネルから、公開後のシグナルを集約します。

  • Google Search Console - クリック数、表示回数、CTR、掲載順位、上位クエリ
  • Matomo または GA4 - 訪問数、滞在時間、直帰率
  • Microsoft Clarity - スクロール深度、レイジクリック、デッドクリック
  • AI 引用のトラッキング - 今日と先月で、どの LLM が URL を引用しているか
  • サイトマップ / CMS - 公開日、タグ、単語数(XML サイトマップ経由であらゆるプラットフォームに対応。より詳細なメタデータが必要な場合は Ghost との統合も利用可能)

その後、シグナルに対して決定論的なルールエンジンを実行し、URL ごとに判定を出します。

refresh / expand / merge / kill / double_down / hold

判定理由コード、根拠、0~1の信頼度スコアも出力します。レポート専用のため、サーバーが記事を変更することはありません。

重要な理由

多くのコンテンツチームは、5つのタブに分散した分析データと、勘に頼って運営しています。その結果、良質な記事はひっそりと劣化し、平凡な記事が過剰に宣伝され、明らかな「この記事を書き直す」という判断も、トラフィックがすでに急落するまで見えません。

この MCP で、その状況を改善できます。

  • 質問は1つ、入力は1つの URL、出力は1つの判定です。
  • コホート全体に同じロジックを適用するため、順位を比較できます。
  • すべての判断は、src/verdict/rules.ts で設定できる数値しきい値まで追跡できます。
  • AI クライアント(Claude、Cursor、MCP ホスト)を使って、コンテンツ監査全体を平易な英語で実行できます。

対象ユーザー

  • コンテンツマーケター - 50件以上の記事を掲載したブログを運営し、何を更新すべきか推測することに疲れている方。
  • SEO コンサルタント - オーダーメイドのスプレッドシートではなく、持ち運び可能で決定論的なスコアリングレイヤーを使って監査したい方。
  • AI ファーストのコンテンツチーム - 書き直しエージェントを連携させる方。この MCP は上流のシグナルレイヤーとして機能します。
  • 個人パブリッシャー - Ghost、WordPress、Hugo、Astro、Next、Webflow、またはサイトマップを公開するあらゆる CMS を利用している方。

得られるもの

コホートを1回実行すると、次のものが得られます。

  • すべての記事を判定と信頼度スコア付きで並べたランキングテーブル。
  • 「refresh」と判定された URL ごとの Markdown ブリーフ。数値、上位クエリ、編集者(またはライティングエージェント)がすぐに実行できるアクション案が含まれます。
  • 「手早く成果を上げられる施策」の一覧。掲載順位5~15位で、CTR が期待値を下回っているクエリを示します。そのサイトで最も早く成果を出せるタイトル書き換えの候補です。
  • AI 引用の履歴差分。どの LLM があなたを引用し、その後引用しなくなったかを示します。

インストール

npx -y @automatelab/seo-performance-mcp

Claude、Claude Code、または Cursor の MCP 設定に追加します。

{
  "mcpServers": {
    "seo-performance": {
      "command": "npx",
      "args": ["-y", "@automatelab/seo-performance-mcp"],
      "env": {
        "POSTS_SITEMAP_URL": "https://example.com/sitemap.xml",
        "GSC_SERVICE_ACCOUNT_JSON": "<base64-encoded service-account JSON>",
        "GSC_SITE_URL": "sc-domain:example.com",
        "MATOMO_URL": "https://example.com/analytics",
        "MATOMO_TOKEN": "...",
        "MATOMO_SITE_ID": "1",
        "GA4_PROPERTY_ID": "123456789",
        "GA4_SERVICE_ACCOUNT_JSON": "<base64-encoded service-account JSON>",
        "CLARITY_PROJECT_ID": "...",
        "CLARITY_API_TOKEN": "...",
        "CITATION_INTELLIGENCE_URL": "https://citation.example.com"
      }
    }
  }
}

すべての環境変数は省略可能です。環境変数が設定されていないアダプターは、そのスナップショットの対象部分をスキップしますが、サーバーは引き続き起動します。判定エンジンは、利用可能なデータ部分を使って動作します。

プラットフォームとの統合

CMS プラグインは不要で、あらゆるサイトを指定できます。投稿の検出レイヤーでは、次の優先順位で情報を解決します。

  1. POSTS_LIST - {url, title?, published_at?, tags?, word_count?} の JSON 配列です。すでにコンテンツインデックスがあり、正確に制御したい場合に使用します。
  2. Ghost Admin API - GHOST_ADMIN_API_URL と GHOST_ADMIN_API_KEY の両方が設定されている場合、Ghost をより詳細なメタデータソースとして使用します。省略可能です。
  3. HTML の抽出 - URL から og:title、article:published_time、および JSON-LD の datePublished をリアルタイムで読み取ります。
  4. XML サイトマップ - サイトマップ(またはサイトマップインデックス)を POSTS_SITEMAP_URL に設定すると、サーバーが <loc> と <lastmod> から記事を列挙します。

ほとんどのユーザーは POSTS_SITEMAP_URL を設定するだけで十分です。WordPress、Hugo、Astro、Next.js、Webflow、Framer、Wix、Squarespace、サイトとして公開した Notion、Substack のミラーサイトは、いずれもデフォルトでサイトマップを公開しています。

新しいプラットフォームを追加するために必要な作業はありません。POSTS_SITEMAP_URL にそのサイトを指定するだけです。

公開されるツール

ツール返される内容
posts_listサイトマップ、Ghost、または独自の POSTS_LIST から取得した {url, title, age_days, tags} を含む投稿。
posts_snapshot30/60/90 日の期間について、URL ごとに統合した集計:GSC + Matomo + GA4 + Clarity + 引用 + メタデータ。
posts_decay_curve週ごとの GSC クリック数/表示回数/掲載順位のバケット + decay/plateau/growth のトレンドラベル。
posts_verdict判定(refresh/expand/merge/kill/double_down/hold)+ 理由コード + 0~1 の信頼度。
posts_refresh_brief人間または後続の LLM 編集者向け Markdown ブリーフ:数値、上位クエリ、推奨アクション。
cohort_report優先度と信頼度の高い順に並んだコホート判定表。「今週、どの 3 件の投稿を更新すべきですか?」
posts_cite_loss指定 URL について、LLM による引用から失われたもの。CITATION_INTELLIGENCE_URL が必要です。
gsc_quick_wins掲載順位が 5~15 位で CTR が低い (page, query) のペア。タイトル書き換えで最も手早く成果を得られます。

GitHub Action として使う

CI から cron で任意のツールを実行し、出力を GitHub Issue、Discussion、または PR に投稿します。この Action は GitHub Marketplace で公開されています。

- uses: AutomateLab-tech/seo-performance-mcp@v1
  with:
    tool: cohort_report
    format: markdown
    input: '{"window": 90, "min_age_days": 90, "limit": 20}'
    gsc-service-account-json: ${{ secrets.GSC_SERVICE_ACCOUNT_JSON }}
    gsc-site-url: ${{ secrets.GSC_SITE_URL }}
    posts-sitemap-url: ${{ secrets.POSTS_SITEMAP_URL }}

出力:

出力説明
resultツールの出力を複数行の文字列で返します(format に応じて Markdown または JSON)。
result-fileツールの出力を書き込んだファイルのパスです。peter-evans/create-issue-from-file などに渡します。
rowsformat: json を指定した cohort_report のみ:返された行数。

コホートレポートを使って GitHub Issue を作成する、週次監査ワークフローの完全な例は examples/weekly-cohort-report.yml にあります。

CLI で単発実行する

パッケージには seo-perf-cli バイナリも含まれており、MCP クライアントなしで単一のツールを実行できます。

npx -p @automatelab/seo-performance-mcp seo-perf-cli cohort_report \
  --input '{"window": 90, "limit": 20}' \
  --format markdown

MCP サーバーと同じ環境変数を使用します。--format markdown は cohort_report と posts_refresh_brief でサポートされています。それ以外のツールでは、フェンス付き JSON にフォールバックします。

関連スキル + Cursor ルール

クライアント内の LLM がこれらのツールを「いつ」使うべきか判断できるよう、リポジトリにはシンプルなルーティングファイルが 3 つ含まれています。

  • skills/seo-performance/SKILL.md - ツールルーティングスキルです。~/.claude/skills/seo-performance/(またはプロジェクトごとに .claude/skills/)に配置すると、Claude Code で自動的に読み込まれます。単一の質問を適切なツールに振り分けます。
  • skills/weekly-audit/SKILL.md - 単発の週次監査プレイブックです。gsc_quick_wins + cohort_report + posts_cite_loss を組み合わせて、重複を除き、複数のシグナルに基づいて順位付けしたダイジェストを作成し、URL ごとの編集案を提示します。ルーティングスキルと一緒に配置してください。
  • cursor/rules/seo-performance.mdc - 任意の Cursor ワークスペースの .cursor/rules/seo-performance.mdc にコピーします。

いずれも任意です。MCP サーバーはこれらがなくても動作します。これらを使うと、「どのツールを呼び出せばよいか」を確認するやり取りを短縮できます。

MCP プロンプト

サーバーはプレイブックをまとめた 3 つのプロンプトを公開しています。すべての MCP クライアント(Claude Desktop、Claude Code、Cursor、Continue)から一覧表示して呼び出せます。

プロンプト実行内容
audit_cohort90 日以上経過した投稿に対して cohort_report を実行し、その後、更新/拡張/統合に該当する各行について posts_refresh_brief を実行します。週次監査です。
find_quick_winsgsc_quick_wins(掲載順位 5~15 位)+ URL ごとの posts_snapshot を実行し、その後、クエリの文言をそのまま使った meta_title の書き換え案を提示します。
citation_loss_sweepURL ごとに posts_cite_loss を実行し、引用が失われている場合は refresh_brief を作成して、対象を絞った H1/リード文の表現を提案します。

判定エンジン

決定論的で、ルールに基づき、追跡可能です。理由コード:

  • ctr_below_position_expected
  • position_drift
  • decay_30d_over_30pct / decay_60d_over_50pct
  • stagnant_no_clicks
  • thin_content_low_dwell
  • rising_impressions_low_ctr / rising_clicks_continue_investment
  • citation_loss / citation_growth
  • duplicate_or_cannibalizing
  • high_bounce_low_scroll
  • fresh_post_too_young

マッピング(理由 → 判定)と各しきい値はすべて src/verdict/rules.ts にあります。編集してテストで固定し、独自のルールブックを公開してください。

開発

npm install
npm run dev        # tsx src/index.ts
npm run build      # tsc
npm test           # vitest

ライセンス

MIT

メンテナンスと検証

解釈上の制限、該当する場合の現在のツール名、再現可能な検証については、メンテナンスガイドを参照してください。

コメント

MCP は初めてですか?

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

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