使用 Trace 檢查 MCP 呼叫

您可以設定呼叫遠端 Google Cloud MCP 伺服器的代理應用程式,讓這些伺服器產生記錄呼叫狀態的範圍。接著,您可以使用 Cloud Trace 儲存及分析記錄工具呼叫、方法叫用、提示和回應的範圍,協助您瞭解代理程式應用程式的行為。

「時距」會記錄屬於較大型端對端作業的單一函式或作業。「追蹤記錄」代表單一端對端作業,由範圍組成。因此,追蹤記錄會提供所呼叫函式序列和整體延遲時間的相關資訊,而時距則會提供特定函式的狀態和延遲時間資訊。

關於工具

工具可讓代理從訓練資料以外的來源收集資訊,通常是透過與外部 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_entriesarguments 欄位包含作業完成要求所需的資訊。

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)。
  • 呼叫範圍的 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 參考資料
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 參考資料

設定應用程式

您可以使用任何架構或 SDK,透過 _meta 欄位傳遞追蹤內容。這些架構和 SDK 包括支援 MCP 適用的 OpenTelemetry 語意慣例的架構和 SDK。

舉例來說,您可以使用 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