リモートの Google Cloud MCP サーバーを呼び出すエージェント アプリケーションを構成して、呼び出しのステータスを記録するスパンを生成できるようにします。 ツール呼び出し、メソッド呼び出し、プロンプトとレスポンスを記録するスパンを保存して分析する Cloud Trace を使用して、エージェント アプリケーションの動作を把握できます。
スパン は、より大きなエンドツーエンド オペレーションの一部である単一の関数またはオペレーションを記録します。トレース は、単一のエンドツーエンド オペレーションを表し、スパンで構成されます。したがって、トレースは呼び出された関数のシーケンスと全体的なレイテンシに関する情報を提供し、スパンは特定の関数のステータスとレイテンシに関する情報を提供します。
ツールについて
ツール を使用すると、エージェントは通常、外部 API とのやり取りによってトレーニング データ以外の情報を収集できます。Google Cloud MCP サーバーを使用すると、エージェント アプリケーションは API メソッドを呼び出す Google Cloud ツールを呼び出すことができます。たとえば、 アプリケーションは list_log_entries ツールを呼び出して、最近のログデータを取得できます。
Model Context Protocol(MCP)は、AI エージェントが外部のツール、データソース、リソースと通信してやり取りするための標準化された方法を 定義する仕様です。MCP サーバーを提供するプロダクトの完全なリスト と、そのリファレンスドキュメントへのリンクについては、 サポートされているプロダクトをご覧ください。
トレース コンテキストを MCP サーバーに渡す方法
list_log_entries のドキュメントなどの MCP リファレンス ページには、ツールに HTTP リクエストを送信するために使用できる curl コマンド
の例が記載されています。リクエストで送信される JSON ペイロードは次のようになります。
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "NAME",
"arguments": {
// provide these details according to the tool's MCP specification
}
},
"id": 1
}
name フィールドの値には、list_log_entries などのツール名が一覧表示されます。arguments フィールドには、リクエストを完了するためにオペレーションに必要な情報が含まれています。
MCP 標準では、クライアントと
サーバーがやり取りにメタデータを添付できる _meta フィールドが定義されています。クライアントとサーバーはこの
フィールドを使用してトレース コンテキストを渡すことができます。
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "NAME",
"arguments": {
// provide these details according to the tool's MCP specification
},
"_meta": {
"traceparent": "00-TRACE_ID-PARENT_SPAN_ID-SAMPLED_FLAG",
"tracestate": "Vendor specific information."
},
},
"id": 1
}
_meta データには traceparent フィールドが含まれています。このフィールドの値の形式は、World Wide Web Consortium(W3C)
traceparent ヘッダーで定義されています。値には次のものが含まれます。
traceparent仕様のバージョン(00)。- トレースの ID(TRACE_ID)。
- 呼び出し元のスパンの ID(PARENT_SPAN_ID)。
- 呼び出し元のスパンがリクエストをサンプリングしたかどうか(SAMPLED_FLAG)。このフィールド
は、サンプリングされた場合は
01、サンプリングされなかった場合は00です。
tracestate フィールドには、ベンダー固有のトレース情報が含まれます。
制限事項
トレース コンテキストは W3C トレース コンテキスト 標準に準拠し、
sampledフラグ を 1 に設定する必要があります。リモートの Google Cloud MCP サーバーは、
tools/callオペレーションに対して単一のスパンを生成できますが、他のタイプのオペレーションやtools/callオペレーションの子スパンは生成しません。リモートの Google Cloud MCP サーバーは、リクエストが認証、承認され、他の内部チェックに合格した場合にのみスパンを生成します。
トレースをサポートする MCP サーバー
このセクションでは、トレースをサポートするリモートの Google と Google Cloud MCP サーバーについて説明します。また、自己ホスト型 MCP サーバーでトレース スパンを生成する方法についても説明します。
自己ホスト型サーバー
自己ホスト型 MCP サーバーを計測して、テレメトリーデータを Google Cloud プロジェクトに送信することをおすすめします。
Python を使用する場合、計測では tools/call オペレーションのスパンを生成できます。詳細については、
OpenTelemetry を使用して自己ホスト型 MCP サーバーを計測するをご覧ください。
トレースをサポートするリモートの Google と Google Cloud MCP サーバー
次のプロダクトには、リモート MCP サーバーが tools/call オペレーションのトレース スパンを生成できる統合が含まれています。
| プロダクト | リファレンス |
|---|---|
| Cloud Logging | Cloud Logging MCP リファレンス |
| Cloud Monitoring | Cloud Monitoring MCP リファレンス |
| マップ Grounding Lite | マップ Grounding Lite MCP リファレンス |
| GKE | GKE MCP リファレンス |
| Cloud Run | Cloud Run MCP リファレンス |
| Compute Engine | Compute Engine MCP リファレンス |
| Google Security Operations | Google SecOps MCP リファレンス |
| AlloyDB for PostgreSQL | AlloyDB for PostgreSQL MCP リファレンス |
| エージェント検索 | エージェント検索 MCP リファレンス |
| Cloud SQL | |
| BigQuery | BigQuery MCP リファレンス |
| Personalized Service Health | Personalized Service Health MCP リファレンス |
| Cloud Billing | Cloud Billing MCP リファレンス |
| Policy Troubleshooter | Policy Troubleshooter MCP リファレンス |
アプリケーションの構成
_meta フィールドを使用してトレース コンテキストを渡すフレームワークまたは SDK を使用できます。これらのフレームワークと SDK には、MCP の OpenTelemetry セマンティック規約をサポートするものがあります。
たとえば、Agent Development Kit(ADK)フレームワークを使用できます。 詳細については、OpenTelemetry を使用して ADK アプリケーションを計測するをご覧ください。
スパンを表示する
トレースデータを表示するには、Trace エクスプローラ を使用します。このページでは、トレースデータの集計情報を表示し、個々のトレースとスパンを調べることができます。詳細については、 トレースを検索して調査するをご覧ください。
MCP サーバーによって書き込まれたスパンを表示するには、スパン名でトレースデータをフィルタします。たとえば、一部のリモート Google Cloud MCP サーバーは、tools/call オペレーションを受信するとトレース スパンを生成できます。これらのスパンには、次の命名規則があります。
tools/call NAME
上の式で、NAME は呼び出されたツール(list_keys など)を指します。この命名
規則は、MCP の OpenTelemetry セマンティック規約で定義されています。
これらのスパンを見つけるには、フィルタバーを使用して、mcp.method.name の属性フィルタを追加します。フィルタの値を tools/call に設定します。これらの手順の
詳細については、
リモート MCP サーバーへの呼び出しを表示するをご覧ください。
インストルメンテーションのサンプル
計測手法の推奨事項については、 計測方法を選択するをご覧ください。
提供する計測サンプルでは、 OpenTelemetry を使用しています。
コレクタベースのエクスポートを使用するサンプルについては、以下をご覧ください。
これらのサンプルでは、 Telemetry API を使用して、 OpenTelemetry Protocol(OTLP)形式の指標データとトレースデータをプロジェクトに送信します。サンプルでは、ログデータに Google Cloud エクスポータを使用します。
トレースデータの直接エクスポートを使用して、そのデータを Telemetry API に送信する方法については、 Trace エクスポータから OTLP エンドポイントに移行するをご覧ください。
プロンプトとレスポンスを収集するようにエージェント アプリケーションを構成する方法を示すサンプルについては、 生成 AI アプリケーションを計測する方法をご覧ください。