Mendaftarkan server MCP

Agent Registry bertindak sebagai katalog terpusat dengan mendaftarkan dan mengelola endpoint server Model Context Protocol (MCP) serta alat tertentu yang dieksposnya.

Dokumen ini menjelaskan cara mendaftarkan server MCP dan cara spesifikasi alatnya dikelola dalam Agent Registry.

Penemuan otomatis server Google Cloud MCP

Server MCP Google dan Google Cloud jarak jauh resmi akan otomatis didaftarkan dan dimasukkan ke Agent Registry. Server MCP Google dan Google Cloud jarak jauh yang tersedia tercantum dalam Produk yang didukung dari Google Cloud dokumentasi server MCP.

Saat Anda mengaktifkan Google Cloud APIdi project yang didukung, seperti Compute Engine API, server MCP yang sesuai dan alatnya akan langsung didaftarkan dan tersedia untuk penemuan di Agent Registry. Anda tidak perlu mengonfigurasi atau mengupload spesifikasi alat untuk server ini secara manual.

Cakupan dan binding untuk server MCP yang dikelola Google

Server MCP jarak jauh yang dikelola Google otomatis didaftarkan di lokasi global project Anda. Karena server Google bawaan ini berada secara global, Anda harus menerapkan binding Identity and Access Management (IAM) untuk server tersebut dalam cakupan global dengan menentukan flag --region=global. Binding IAM regional, seperti --region=us-central1, tidak didukung untuk server MCP jarak jauh global ini dan akan menampilkan error NOT_FOUND.

Mendaftarkan server MCP dari GKE

Anda dapat mengonfigurasi pendaftaran otomatis untuk server MCP kustom yang di-deploy di Google Kubernetes Engine (GKE) dengan menambahkan label registry.gke.io/functional-type: "MCP_SERVER" ke deployment GKE Anda.

Agar Agent Registry dapat melakukan pemindaian introspeksi dan menemukan alat MCP Anda, deployment Anda juga harus menyertakan anotasi yang mendeklarasikan URL endpoint dan detail kemampuan server.

Contoh berikut menunjukkan manifes deployment server MCP GKE menggunakan konfigurasi ini.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-mcp-server
  labels:
    # GKE takes this label and registers the deployment as an MCP server to the registry
    registry.gke.io/functional-type: "MCP_SERVER"
  annotations:
    # A list of endpoint URLs where the GKE controller can access this MCP server
    modelcontextprotocol.info/urls: |
      - https://my-mcp-server.default.svc.cluster.local/mcp
    # Defines structural capabilities for the MCP server card
    modelcontextprotocol.info/capabilities: |
      card:
        endpoint: "/mcp"
        protocol: "HTTP"
spec:
  selector:
    matchLabels:
      app: my-mcp-server
  template:
    metadata:
      labels:
        app: my-mcp-server
    spec:
      containers:
      - name: server
        image: gcr.io/my-project/my-mcp-server:1.0.0

Saat Anda menerapkan deployment, GKE akan otomatis mencoba mendapatkan spesifikasi alat dari server dan mendaftarkan alat langsung ke model data Agent Registry.

Mendaftarkan server MCP dari Cloud Run

Anda dapat mengonfigurasi pendaftaran otomatis untuk server MCP kustom yang di-deploy di Cloud Run dengan menentukan flag --functional-type=mcp-server saat Anda men-deploy-nya.

Saat Anda men-deploy layanan Cloud Run dengan --functional-type=mcp-server, layanan tersebut akan didaftarkan ke katalog server MCP di Agent Registry.

Anda juga dapat menentukan jenis identitas menggunakan flag --identity-type. Misalnya, tentukan identitas agent-identity atau service-account. Jika tidak ditentukan, workload akan menggunakan identitas akun layanan secara default.

Untuk mempelajari cara men-deploy layanan server MCP di Cloud Run, lihat Mengonfigurasi fitur Agent Platform untuk Cloud Run.

Untuk mengetahui informasi selengkapnya, lihat Menghosting server MCP di Cloud Run dan Mengautentikasi server MCP.

Pendaftaran otomatis hanya menemukan resource yang di-deploy dalam Google Cloud project yang sama.

Mendaftarkan server MCP eksternal

Untuk mengelola dan menggunakan kembali alat yang disediakan oleh server eksternal atau API kustom, Anda harus mendaftarkan server MCP secara eksplisit.

Saat mendaftarkan server MCP secara manual, Agent Registry akan mendaftarkan endpoint. Namun, server tidak otomatis melakukan introspeksi untuk menentukan alat yang tersedia. Agar pengguna dapat menemukan alat yang tersedia di server MCP Anda, Anda harus memberikan spesifikasi alat selama pendaftaran dengan mengupload file toolspec.json.

Sebelum memulai

Sebelum memulai, siapkan Agent Registry. Anda memerlukan ID project untuk melakukan tugas ini.

Untuk menggunakan perintah gcloud CLI dalam dokumen ini, pastikan Anda telah menyiapkan lingkungan Google Cloud CLI.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan guna mendaftarkan server MCP secara manual di Agent Registry, minta administrator untuk memberi Anda peran IAM Agent Registry API Editor (roles/agentregistry.editor) pada project. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Menyiapkan spesifikasi alat

Buat file toolspec.json yang menguraikan alat yang disediakan server. Ukuran file maksimum untuk file spesifikasi ini adalah 10 KB.

File JSON harus sesuai dengan spesifikasi MCP untuk skema alat, misalnya:

{
  "tools": [
    {
      "name": "get_customer_info",
      "description": "Retrieves customer details from the database.",
      "annotations": {
        "title": "Get Customer Info",
        "readOnlyHint": true,
        "idempotentHint": true
      }
    },
    {
      "name": "create_support_ticket",
      "description": "Creates a new support ticket in the issue tracking system.",
      "annotations": {
        "title": "Create Support Ticket",
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true
      }
    }
  ]
}

Untuk mengetahui persyaratan struktural mendetail, lihat Skema JSON dan referensi REST.

Mendaftarkan server dan alat

Daftarkan server MCP dan upload definisi alat secara bersamaan:

Konsol

  1. Di Google Cloud konsol, buka Agent Registry:

    Buka Agent Registry

  2. Dari pemilih project, pilih Google Cloud project tempat Anda menyiapkan Agent Registry.

  3. Pilih tab MCP servers.

  4. Klik Add server MCP.

  5. Di panel detail server MCP, masukkan nama tampilan, deskripsi, dan wilayah geografis.

  6. Di bagian Tool specification, masukkan URL endpoint server MCP dan tempelkan konten file toolspec.json Anda.

    Secara opsional, klik Import tools di panel ini untuk mengimpor alat MCP dari URL. Opsi ini hanya berfungsi jika URL endpoint server MCP Anda dihosting secara publik melalui internet. Anda tidak dapat menggunakan fitur ini untuk mengimpor alat dari server MCP yang dihosting secara pribadi.

  7. Klik Next.

    Panel Select MCP tools menampilkan daftar alat dengan nama dan deskripsi dari server MCP Anda.

  8. Pilih semua alat MCP yang ingin Anda sertakan. Anda dapat memfilter alat dari daftar berdasarkan nama atau nilai.

  9. Klik Save.

gcloud

Daftarkan server MCP dengan spesifikasi alat:

gcloud agent-registry services create SERVER_NAME \
  --project=PROJECT_ID \
  --location=REGION \
  --display-name="DISPLAY_NAME" \
  --mcp-server-spec-type=tool-spec \
  --mcp-server-spec-content=@toolspec.json \
  --interfaces=url=SERVER_URL,protocolBinding=PROTOCOL

Ganti kode berikut:

  • SERVER_NAME: Nama yang ingin Anda berikan ke server MCP, misalnya, custom-mcp-server.
  • PROJECT_ID: project ID.
  • REGION: Region registry.
  • DISPLAY_NAME: Nama yang dapat dibaca manusia yang ingin Anda berikan ke server, misalnya, Custom MCP Server.
  • SERVER_URL: URL endpoint server MCP, misalnya, https://api.example.com/mcp.
  • PROTOCOL: Binding protokol untuk endpoint. Nilai yang valid adalah jsonrpc, http-json, atau grpc. Untuk server MCP, nilai ini sering kali adalah jsonrpc.

Terraform

Untuk mendaftarkan server MCP dan menentukan alatnya, konfigurasikan resource google_agent_registry_service dengan blok mcp_server_spec:

resource "google_agent_registry_service" "mcp_server" {
  location     = "REGION"
  service_id   = "SERVER_NAME"
  display_name = "DISPLAY_NAME"
  description  = "An external MCP server registered using Terraform."

  interfaces {
    url              = "SERVER_URL"
    protocol_binding = "JSONRPC"
  }

  mcp_server_spec {
    type    = "TOOL_SPEC"
    content = file("toolspec.json")
  }
}

output "server_resource_name" {
  description = "The generated read-only Server resource name."
  value       = google_agent_registry_service.mcp_server.registry_resource
}

Ganti kode berikut:

  • REGION: Region registry.
  • SERVER_NAME: Nama yang ingin Anda berikan ke server MCP, misalnya, custom-mcp-server.
  • DISPLAY_NAME: Nama yang dapat dibaca manusia yang ingin Anda berikan ke server, misalnya, Custom MCP Server.
  • SERVER_URL: URL endpoint server MCP, misalnya, https://api.example.com/mcp.

Memverifikasi pendaftaran

Buat daftar, filter, dan lihat detail server MCP yang baru didaftarkan. Untuk mengonfirmasi bahwa server MCP Anda berhasil didaftarkan, Anda dapat membuat daftar server di registry Anda.