使用 Trace 檢查 MCP 呼叫

Cloud Trace 可讓您分析呼叫遠端 Google Cloud MCP 伺服器的代理應用程式行為和效能。您可以檢測應用程式,記錄提示、回覆和方法叫用,而遠端 MCP 伺服器則會為工具呼叫產生 span。追蹤記錄會擷取端對端作業,顯示呼叫序列和整體延遲時間,而個別範圍則會提供特定函式的狀態和時間詳細資料。

關於工具

工具可讓代理收集訓練資料以外的資訊,通常是透過與外部 API 互動。有了 Google Cloud MCP 伺服器,代理應用程式就能呼叫叫用 Google Cloud API 方法的工具。舉例來說,應用程式可以呼叫 list_log_entries 工具,擷取近期記錄資料。

Model Context Protocol (MCP) 是一項規格,定義 AI 代理與外部工具、資料來源和資源通訊及互動的標準化方式。如需提供 MCP 伺服器的完整產品清單和參考文件連結,請參閱「支援的產品」。

追蹤記錄相關資訊如何傳遞至 MCP 伺服器

MCP 參考頁面 (例如 list_log_entries 的說明文件) 會提供 curl 指令範例,可用於傳送 HTTP 要求至工具。要求中傳送的 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 欄位。這個欄位值的格式是由全球資訊網協會 (W3C) 的 traceparent 標頭定義。這個值包含下列項目:

  • traceparent 規格版本 (00)。
  • 追蹤記錄的 ID (TRACE_ID)。
  • 呼叫 Span 的 ID (PARENT_SPAN_ID)。
  • 呼叫 span 是否對要求進行取樣 (SAMPLED_FLAG)。如果已取樣,這個欄位的值為 01;如果未取樣,則為 00。

tracestate 欄位會攜帶供應商專屬的追蹤資訊。

限制

  • 追蹤記錄相關資訊必須遵循 W3C 追蹤記錄相關資訊標準,且 sampled 旗標必須設為 1。

  • 遠端 Google Cloud MCP 伺服器可為 tools/call 作業產生單一 span,但不會為其他類型的作業產生 span,也不會為 tools/call 作業產生子 span。

  • 只有在要求通過驗證、授權和其他內部檢查時,遠端 Google Cloud MCP 伺服器才會產生 Span。

支援追蹤功能的 MCP 伺服器

本節列出支援追蹤功能的遠端 Google 和 Google Cloud MCP 伺服器。此外,也會說明自行託管的 MCP 伺服器如何產生追蹤記錄 span。

自行託管的伺服器

建議您檢測自行託管的 MCP 伺服器,將遙測資料傳送至 Google Cloud 專案。如果您使用 Python,檢測設備可以為 tools/call 作業產生 span。詳情請參閱「使用 OpenTelemetry 檢測自行託管的 MCP 伺服器」。

支援追蹤功能的遠端 Google 和 Google Cloud MCP 伺服器

下列產品包含整合功能,可讓遠端 MCP 伺服器為 tools/call 作業產生追蹤記錄 span:

產品 參考資料
Cloud Logging Cloud Logging MCP 參考資料
Cloud Monitoring Cloud Monitoring MCP 參考資料
Maps Grounding Lite Maps 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 參考資料
Agent Search Agent Search MCP 參考資料
Cloud SQL
BigQuery BigQuery MCP 參考資料
Personalized Service Health Personalized Service Health MCP 參考資料
Cloud Billing Cloud Billing MCP 參考資料
政策疑難排解工具 政策疑難排解工具 MCP 參考資料
Managed Service for Apache Airflow Managed Service for Apache Airflow MCP 參考資料
Datastream Datastream MCP 參考資料
政策分析工具 Policy Analyzer MCP 參考資料
Unified Maintenance Unified Maintenance MCP 參考資料
Identity and Access Management Identity and Access Management MCP 參考資料
組織政策服務 組織政策服務 MCP 參考資料
Spanner Spanner MCP 參考資料
Security Command Center Security Command Center MCP 參考資料

設定應用程式

您可以使用任何架構或 SDK,只要該架構或 SDK 使用 _meta 欄位傳遞追蹤記錄相關資訊即可。這些架構和 SDK 包括支援 MCP 的 OpenTelemetry 語意慣例。

例如,您可以使用 Agent Development Kit (ADK) 框架。詳情請參閱「使用 OpenTelemetry 檢測 ADK 應用程式」。

查看 Span

如要查看追蹤記錄資料,請使用 Trace Explorer。這個頁面可讓您查看追蹤記錄資料的匯總資訊,以及探索個別追蹤記錄和 span。詳情請參閱「尋找及探索追蹤記錄」。

如要查看 MCP 伺服器寫入的 Span,請依 Span 名稱篩選追蹤記錄資料。舉例來說,某些遠端 Google Cloud MCP 伺服器在收到 tools/call 作業時,可以產生追蹤記錄 span。這些 span 的命名慣例如下:

tools/call NAME

在上述運算式中,NAME 是指叫用的工具,例如 list_keys。這項命名慣例是由 MCP 的 OpenTelemetry 語意慣例定義。

如要找出這些 Span,請使用篩選列,並為 mcp.method.name 新增屬性篩選器。將篩選器的值設為 tools/call。如要進一步瞭解這些步驟,請參閱「查看對遠端 MCP 伺服器的呼叫」。

檢測範例

如需檢測建議,請參閱「選擇檢測方法」。

我們提供的檢測範例使用 OpenTelemetry: