seo-webmaster-mcp について
seo-webmaster-mcpは、AIクライアントで公開サイトを調べるためのローカル読み取り専用MCPサーバーです。根拠付きの技術的な問題を報告し、設定すればGoogle Search ConsoleやBing Webmaster Toolsのデータも加えられます。
主な機能
- 01公開ページをクロールしてHTMLを確認
- 02根拠付きで技術的なSEO問題を検出
- 03サイトマップ、hreflang、構造化データを確認
- 04監査履歴の保存、レポート、比較
- 05GoogleとBingのデータを任意で追加
活用シーン
- 01リンク切れやページメタデータの欠落を発見
- 02修正の公開前後にサイトを確認
- 03SEO監査結果を時系列で比較
- 04Search ConsoleやBingの指標とクロール結果を確認
MCP 対応
stdioで起動し、MCPクライアントにSEO監査と監査履歴のツールを提供します。対象サイトは読み取り専用で、監査履歴の保存のみローカルに書き込みます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
25掲載時のツール一覧 · 1 週間前に更新
このツールにパラメーターはありません。
詳細
SEO Webmaster MCP
URL を貼り付けるだけで、アシスタントから Web サイトを監査できます。このローカルの読み取り専用 MCP は、技術的な問題を検出し、根拠と確認手順を添えて対処方法を提案します。Google Search Console と Bing Webmaster Tools を接続すると、公式データを追加できます。Node.js 22 以降が必要です。
URL を貼り付ける → 具体的な問題を見つける → 修正する → 監査を繰り返して変更を確認する。
CTR が低い実例を含むステップごとのガイド:AI アシスタントと Search Console MCP で Web サイトの SEO を監査する方法。
クイックスタート
最初の監査では、リポジトリのクローンやビルド、認証情報の設定は不要です。MCP クライアントを接続します。
npx -y seo-webmaster-mcp は stdio 経由でサーバーを起動します。npx -y seo-webmaster-mcp config codex|claude|cursor を実行して、該当する設定をコピーしてください。設定にキーを含めないでください。
Codex:
codex mcp add seo-webmaster -- npx -y seo-webmaster-mcp
codex mcp list
Claude Desktop: 以下を claude_desktop_config.json に追加して、アプリケーションを再起動してください。Cursor: 同じオブジェクトを mcp.json に追加してください。
{
"mcpServers": {
"seo-webmaster": {
"command": "npx",
"args": ["-y", "seo-webmaster-mcp"]
}
}
}
クライアントで別のパスが必要な場合は、Codex の MCP 設定、Claude Desktop のヘルプ、または Cursor の MCP ドキュメントを確認してください。Windows でクライアントが npx を見つけられない場合は、npx.cmd の絶対パスを使用してください。
最初の監査
アシスタントに次のように依頼してください。
seo_audit_advanced を使って https://example.com を監査してください。検出された問題を優先度順に並べ、影響を受ける URL、根拠、修正方法、各修正の確認方法を示してください。確認された問題と、コンテキストが必要な確認事項を区別してください。
最小限の呼び出しは次のとおりです。
{ "baseUrl": "https://example.com/" }
レポートでは、HTTP エラー、内部リンク切れ、タイトルの欠落や重複、不適切な canonical、インデックス登録ディレクティブを検出できます。また、alt のない画像、ページの言語、viewport の確認も提案します。受信した HTML を分析しますが、JavaScript は実行せず、実際のインデックス登録も確認しません。Google または Bing のプロパティを指定するまで、公式データの項目は空欄です。
summary には、分析した HTML ページ数、確認した項目、保留となった項目、クロールが制限されたかどうかが示されます。actions: [] は、今回の確認項目とサンプルでは問題が検出されなかったことを意味します。網羅的な監査と同等ではなく、改善点がないことを保証するものでもありません。
summary.truncationReasons には、到達した制限が示されます。max_pages(保留中の URL)、discovery_limit(見つかった異なる URL は最大 2 × maxPages)、または sitemap_limit(最大 6 個の sitemap ファイル)です。重複するリンクや #seccion のようなフラグメントは、追加のページとしてカウントされません。canonical と相対リンクは、存在する場合、最初の <base href> を基準に解決されます。
各ページには、1 から番号が付けられた application/ld+json ブロックを含む jsonLdBlocks があります。parsed は、オブジェクトまたはオブジェクトの配列をルートとする、読み取り可能な JSON を示します。invalid_json は不正な形式または空の JSON、invalid_root は互換性のないルートを示します。エラーがあると、URL、ブロック、修正手順を含む invalid_json_ld アクションが生成されます。この確認ではリモートコンテキストを解決せず、schema.org の意味的な妥当性やリッチリザルトの要件も検証しません。こうした確認には Rich Results Test を併用してください。indexablePages と snippetEligiblePages は、観測した HTML に基づく目安であり、実際のインデックス登録や適格性を確認するものではありません。
1 ページだけをすばやく確認するには、"maxPages": 1 を追加してください。既定では最大 100 ページをクロールします。
0.4.0 の新しい HTML チェック
| アクション | 確認する内容 | 解釈方法 |
|---|---|---|
images_missing_alt | alt 属性のない body 内の画像。 | 画像ごとに確認します。情報を伝える画像には説明文を、装飾画像には alt="" を設定します。この監査では空の alt も受け入れ、テキストの品質は評価しません。 |
missing_lang | <html lang> がないか、空です。 | スクリーンリーダーやその他の支援技術を助けるため、実際の言語を指定します。測定された SEO ペナルティを示すものではありません。 |
missing_viewport | head 内に meta viewport がないか、内容が空です。 | モバイル設定を確認します。このタグがあるからといって、モバイルでデザインが機能することが証明されるわけではありません。 |
invalid_canonical | canonical の href が有効な HTTP(S) URL として解決されません。 | 値を修正し、選択したバージョンに対応していることを確認します。ページの残りの分析結果は保持されます。 |
最初の 3 つのアクションは優先度が低く、confidence: "inferred" です。根拠は確認された欠落であり、修正には状況に応じた判断が必要です。各アクションには URL、根拠、手順、検証が含まれます。影響を受けるページはすべてカウントされ、例として最大 20 件の URL が表示されます。
各ページには lang と viewport(確認された値、または null)、canonicalError(null、またはエラーの理由)、および images が含まれます。
{
"total": 2,
"missingAlt": 1,
"examples": [{ "imageIndex": 1, "src": "./audit-flow.svg" }]
}
imageIndex は、body 内の img における画像の位置を 1 から数えた値です。examples には、ページごとに alt のない画像が最大 5 件含まれます。src には、受け取った属性を 300 文字に切り詰めて保持します。属性がない場合は null です。これらのチェックのために画像をダウンロードしたり、リクエストを追加したりすることはありません。完全なアクセシビリティ監査ではありません。
noindex と snippetBlocked のシグナルは、一般的な robots タグ、すべての googlebot タグ、および Googlebot に適用される HTTP ルールを組み合わせたものです。none を noindex, nofollow として認識し、別のエージェントだけを対象としたルールを Google に適用されるものとして扱いません。これらは Google 向けのシグナルであり、すべての検索エンジンをシミュレートするものではありません。canonical が無効な場合は canonical: null となり、invalid_canonical が生成されます。missing_canonical が重複して生成されたり、HTTP 200 が接続エラーに変換されたりすることはありません。
デモ:検出、修正、検証
リポジトリをチェックアウトし、npm ciを実行した後、次を実行します。
npm run demo
このデモでは、DNS と HTTP をシミュレートした状態で、インターネットに接続したり認証情報を参照したりせずに、MCP を実際に2回呼び出します。元のファイルbefore.htmlとafter.htmlを使用します。
| 実行 | 期待される結果 |
|---|---|
| 修正前 | invalid_canonical、images_missing_alt、missing_lang、missing_viewport。HTTP 200 は維持されます。 |
| 修正後 | 4つのアクションがなくなります。2つの画像にaltが設定され、そのうち1つは装飾用のalt=""です。 |
カバレッジ、ページデータ、アクションの完全なエビデンスが出力されます。audit.exampleはデモ用の架空の宛先です。実際のウェブサイトで再現するには、自分が所有または使用を許可された公開URLでファイルを配信し、各URLをmaxPages: 1で監査してください。パスを変更した場合は、after.htmlのcanonicalを調整してください。このサンプルでアクションがないことは、インデックス登録や順位を保証するものではありません。
自分が所有または使用を許可されたウェブサイトで、<title>のない公開テストページを使用します。maxPages: 1で監査すると、missing_titleアクションにURLと影響を受けたページ数が含まれます。説明的なタイトルを追加して修正を公開し、同じ監査を再実行します。このアクションは消えるはずです。改善を記録するために、両方の実行結果を提示できます。この変更は検索順位の結果を保証するものではありません。
<script type="application/ld+json">{"@type":"Organization",}</script>を使って、JSON-LD エラーを再現することもできます。末尾のカンマによってinvalid_json_ldが発生します。カンマを削除して監査を再実行すると、そのブロックはparsedとして表示され、アクションは消えるはずです。
修正につながる何かを見つけられましたか?どこで行き詰まりましたか?MCP クライアント、オペレーティングシステム、再現手順を記載して、issue でお知らせください。個人情報は匿名化し、認証情報を含めないでください。
監査の保存と比較(0.5.0)
リポジトリをクローンせずに、CLI から一連の流れを完了できます。
npx -y [email protected] audit https://example.com/ --max-pages 25 --save
npx -y [email protected] history
npx -y [email protected] report ID --format markdown --out informe.md
# Tras corregir y publicar tu web, repite audit con --save:
npx -y [email protected] compare ID_BASE ID_ACTUAL --format markdown
--saveを指定すると、ローカルプロファイルにレポートが明示的に保存され、saved.idが返されます。このオプションを指定しない場合、履歴は作成されません。比較では、検出事項を新規、継続、解決済み、比較不可に分類します。ページが省略された場合や確認に失敗した場合、修正として扱われることはありません。--outを使うと、既存のファイルを上書きせずに JSON または Markdown でエクスポートできます。
MCP からは、seo_audit_save、seo_audit_history、seo_audit_report、seo_audit_compareを使用できます。29個のツールのうち、28個は読み取りを宣言しています。seo_audit_saveは、ローカルへの非冪等な書き込みを宣言しています。ウェブサイトを変更するツールはありません。
新しいバージョンでは、カバレッジを備えた独立モジュールと、hreflang、複数のcanonicalとその宛先、サイトマップの整合性、ヘッダー、ソーシャルカード、@graphを含む選択した schema.org 型のプロパティのチェックが追加されています。--render jsを指定すると、インストール済みの Chrome/Chromium/Edge が有効になり、--performanceを指定すると PageSpeed Insights にクエリを送信します。どちらも任意です。意味論を完全に検証するものではありません。
npx -y [email protected] audit https://example.com/ --render js --max-pages 5 --save
npx -y [email protected] audit https://example.com/ --performance --performance-strategy mobile
使用方法、ツール、制限事項、検証エビデンス、ロードマップをご覧ください。
Google または Bing を追加する(任意)
使用する各プロバイダーを設定します。
npx -y seo-webmaster-mcp setup bing
npx -y seo-webmaster-mcp setup google --client /ruta/al/cliente-oauth.json
npx -y seo-webmaster-mcp status
npx -y seo-webmaster-mcp doctor
Bing: Bing Webmaster Tools でキーを作成します。セットアップウィザードではキーを表示せずに入力を求め、動作を確認します。
--help はコマンドを、--version はインストール済みのバージョンを表示します。設定済みのプロバイダーでエラーが発生すると、doctor は終了コード 1 を返します。プロバイダーが設定されていない場合は、not_configured と終了コード 0 を返します。
Google: Google Cloud Console で Search Console API を有効にし、OAuth 同意画面を設定して、Desktop app タイプの OAuth クライアントをダウンロードします。アプリケーションが Testing モードの場合は、自分のアカウントをテストユーザーとして追加します。JSON ファイルを setup google コマンドに渡すと、ブラウザーで読み取り専用アクセスを求められ、ローカルコールバックを通じて接続が完了します。各ユーザーが独自の OAuth クライアントを作成してください。JSON ファイルや更新トークンは共有しないでください。公式の認証ガイド。
設定はリポジトリの外部にあるユーザープロファイルに保存されます。status は秘密情報を表示せずにパスと状態を表示し、doctor は両方のプロバイダーへの実際のアクセスをテストします。接続を解除するには、npx -y seo-webmaster-mcp disconnect google または disconnect bing を実行します。macOS/Linux ではファイルの権限が 0600 に設定され、Windows ではユーザーの AppData に保存されます。更新トークンはローカルに保持されるため、システムセッションを保護してください。
公式データを使った監査
MCP クライアントに seo_audit_advanced を呼び出すよう依頼します。
{
"gscSiteUrl": "sc-domain:example.com",
"bingSiteUrl": "https://example.com/",
"baseUrl": "https://www.example.com/",
"maxPages": 100
}
どちらのプロパティも任意です。公式データを追加するには片方または両方を指定し、URL のみで監査する場合は省略します。日付を省略した場合、プロバイダーのデータには、実行日の 3 日前までに終了した直近 90 日間が使用されます。クロールは指定された URL から開始し、サイトマップと内部リンクをたどります。SEO-Webmaster-MCP に対する robots.txt のルールを尊重し、同じホスト(www を含む)の公開 URL に限定されます。リダイレクト先と各オリジンについても robots を確認します。robots の取得でネットワークエラー、HTTP 429、または 5xx が発生した場合、そのオリジンの処理を停止し、エラーとして報告します。共有グループ、ワイルドカード、Allow、Disallow を認識します。
DNS の名前解決とリクエストには 10 秒のタイムアウトが設定されています。接続には検証済みのパブリックアドレスを使用します。ダウンロード時の各レスポンスは 2 MB に制限されます。クロールは maxPages(最大 500)に達すると終了します。レポートには、利用可能なデータ、技術的な問題、GEO シグナル、検証手順付きの優先度順アクションが含まれます。一部でエラーが発生しても、レポートの残りは保持され、エラーが表示されます。
従来の seo_audit_site ツールも引き続き利用できます。新しい公式ツールは gsc_query_advanced、gsc_sitemap_details、bing_feed_details、bing_page_queries、bing_query_pages です。既存のツール名は変更されません。
Google の生成機能のインプレッションをインポートする
Search Console では、生成機能のパフォーマンス レポートをエクスポートできます。このビューは、公開 API の独立したリソースとしては利用できません。ページまたは日付ごとの CSV テーブルをエクスポートして、次を実行します。
npx -y seo-webmaster-mcp geo-import reporte.csv sc-domain:example.com 2026-07-01 2026-09-24 page
日付ごとのテーブルには、page の代わりに date を使用します。Page/Página、Date/Fecha、Impressions/Impresiones の各ヘッダーを使用できます。CSV にはこれらの列を含むテーブルが必要で、行数は最大 10,000 行です。インポートしたデータは、プロパティごとに分けてローカルプロファイルに保存されます。geo_report_summary と seo_audit_advanced では、インポートしたデータが個別に表示されます。これはGoogle の生成機能のインプレッションであり、ChatGPT、Claude などのシステムにおける引用の測定値ではありません。
インプレッションは 0 以上の整数である必要があります。~ と - のマーカーは null として保持され、unknownImpressionRows に不明な行数が示されます。不明な値が日付に影響する場合、totalImpressions は null になります。空の指標、小数値、無効な日付、または宣言された期間外の日付は拒否されます。以前のバージョンでこれらのマーカーを 0 に変換して CSV をインポートした場合は、再度インポートしてこの区別を復元してください。
開発
npm install
npm test
npm run verify:package
npm pack --dry-run
パッケージには dist、README、変更履歴、ライセンスが含まれます。サンプルと公開準備用ファイルはリポジトリに保管されています。認証情報や OAuth クライアントは公開しないでください。公式データは不完全な場合や遅延する場合があります。MCP はデータの欠如とトラフィックがゼロであることを区別し、ヒューリスティックを確認済みのエラーとして提示しないようにします。
verify:package はプロジェクトをパッケージ化して一時フォルダーに tarball をインストールし、実行可能ファイルと 29 個の MCP ツールを確認して、意図的に無効なローカル認証情報を使ってデモを再実行します。インストールには npm レジストリへのアクセスが必要です。テスト監査では、DNS/HTTP のシミュレーションを使用します。Linux、Windows、macOS の CI でも実行されます。
クロールと HTTP 接続には、それぞれ robots-parser と Undici を使用します。これらによって、キーや外部サービスが追加されることはありません。
開発時の参考資料:claude-seo-ai、特に画像と viewport のチェック、モジュール構成、レポートの比較(MIT);Google の robots ディレクティブ、ドキュメントの言語、装飾画像、Lighthouse の viewport。このバージョンの実装とサンプルは独自のものであり、第三者のファイルは取り込んでいません。
English quick start
実際の低 CTR の事例を使ったステップごとのガイド(スペイン語):Cómo auditar el SEO de tu web con tu asistente de IA y Search Console。
Node.js 22 以降をインストールし、MCP クライアントを接続してください。最初の監査には公開 URL だけが必要です。
codex mcp add seo-webmaster -- npx -y seo-webmaster-mcp
Claude Desktop または Cursor では、上記の mcpServers JSON を使用します。npx -y seo-webmaster-mcp config claude または config cursor を実行すると、設定を表示できます。アシスタントに、{ "baseUrl": "https://example.com/" } を指定して seo_audit_advanced を呼び出し、根拠、影響を受ける URL、修正方法、確認手順を説明するよう依頼してください。クロールでは受信した HTML を分析しますが、JavaScript は実行せず、検索エンジンへのインデックス登録も確認しません。1 ページだけ確認する場合は、maxPages: 1 を追加してください。
summary には、カバレッジ、実施したチェック、未実施のチェックが表示されます。空の actions 配列は、クロールしたサンプルでこれらのチェックによって問題が検出されなかったことを意味します。各ページには、1 始まりのスクリプトインデックスと、parsed、invalid_json、invalid_root のいずれかのステータスを持つ jsonLdBlocks が公開されます。構文エラーまたはルートエラーがあると invalid_json_ld が生成されます。parsed は、schema.org の意味的な妥当性やリッチリザルトへの適格性を確認するものではありません。後者の確認には、リッチリザルト テストを使用してください。準備状況のカウントが示すのは、観測された HTML シグナルであり、インデックス登録や AI での可視性が確認されたことを示すものではありません。
バージョン 0.4.0 では、alt のない画像、HTML の言語および viewport 宣言の欠落または空欄、不正な canonical URL も報告されます。各ページには、lang、viewport、canonicalError、および images(total、missingAlt、1 始まりの imageIndex と生の src を含む最大 5 件の例。300 文字で上限)が公開されます。装飾画像の空の alt="" は許容されます。これらは静的な HTML チェックです。言語の正確さ、代替テキストの品質、レスポンシブレイアウトについては確認が必要です。robots フラグには、一般的なディレクティブと Googlebot 向けのルールが含まれますが、他のエージェントに限定されたルールは含まれません。
バージョン 0.5.0 では、監査履歴の明示的な記録、JSON/Markdown エクスポート、比較、hreflang、選択したスキーマプロパティ、ソーシャルメタデータのチェック、内部リンクグラフが追加されます。npx -y seo-webmaster-mcp audit URL --save を実行し、続けて report ID または compare BASELINE_ID CURRENT_ID を実行してください。省略されたページや失敗したチェックが、解決済みの指摘事項として扱われることはありません。
オプションの --render js は、インストール済みの Chrome/Chromium/Edge を、分離されたプロファイルと検証済みのリソース転送方式で使用します。ブラウザーが自動的にダウンロードされることはありません。オプションの --performance は、エントリー URL を Google の PageSpeed Insights API に送信します。PAGESPEED_API_KEY は環境変数で指定できます。ラボデータとフィールドデータは別々に報告され、フィールドデータがない場合は不明のままになります。使用方法と制限を参照してください。
クローラー自体は、共有グループ、ワイルドカード、リダイレクトを含め、SEO-Webmaster-MCP に対する robots.txt の指示に従います。robots の応答を取得できない場合(ネットワークエラー、429、または 5xx)は、そのオリジンの処理を停止します。DNS アドレスは検証され、接続先に固定されます。また、ストリーミング中のレスポンスボディは 2 MB を上限とします。summary.truncationReasons には、ページ、URL の検出、サイトマップに関する制限が一覧表示されます。相対リンクは、ドキュメントのベース URL に従います。インポートされた GEO マーカー ~ と - はゼロインプレッションではなく、不明(null)のまま扱われます。
メンテナーは npm run verify:package を実行して、実際の tarball を一時ディレクトリにインストールし、バイナリ、バージョン、MCP ツール、修正前後の監査を検証できます。インストールには npm レジストリへのアクセスが必要です。--help と --version はプロバイダーに接続せずに動作します。設定済みのプロバイダーが失敗した場合、doctor はコード 1 で終了します。
再現可能なオフラインの修正前後のデモを実行するには、リポジトリをクローンし、npm ci を実行してから npm run demo を実行してください。バンドルされたリポジトリのサンプルを使用し、合成 DNS/HTTP に対して MCP サーバーを呼び出します。修正前は 4 件のアクション、修正後は 0 件となり、根拠とカバレッジも表示されます。MCP クライアントで変更をローカルにテストするには、npm run build を実行し、サーバーコマンドに node /absolute/path/to/seo-webmaster-mcp/dist/cli.js を指定してください。再ビルド後はサーバーを再起動してください。npx -y seo-webmaster-mcp は公開済みのパッケージを実行します。
必要に応じて npx -y seo-webmaster-mcp setup bing または npx -y seo-webmaster-mcp setup google --client /path/to/desktop-oauth-client.json を実行し、監査に bingSiteUrl または gscSiteUrl を指定すると、公式データを含められます。監査は読み取り専用です。アクションプランでは、確認済みの問題と推定された機会が別々に示されます。Google の生成 AI 検索インプレッションは、Search Console の CSV エクスポートから geo-import でインポートできます。
監査は問題の修正に役立ちましたか?どこで行き詰まりましたか?MCP クライアントとオペレーティングシステムを記載して、フィードバックを共有してください。認証情報や個人データは含めないでください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。