Claude CodeにおけるSEOツール:ホスト型 vs ローカルMCP — Agent Lab Journal
Agent Lab Journal
Guides
Glossary
Enter fullscreen mode Exit fullscreen mode
実践ガイド · 中級者向け
Claude CodeにおけるSEOツール:ホスト型とローカルMCPの比較
45-minute read
Updated July 30, 2026
Intermediate
Enter fullscreen mode Exit fullscreen mode
コーディングエージェントは、現在の検索状況を取得できなければ分析できません。このガイドでは、Model Context Protocol (MCP) を通じてClaude CodeをライブSERPデータに接続し、同じクエリ、ロケーション、言語、デバイス、出力契約を使用してホスト型HTTPサーバーとローカルstdioサーバーを比較します。
このガイドの内容
問題と目標結果
ホスト型HTTPとローカルstdio
制御されたSEOケース
前提条件と安全性
ホスト型MCPサーバーの接続
ローカルstdioサーバーの接続
比較の実行
証拠の検証
失敗ケース
制限事項と選択ガイド
問題と目標結果
Claude Codeはリポジトリの検査、ファイルの編集、コマンドの実行、サプライされたコンテキストに基づく推論が可能です。しかし、これにより自動的に最新の検索エンジン最適化(SEO)データセットへのアクセスが得られるわけではありません。検索データツールがなければ、エージェントはランキングの分析方法を知っていても、特定の市場で現在何がランクインしているかを確立することができません。
通常の回避策は手動です:ブラウザやサードパーティプラットフォームで検索を実行し、結果をエクスポートしてセッションに貼り付け、クエリが変更されるたびに繰り返します。これは遅く、いくつかのエラー源を導入します:
コピーされた結果がランク、結果タイプ、URL、またはクエリパラメータを省略する可能性がある;
検索が制御されていない場所、言語、デバイス、またはログイン状態を使用する可能性がある;
エージェントが自身の結論を検証しながら検索を繰り返すことができない;
2回のテスト実行が異なる設定を無言で使用する可能性がある;
大きな貼り付けられた応答が安定したデータ契約なしにコンテキストを消費する。
目標結果はより狭く、より信頼性が高いものです:Claude Codeが1つのMCP検索ツールを発見し、明示的なパラメータで呼び出し、構造化された結果を受け取り、別の人がコールを繰り返すのに十分なメタデータを保存することです。2つのトランスポートを設定し、どちらかが普遍的に優れていると仮定せずに比較します。
期待される結果
終了時には、1つの接続されたホスト型HTTP MCPサーバー、1つの接続されたローカルstdio MCPサーバー、および単一の制御されたSERPリクエストの比較レコードが得られます。レコードには、fabricated benchmark numbersではなく、観測された出力が含まれます。
ホスト型HTTPとローカルstdio
ホスト型MCPサーバーはマシンの外部で実行され、HTTPS経由で到達されます。Claude Codeはリモートエンドポイントに接続し、プロバイダーはサーバープロセスを操作し、通常はスケーリングと更新を処理します。
ローカルstdioトランスポートはマシン上でプログラムを開始し、標準入力と標準出力を通じてプロトコルメッセージを交換します。プログラムはリモート検索データサービスからSERPデータを取得したり、ローカルインデックスをクエリしたり、別のコマンドラインツールをラップしたりする可能性があります。「ローカルMCP」はMCPプロセスが実行される場所を説明するもので、基盤となる検索データがローカルであることを証明するものではありません。
Dimension
Hosted HTTP
Local stdio
Server operation
Handled by the remote operator
Handled on the developer machine
Connection
Remote HTTPS endpoint
Child process over stdin and stdout
Initial setup
Usually endpoint plus authentication
Runtime, package, command, and environment
Updates
May change remotely
Can be pinned to a known version
Debugging
Depends on remote logs and error detail
Local stderr and process inspection are available
Secret exposure
Credentials and requests reach a remote service
Local wrapper secrets remain local, but its upstream calls may not
Team consistency
One endpoint can simplify shared access
Requires reproducible local installation
Enter fullscreen mode Exit fullscreen mode
トランスポートはシステムの一部に過ぎません。公正な比較では、MCP接続の動作を上流の検索データソースから分離する必要があります。ホスト型サーバーとローカルサーバーが異なるSERPプロバイダーを使用する場合、ランキングの違いはHTTP対stdioではなく、プロバイダーの収集方法から生じる可能性があります。
制御されたSEOケース
オブザーバビリティスタックを選択することについてのドラフトを含む小さなエディトリアルリポジトリがあると仮定します。エディターは、ドラフトを改訂する前に、クエリ「open source observability tools」の結果タイプと競合ページを理解したいと考えています。
これは再現可能なデモクエリであり、会社、顧客、またはランキング結果に関する主張ではありません。サイトに関連するクエリに置き換えても構いません。機密の製品計画や未公開の顧客条件を、認可なしにサードパーティの検索APIに混ぜないでください。
テスト前にリクエストを固定する
テスト仕様を作成し、両方のトランスポートで変更せずに使用します:
{
"query": "open source observability tools",
"country": "us",
"language": "en",
"device": "desktop",
"limit": 10,
"safe_search": true
}
Enter fullscreen mode Exit fullscreen mode
正確なフィールド名はMCPサーバーによって異なります。1度マッピングし、実際に送信された最終引数を記録します。サーバーが国コードではなく場所識別子をサポートする場合、1つの場所を選択し、両方のコールで同等を使用します。
最小結果契約の定義
各サーバーに、プロバイダーが公開している場合に以下を返すよう依頼します:
正規化されたクエリ;
国または場所、言語、およびデバイス;
取得時間またはプロバイダータイムスタンプ;
オーガニックランク、タイトル、URL、および表示される説明;
結果タイプ(オーガニック結果、動画、ニュース、または注目ブロックなど);
プロバイダーの警告、切り捨てフラグ、およびリクエスト識別子;
利用可能な場合のツール名とツールスキーマバージョン。
エージェントに欠けているメタデータを推測させないでください。ロケールと取得時間のないURLのリストは、現在のランキング分析に十分な証拠ではありません。
前提条件と安全性
Claude Code、ターミナル、および合法的な検索またはSERP取得ツールを公開するMCPサーバーへのアクセスが必要です。ローカルパッケージの場合、サポートされているランタイムも必要です。以下の例では、サーバー名、ツールスキーマ、認証方法、およびClaude Codeコマンドオプションがバージョンとプロバイダーによって異なる可能性があるため、プレースホルダーを使用します。
これらの値を収集する
HOSTED_MCP_URL: 文書化されたHTTPSエンドポイント;
HOSTED_MCP_TOKEN: エンドポイントが必要とする場合のスコープ付きトークン;
LOCAL_MCP_COMMAND: 文書化された実行可能ファイルまたはパッケージランナー;
SERP_API_KEY: ローカルサーバーが必要とする場合の上流認証情報;
両方のサーバーの正確な検索ツール名と入力スキーマ。
APIキーはリポジトリにコミットしたり、記事に貼り付けたり、シェル履歴に不必要に残したり、チームメイトがコミットするプロジェクトスコープのMCPファイルに書き込んだりしてはいけません。環境変数参照、オペレーティングシステムのシークレットストア、またはサーバーによって文書化された認証メカニズムを優先してください。
サーバーを接続する前に
サーバーが何を読み取ることができ、どのツールを公開しているかを確認します。狭くスコープされた認証情報を使用し、可能な場合は検索プロバイダーで支出制限を設定し、クエリやリポジトリコンテキストが保持されるかどうかを確認します。MCP接続自体はセキュリティ境界ではありません。
Claude Codeの現在のコマンド構文を確認する
バージョン固有のコマンドを盲目的にコピーするのではなく、インストールされたクライアントから始めます:
claude --version
claude mcp --help
claude mcp add --help
claude mcp list
Enter fullscreen mode Exit fullscreen mode
インストールされたバージョンのフォームを使用します。次のセクションの例は設定の意図を示し、プレースホルダー名を使用しています。すべてのリリースが同一のフラグを受け入れることを主張するものではありません。
ホスト型HTTP MCPサーバーの接続
Streamable HTTPトランスポートにより、MCPクライアントがHTTPエンドポイントを通じてリモートサーバーと通信できます。サーバーオペレーターの文書化されたURLと認証ヘッダーを使用します。エンドポイントパスを推測しないでください。
1. トークンを環境に配置する
export HOSTED_MCP_TOKEN='replace-with-your-scoped-token'
Enter fullscreen mode Exit fullscreen mode
このエクスポートは現在のシェルセッションで有効です。定期的な使用では、リポジトリファイルにリテラルトークンを保存するのではなく、承認されたシークレット管理ワークフローを通じて値をロードしてください。
2. サーバーを追加する
インストールされたClaude CodeバージョンがHTTPタイプとヘッダー展開をサポートする場合、コマンドは次のパターンに従う可能性があります:
claude mcp add \
--transport http \
--header "Authorization: Bearer ${HOSTED_MCP_TOKEN}" \
seo-hosted \
"https://YOUR-MCP-HOST.example/mcp"
Enter fullscreen mode Exit fullscreen mode
claude mcp add --helpとサーバードキュメントからURLとフラグを置き換えます。クライアントがJSONに設定を保存する場合、コミットされたテキストにシークレットを保持せずに、同等のリモートサーバーエントリを使用します。
3. 登録と接続を確認する
claude mcp list
claude mcp get seo-hosted
Enter fullscreen mode Exit fullscreen mode
表示されたトランスポートがHTTPで、ホスト名が正しく、シークレットが赤actedされていることを確認します。次にClaude Codeを開き、クライアントのMCPインターフェースを使用してMCPサーバーステータスを検査します。設定エントリが存在するだけでは接続は検証されません。
4. 分析を依頼する前にツールを検査する
サーバーが検索ツールを公開していることを確認し、そのスキーマを読み取ります。search_serpのような妥当な名前は、これが実際のツール名である証拠ではありません。必須フィールド、許可される国とデバイスの値、最大結果数、および取得時間が含まれているかどうかに注意してください。
5. 狭いスモークテストを実行する
Claude Codeで、ツールコールは必要だがまだ戦略的結論を求めないプロンプトを使用します:
Use only the MCP server named seo-hosted.
Find its tool for retrieving a current search results page. Show me:
1. the exact tool name,
2. the input arguments you will send,
3. the retrieval result for this fixed request:
query: open source observability tools
country: US
language: English
device: desktop
limit: 10
Do not estimate rankings from memory. If a parameter is unsupported,
stop and identify it. Preserve the returned order and include the
retrieval timestamp or explicitly state that the provider omitted it.
Enter fullscreen mode Exit fullscreen mode
ツールコール引数と生の構造化応答を会話の要約の外部に保存します。ランキングを手動で編集しないでください。
ローカルstdio MCPサーバーの接続
ローカルバリアントは同等の検索機能を公開する必要があります。理想的には、両方のサーバーが同じ上流データプロバイダーと互換性のあるパラメータを使用する必要があります。そうでない場合は、純粋なトランスポートベンチマークではなく、エンドツーエンドの実装比較として実験にラベル付けしてください。
1. パッケージをピン留めして検査する
サーバーの公式インストール手順を使用します。再現可能なベンチマークで「latest」依存関係をピン留めしないでください。サードパーティパッケージを実行する前に、そのソース、パッケージ所有権、要求された権限、およびリリース情報を検査してください。
汎用的なパッケージランナーパターンは次のようになります:
npx --yes @YOUR-SCOPE/seo-mcp-server@PINNED_VERSION --help
Enter fullscreen mode Exit fullscreen mode
Pythonベースのサーバーの場合、文書化されたコマンドは代わりに分離されたランナーまたは仮想環境を使用する可能性があります。重要な要件は特定のレビュー済みパッケージバージョンであり、特定のエコシステムではありません。
2. 上流認証情報を提供する
export SERP_API_KEY='replace-with-your-scoped-key'
Enter fullscreen mode Exit fullscreen mode
サーバーがモック、キャッシュ、またはローカルインデックスモードをサポートする場合、そのモードが目標を満たすかどうかを決定してください。キャッシュされた結果はMCP統合をテストできますが、現在のSERPへのアクセスを証明するものではありません。
3. stdioプロセスを追加する
インストールされたCLI構文に応じて、stdio登録は次のようになる可能性があります:
claude mcp add \
--transport stdio \
--env SERP_API_KEY="${SERP_API_KEY}" \
seo-local \
-- npx --yes @YOUR-SCOPE/seo-mcp-server@PINNED_VERSION
Enter fullscreen mode Exit fullscreen mode
一部のバージョンでは、Claude Codeオプションと子コマンドを異なる方法で分離します。ローカルヘルプ出力でセパレータ、環境構文、および設定スコープを確認してください。
4. プロトコル出力をクリーンに保つ
stdio MCPプロセスは、プロトコルメッセージのためにstdoutを予約する必要があります。デバッグバナーと通常のログはstderrに送られるべきです。インストール通知やカラーログをstdoutに印刷するパッケージは、基盤となる検索リクエストが成功した場合でも通信を破損する可能性があります。
5. ローカルプロセスとツールを確認する
claude mcp list
claude mcp get seo-local
Enter fullscreen mode Exit fullscreen mode
必要なランタイムと認証情報が含まれる同じ環境からClaude Codeを開始します。サーバーステータスを検査し、ローカルツールスキーマをホスト型スキーマと比較します。共有テストを実行する前に不一致を記録してください。
6. 同等のスモークテストを実行する
Use only the MCP server named seo-local.
Find its tool for retrieving a current search results page. Show me:
1. the exact tool name,
2. the input arguments you will send,
3. the retrieval result for this fixed request:
query: open source observability tools
country: US
language: English
device: desktop
limit: 10
Do not estimate rankings from memory. If a parameter is unsupported,
stop and identify it. Preserve the returned order and include the
retrieval timestamp or explicitly state that the provider omitted it.
Enter fullscreen mode Exit fullscreen mode
公正なホスト型対ローカル比較の実行
MCP比較における中心的な誤りは、各サーバーに広範な質問をして散文の回答を比較することです。これはエージェントの表現、プロンプトのバリエーション、およびおそらく異なるツールの選択を測定します。まずツールコールと生のレコードを比較し、次に分析します。
テストプロトコル
同じClaude Codeバージョンとモデル設定を使用する。
一方の結果が他方を汚染しないよう、新鮮なセッションから両方の実行を開始する。
固定されたクエリ、ロケール、言語、デバイス、結果制限、および安全設定を使用する。
実際のタイムスタンプを記録しながら、可能な限り近いタイミングでコールを実行する。
各セッションに名前付きMCPサーバーのみを使用するよう要求する。
正確なツール名、引数、構造化応答、エラー、および警告をキャプチャする。
サイレントリトライをしない。すべての試行とリトライの理由を記録する。
表示の違いのみを正規化し、元のレコードは別々に保存する。
1つの出力スキーマを使用する
Claude Codeに、次のような正規化されたレコードを書き込むか表示するよう依頼します。欠けている値はnullのままにし、推測で埋めないでください:
{
"transport": "hosted-http-or-local-stdio",
"server_name": "configured-server-name",
"tool_name": "actual-tool-name",
"started_at": "observed-ISO-8601-time",
"completed_at": "observed-ISO-8601-time",
"request": {
"query": "open source observability tools",
"country": "us",
"language": "en",
"device": "desktop",
"limit": 10
},
"provider_metadata": {
"retrieved_at": null,
"request_id": null,
"cache_status": null
},
"results": [
{
"rank": 1,
"type": "organic",
"title": "value-returned-by-provider",
"url": "value-returned-by-provider",
"displayed_url": null,
"description": null
}
],
"warnings": [],
"error": null
}
Enter fullscreen mode Exit fullscreen mode
観測結果を記録し、期待される勝者を記録しない
テスト前に空のワークシートを使用し、観測された動作からのみ入力します:
Measure
Hosted HTTP
Local stdio
How to verify
Connected successfully
Not tested
Not tested
Client status and successful tool discovery
Tool name
Record actual value
Record actual value
Tool inventory
Parameters supported
Record actual fields
Record actual fields
Published tool schema
Result count
Record actual count
Record actual count
Count structured records
Metadata completeness
Record missing fields
Record missing fields
Inspect raw response
Elapsed time
Measure locally
Measure locally
Completion minus start time
Retries
Record attempts
Record attempts
Session and server logs
Top-10 URL overlap
Calculate after both successful calls
Compare normalized URLs
Enter fullscreen mode Exit fullscreen mode
正確性を証明するふりをせずにオーバーラップを計算する
URLを保守的に正規化します:ホスト名を小文字にし、フラグメントを削除し、安全に識別できるトラッキングパラメータのみを削除します。異なるパスを折りたたんだり、仮定に基づいてURLを正規化したりしないでください。
返された2つのURLセットについて、次のように計算します:
overlap_count = number of normalized URLs present in both result sets
union_count = number of unique normalized URLs across both sets
jaccard = overlap_count / union_count
Enter fullscreen mode Exit fullscreen mode
高いオーバーラップは、観測されたデータセット間の合意を示します。どちらのデータセットも匿名の人がブラウザで見るものと正確に一致することを証明するものではありません。低いオーバーラップは、タイミング、ロケール、パーソナライゼーション、キャッシング、パラメータマッピング、プロバイダーの違い、または解析動作を示している可能性があります。
ランクの移動を別々に測定する
両方の応答に存在するURLについて、そのランク差を記録します:
rank_delta = local_stdio_rank - hosted_http_rank
Enter fullscreen mode Exit fullscreen mode
レポートで符号の規則を守ります。1つの応答にのみ表示されるURLを無視してランク差を平均化しないでください。共有URLと排他的URLを別々に報告してください。
エージェントがライブツールデータを使用したことを検証する
流暢な回答は検証ではありません。接続からツールコール、構造化された出力への追跡可能なパスを要求してください。
接続チェック
両方の設定された名前がMCPサーバーリストに表示される。
ホスト型エントリが意図されたHTTPSホスト名を指している。
ローカルエントリが意図されたピン留めされたコマンドを起動する。
シークレットがステータス出力や保存された成果物に印刷されていない。
各サーバーがClaude Codeセッションで使用可能な状態を報告する。
ツールチェック
エージェントが発明したものではなく、実際に発見されたツールに名前を付ける。
引数が固定されたテスト仕様と一致する。
サポートされていないパラメータがサイレントにドロップされるのではなく報告される。
結果の順序が保持される。
生の応答にエージェントが要約したURLが含まれる。
新鮮さチェック
エージェントのセッション時間よりもプロバイダーの取得タイムスタンプを優先する。
公開されている場合、キャッシュステータスとキャッシュの経過時間を記録する。
新鮮さメタデータが存在しない場合、新鮮さを未検証としてラベル付けする。
ネットワークコールが成功しただけでは、結果を「ライブ」と説明しない。
由来レポートを依頼する
For the SERP data you just returned, provide a provenance report.
Include:
- MCP server name;
- exact tool name;
- exact tool arguments;
- provider retrieval timestamp, if returned;
- cache status, if returned;
- fields omitted by the provider;
- any transformation you performed;
- any claim in your summary that was not directly supported by tool output.
Do not call another tool and do not reconstruct missing metadata.
Enter fullscreen mode Exit fullscreen mode
オプションのブラウザスポットチェック
手動検索は明らかな異常を特定できますが、環境が制御されていない限り、ground-truthの代わりにはなりません。検索エンジンは、正確な場所、時間、データセンター、同意状態、パーソナライゼーション、およびページレイアウトによって結果を変更する可能性があります。ブラウザの設定とタイムスタンプを記録し、 definitive accuracy testではなくスポットチェックとして演習を呼び出します。
合格条件
Claude Codeが意図されたツールを発見し、固定されたリクエストを送信し、構造化された検索レコードを受け取り、欠けているメタデータを正直に公開し、コールを繰り返すのに十分な由来を保持できる場合、統合は合格です。ホスト型とローカルの出力間の合意は別個の測定です。
失敗ケースと診断
ホスト型サーバーが認証されていない
症状:HTTP 401または403応答、ツール発見の失敗、または繰り返される認証プロンプト。
チェック:Claude Codeの起動に使用される環境にトークンが存在することを確認し、期待されるヘッダー名とトークンプレフィックスを確認し、トークンのスコープと有効期限を検査し、エンドポイントが意図された環境に属していることを確認します。デバッグ中に完全なトークンを印刷しないでください。
エンドポイントは接続するが検索ツールを公開しない
症状:サーバーステータスは正常だが、必要なSERPツールが存在しない。
チェック:正しいMCPエンドポイント、アカウントプラン、ワークスペース、およびサーバーバージョンを使用したことを確認します。発見されたツールリストを確認します。正常なMCPサーバーが間違ったサーバーである可能性があります。
ローカルサーバーがすぐに終了する
症状:切断されたステータス、プロセスが見つからないエラー、または初期化中の失敗。
チェック:文書化されたコマンドを--helpで実行し、ランタイムがClaude Codeの環境で利用可能であることを確認し、ピン留めされたパッケージバージョンを確認し、stderrを検査します。インタラクティブシェルで動作するコマンドが、PATHや環境の初期化が異なる場合に失敗する可能性があります。
stdioでプロトコル解析が失敗する
症状:不正なメッセージエラー、予期しない文字、または初期化タイムアウト。
チェック:stdoutに書き込まれたバナー、デバッグログ、プログレスバー、またはパッケージマネージャーの通知を探します。ログをstderr用に設定し、装飾的な出力を無効にし、プロトコルストリームにテキストを注入するラッパーを避けます。
ツールがロケールまたはデバイスの値を拒否する
症状:バリデーションエラーまたはサイレントに変更されたパラメータ。
チェック:ツールの入力スキーマを検査します。1つのサーバーがusを受け入れ、別のサーバーがUnited Statesを受け入れ、別のサーバーが数値の場所IDを受け入れる可能性があります。マッピングを文書化します。同等のターゲティングが確立できない場合、出力比較を制御されたものとして呼び出さないでください。
応答が空
症状:結果のない成功したツールコール。
チェック:警告、クォータステータス、安全設定、クエリエンコーディング、ロケールサポート、およびプロバイダーの応答フィールドを検査します。エージェントに空の応答を記憶されたまたは推測されたランキングで置き換えさせないでください。
応答が有用な分析には大きすぎる
症状:コンテキスト圧力、切り捨てられたツール出力、または下位ランクのレコードの欠落。
チェック:必要な結果数とフィールドのみを要求します。ページコンテンツの抽出から取得を分離します。初期テストでは、10ページの完全なHTMLよりも通常10個の結果レコードの方が役立ちます。
ホスト型とローカルの出力が異なる
症状:異なるURL、ランク順序、結果タイプ、またはメタデータ。
チェック:リクエストタイムスタンプ、プロバイダーID、場所マッピング、言語、デバイス、キャッシュステータス、安全検索設定、正規化ルール、ページネーション、およびパーサーバージョンを比較します。これらの変数が制御されるまで、違いをトランスポートに起因させないでください。
エージェントがどちらのツールも呼び出さずに回答する
症状:ツールトレースなし、一般的な競合他社、欠けているタイムスタンプ、またはレコードなしの「現在のランキング」のような主張。
チェック:プロンプトを1つの名前付きサーバーに制約し、正確な引数と由来を要求し、ツールが利用できない場合はタスクを停止する必要があることを述べます。トレースされていない応答を失敗した実行として扱います。
レート制限またはコストがテストを歪める
症状:スロットリング、長いバックオフ、部分的な結果、または予期しない消費。
チェック:テスト前にクォータを確認し、結果を制限し、制御されていないリトライを避け、プロバイダーエラーコードを記録します。安価なトランスポートは安価な検索データを意味するものではありません。上流のリクエストがコストを支配する可能性があります。
制限事項と選択ガイド
この比較が確立できること
各MCP接続がClaude Code環境で動作するかどうか;
必要なクエリパラメータがサポートされているかどうか;
出力が十分に構造化され、追跡可能かどうか;
テストの観測されたレイテンシ、エラー、メタデータ、および結果の合意;
各設定に必要な運用作業。
1つのクエリが確立できないこと
市場、言語、デバイス、および結果タイプ全体の一般的な精度;
長期的な信頼性またはプロバイダーのアップタイム;
同時実行下での典型的なパフォーマンス;
完全なプライバシー、セキュリティ、またはコンプライアンス特性;
HTTPまたはstdioが検索結果の違いを引き起こしたこと;
プロバイダーのデータセットがすべてのユーザーの表示可能な検索ページと一致すること。
ホスト型HTTPを選択する場合
チームが中央で運用されるエンドポイントを必要とする場合;
開発者がローカルランタイムをインストールおよび保守する必要がない場合;
リモート認証とアクセス制御が組織のポリシーに適合する場合;
プロバイダーが必要な可観測性、保持ポリシー、およびデータ処理を提供する場合;
一貫したロールアウトがローカルプロセス制御よりも重要である場合。
ローカルstdioを選択する場合
MCPラッパーを検査または修正する必要がある場合;
サーバーの実装を確認済みバージョンにピン留めしたい場合;
ローカルのstderrとプロセスレベルのデバッグが価値がある場合;
チームがランタイムとパッケージのインストールを再現できる場合;
認証情報をローカルシークレットワークフローを通じて注入する必要がある場合。
どちらの選択も、上流のSERPソースを評価する必要性を排除するものではありません。リモートAPIの周りのローカルラッパーでも、そのAPIにクエリを送信します。ホスト型サーバーも同じプロバイダーの周りの薄いラッパーである可能性があります。両方のレイヤーを文書化します:MCPトランスポートと検索データの起源。
再現可能な運用ワークフロー
比較が合格したら、オープンエンドの「SEOを実行する」プロンプトではなく、小さな制御された研究手順に変換します。
フェーズ1:取得
Use seo-hosted to retrieve exactly 10 results for the fixed request.
Return structured records and provenance only. Do not recommend changes yet.
Enter fullscreen mode Exit fullscreen mode
フェーズ2:検証
Check the returned records for missing rank, URL, result type, locale,
device, retrieval time, cache status, warnings, and truncation.
Mark each missing field as unknown. Do not infer it.
Enter fullscreen mode Exit fullscreen mode
フェーズ3:分析
Using only the validated records, identify:
- recurring page formats;
- dominant search intent;
- result features visible in the dataset;
- title patterns;
- domains appearing more than once.
Separate direct observations from hypotheses. Do not claim traffic,
search volume, authority, or content quality unless the tool returned
evidence for those claims.
Enter fullscreen mode Exit fullscreen mode
フェーズ4:リポジトリへの適用
Compare the validated SERP observations with the current draft.
Propose changes that are supported by the evidence.
Do not rewrite files until you show:
1. the evidence,
2. the proposed change,
3. the expected editorial effect.
Enter fullscreen mode Exit fullscreen mode
フェーズ5:監査レコードの保存
クエリ仕様、タイムスタンプ、サーバー名、ツール名、正規化されたレコード、生の応答の場所、警告、および分析プロンプトを保存します。認証情報と機密ヘッダーは除外します。リポジトリが研究データを含むべきでない場合、承認された外部の場所にレコードを保存し、その識別子のみを参照してください。
最終チェックリスト
ホスト型サーバーが文書化されたHTTPSエンドポイントを使用している。
ローカルサーバーコマンドがレビューされ、バージョンがピン留めされている。
シークレットがスコープされ、コミットされたファイルに存在しない。
両方のサーバーが適切な検索ツールを公開している。
固定されたリクエストが同じクエリ、ロケール、言語、デバイス、および制限を使用している。
両方の実行が実際のタイムスタンプとすべてのリトライを記録している。
生の応答が正規化前に保存されている。
欠けているメタデータが推測されるのではなく不明のままになっている。
URLのオーバーラップとランクの違いが観測されたレコードから計算されている。
プロバイダーの違いがMCPトランスポートに誤って帰属されていない。
最終的なSEO分析が証拠と仮説を区別している。
実用的な成功基準は単純です:コーディングエージェントがすべてのセッションに検索結果を貼り付ける必要がなくなり、すべてのランキング主張が明示的なツールコールと再現可能なリクエストに結び付けられることです。ホスト型HTTPはローカルの運用作業を削減し、ローカルstdioはラッパーとランタイムに対するより大きな制御を提供します。どのトレードオフがプロジェクトに適合するかを決定するのは、記録されたテストであり、想定されたベンチマークではありません。
Agent Lab Journalガイドを続けるか、ここで使用されている用語集を確認してください。
© 2026 Agent Lab Journal
0 Comments
Log in to join the conversation.No comments yet. Be the first to share your thoughts.