Menyelidiki panggilan MCP menggunakan Trace

Cloud Trace memungkinkan Anda menganalisis perilaku dan performa aplikasi agentic yang memanggil server MCP Google Cloud jarak jauh. Anda dapat melengkapi aplikasi Anda untuk mencatat perintah, respons, dan pemanggilan metode, sementara server MCP jarak jauh menghasilkan span untuk panggilan alat. Trace menangkap operasi menyeluruh untuk menampilkan urutan panggilan dan latensi keseluruhan, sedangkan span individual memberikan detail status dan pengaturan waktu untuk fungsi tertentu.

Tentang alat

Alat memungkinkan agen mengumpulkan informasi di luar data pelatihannya, biasanya dengan berinteraksi dengan API eksternal. Dengan server MCP Google Cloud, aplikasi agentic Anda dapat memanggil alat yang memanggil metode API Google Cloud . Misalnya, aplikasi Anda dapat memanggil alat list_log_entries untuk mengambil data log terbaru.

Model Context Protocol (MCP) adalah spesifikasi yang menentukan cara standar bagi agen AI untuk berkomunikasi dan berinteraksi dengan alat, sumber data, dan resource eksternal. Untuk mengetahui daftar lengkap produk yang menyediakan server MCP dan link ke dokumentasi referensinya, lihat Produk yang didukung.

Cara konteks trace diteruskan ke server MCP

Halaman referensi MCP, seperti dokumentasi untuk list_log_entries, memberikan contoh perintah curl yang dapat Anda gunakan untuk mengirim permintaan HTTP ke alat. Payload JSON yang dikirim dalam permintaan mirip dengan berikut ini:

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "NAME",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "id": 1
}

Nilai kolom name mencantumkan nama alat, seperti list_log_entries. Kolom arguments berisi informasi yang diperlukan oleh operasi untuk menyelesaikan permintaan.

Standar MCP menentukan kolom _meta, yang memungkinkan klien dan server melampirkan metadata ke interaksi mereka. Klien dan server dapat menggunakan kolom ini untuk meneruskan konteks trace:

{
  "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
}

Data _meta menyertakan kolom traceparent. Format nilai kolom ini ditentukan oleh header traceparent World Wide Web Consortium (W3C). Nilai mencakup hal berikut:

  • Versi spesifikasi traceparent (00).
  • ID rekaman aktivitas (TRACE_ID).
  • ID span panggilan (PARENT_SPAN_ID).
  • Apakah span panggilan mengambil sampel permintaan (SAMPLED_FLAG). Kolom ini memiliki nilai 01 saat diambil sampelnya dan 00 saat tidak diambil sampelnya.

Kolom tracestate berisi informasi pelacakan khusus vendor.

Batasan

  • Konteks trace harus mengikuti standar W3C Trace Context, dan flag sampled harus ditetapkan ke 1.

  • Server MCP Google Cloud jarak jauh dapat menghasilkan satu span untuk operasi tools/call, tetapi tidak menghasilkan span untuk jenis operasi lain atau span turunan untuk operasi tools/call.

  • Server MCP Google Cloud jarak jauh hanya menghasilkan span jika permintaan diautentikasi, diotorisasi, dan lulus pemeriksaan internal lainnya.

Server MCP yang mendukung pelacakan

Bagian ini mencantumkan server MCP Google dan Google Cloud jarak jauh yang mendukung pelacakan. Panduan ini juga menjelaskan cara server MCP yang dihosting sendiri dapat menghasilkan span trace.

Server yang dihosting sendiri

Sebaiknya Anda melengkapi server MCP yang dihosting sendiri untuk mengirim data telemetri ke project Google Cloud Anda. Jika Anda menggunakan Python, instrumentasi dapat menghasilkan span untuk operasi tools/call. Untuk mengetahui informasi selengkapnya, lihat Melakukan instrumentasi server MCP yang dihosting sendiri dengan OpenTelemetry.

Server Google dan Google Cloud server MCP jarak jauh yang mendukung pelacakan

Produk berikut berisi integrasi yang memungkinkan server MCP jarak jauhnya membuat span trace untuk operasi tools/call:

Produk Referensi
Cloud Logging Referensi MCP Cloud Logging
Cloud Monitoring Referensi MCP Cloud Monitoring
Maps Grounding Lite Referensi MCP Maps Grounding Lite
GKE Referensi MCP GKE
Cloud Run Referensi MCP Cloud Run
Compute Engine Referensi MCP Compute Engine
Google Security Operations Referensi MCP Google SecOps
AlloyDB untuk PostgreSQL Referensi MCP AlloyDB untuk PostgreSQL
Agent Search Referensi MCP Agent Search
Cloud SQL
BigQuery Referensi MCP BigQuery
Personalized Service Health Referensi MCP Personalized Service Health
Penagihan Cloud Referensi MCP Penagihan Cloud
Pemecah Masalah Kebijakan Referensi MCP Pemecah Masalah Kebijakan
Managed Service untuk Apache Airflow Referensi MCP Managed Service untuk Apache Airflow
Datastream Referensi MCP Datastream
Penganalisis Kebijakan Referensi MCP Penganalisis Kebijakan
Pemeliharaan Terpadu Referensi MCP Pemeliharaan Terpadu
Identity and Access Management Referensi MCP Identity and Access Management
Organization Policy Service Referensi MCP Organization Policy Service
Spanner Referensi MCP Spanner
Security Command Center Referensi MCP Security Command Center

Konfigurasi aplikasi Anda

Anda dapat menggunakan framework atau SDK apa pun yang meneruskan konteks trace menggunakan kolom _meta. Framework dan SDK ini mencakup framework dan SDK yang mendukung Konvensi Semantik OpenTelemetry untuk MCP.

Misalnya, Anda dapat menggunakan framework Agent Development Kit (ADK). Untuk mempelajari lebih lanjut, lihat Melakukan instrumentasi pada aplikasi ADK dengan OpenTelemetry.

Melihat span

Untuk melihat data trace, gunakan Trace Explorer. Halaman ini memungkinkan Anda melihat informasi gabungan tentang data trace serta menjelajahi trace dan span individual. Untuk mempelajari lebih lanjut, lihat Menemukan dan menjelajahi trace.

Untuk melihat span yang ditulis oleh server MCP, filter data trace Anda berdasarkan nama span. Misalnya, beberapa server MCP Google Cloud jarak jauh dapat menghasilkan span trace saat menerima operasi tools/call. Span ini memiliki konvensi penamaan berikut:

tools/call NAME

Dalam ekspresi sebelumnya, NAME mengacu pada alat yang dipanggil—misalnya, list_keys. Konvensi penamaan ini ditentukan oleh Konvensi Semantik OpenTelemetry untuk MCP.

Untuk menemukan span ini, gunakan panel filter dan tambahkan filter atribut untuk mcp.method.name. Tetapkan nilai filter ke tools/call. Untuk mengetahui informasi mendetail tentang langkah-langkah ini, lihat Melihat panggilan ke server MCP jarak jauh.

Contoh instrumentasi

Untuk rekomendasi instrumentasi, lihat Memilih pendekatan instrumentasi.

Contoh instrumentasi yang kami sediakan menggunakan OpenTelemetry: