Ringkasan Model Context Protocol (MCP) di Apigee

Halaman ini berlaku untuk Apigee dan Apigee hybrid.

Lihat dokumentasi Apigee Edge.

Halaman ini menjelaskan cara menggunakan Apigee untuk mengekspos API Anda sebagai alat MCP ke aplikasi berbasis agen. MCP di Apigee tersedia untuk organisasi Berlangganan, Bayar sesuai penggunaan, dan Evaluasi, termasuk organisasi yang mendukung Residensi Data. Mulai dari Apigee hybrid versi 1.17.0, MCP juga tersedia untuk Apigee hybrid — bidang data runtime berjalan di dalam cluster Kubernetes Anda sendiri, bukan di infrastruktur yang dikelola Google. Lihat Mengaktifkan MCP di Apigee hybrid untuk alur penginstalan dan konfigurasi khusus Hybrid.

Apa itu MCP?

Model Context Protocol (MCP) adalah protokol open source yang dikembangkan oleh Anthropic yang menstandardisasi cara aplikasi AI terhubung ke sumber data, alur kerja, dan alat.

Aplikasi AI dapat menggunakan MCP untuk mengakses Google Cloud dan layanan Apigee sebagai alat. Dalam konteks ini, istilah MCP berikut berguna untuk dipahami:

  • Host MCP: Aplikasi atau lingkungan AI yang berinteraksi dengan pengguna. Host MCP menggunakan model bahasa besar (LLM) untuk memproses permintaan yang mungkin memerlukan data atau alat eksternal.
  • Klien MCP: Komponen dalam host MCP yang membantu LLM dan server MCP berkomunikasi satu sama lain. Klien ini menerjemahkan permintaan LLM untuk server MCP dan mengonversi balasan server MCP untuk LLM. Klien ini juga menemukan dan menggunakan server MCP yang tersedia.
  • Server MCP: Layanan eksternal yang menyediakan konteks, data, atau kemampuan ke LLM, yang bertindak sebagai proxy antara LLM dan klien MCP.

Cara kerja MCP di Apigee

Endpoint MCP untuk Google, Google Cloud, dan Apigee menerapkan spesifikasi server MCP. Hal ini memungkinkan klien MCP yang patuh mengaksesnya untuk:

  • Temukan endpoint yang tersedia.
  • Mencantumkan alat yang tersedia di endpoint.
  • Lakukan autentikasi ke endpoint.
  • Panggil alat sesuai dengan kebijakan akses yang ditentukan.

Klien MCP apa pun yang mendukung endpoint MCP jarak jauh melalui HTTP/S dapat mengakses alat ini. Karena endpoint dikelola, Anda tidak perlu menginstal atau mengelola server MCP lokal, server MCP jarak jauh, atau infrastruktur tambahan untuk memungkinkan aplikasi berbasis agen mengakses layanan Anda.

MCP di Apigee menawarkan dukungan JSON-RPC untuk metode tools/list dan tools/call. Anda dapat menyesuaikan endpoint MCP dengan parameter untuk kemampuan penemuan, keamanan, ketersediaan jaringan, dan kemampuan pengamatan.

Model deployment

MCP tersedia dalam dua model deployment Apigee:

  • Apigee (SaaS): Data plane MCP dihosting di infrastruktur yang dikelola Google. Anda men-deploy proxy Penemuan MCP dan endpoint akan langsung tersedia.
  • Apigee hybrid (dihosting sendiri, dimulai di Apigee hybrid 1.17.0): Bidang data MCP berjalan di dalam cluster Kubernetes Anda sendiri. Bidang kontrol Apigee membuat konfigurasi alat MCP dari Spesifikasi OpenAPI Anda, dan cluster Anda mengambil konfigurasi tersebut sesuai jadwalnya sendiri. Traffic permintaan MCP tidak pernah keluar dari cluster Anda. Lihat Mengaktifkan MCP di Apigee Hybrid.

Arsitektur bidang data MCP di Apigee Hybrid

Diagram berikut menunjukkan cara komponen MCP didistribusikan antara bidang kontrol Apigee dan cluster Apigee hybrid Anda.

MCP dalam arsitektur hybrid Apigee: Klien MCP memanggil ingress Apigee yang ada melalui HTTPS, yang merutekan ke Message Processor Anda, lalu ke bidang data MCP dalam cluster yang baru. Konfigurasi alat MCP dibuat oleh
  bidang kontrol Apigee dan ditarik oleh cluster Anda; bidang kontrol Apigee
  tidak pernah memanggil cluster Anda.

Dua properti arsitektur ini penting untuk perencanaan dan peninjauan keamanan:

  • Traffic permintaan MCP tetap berada di dalam cluster Anda. Klien MCP mengakses ingress Apigee yang ada di URL yang sama dengan yang akan mereka gunakan untuk proxy Apigee lainnya. Message Processor Anda kemudian merutekan permintaan ke bidang data MCP di cluster yang sama. Tidak ada permintaan atau respons MCP yang melintasi batas ke Google Cloud pada waktu permintaan.
  • Konfigurasi ditarik, bukan didorong. Konfigurasi alat MCP dibuat oleh bidang kontrol Apigee dan diambil oleh komponen di cluster Anda sesuai jadwal. Bidang kontrol Apigee tidak pernah memulai koneksi ke cluster Anda. Lihat Persyaratan jaringan keluar untuk mengetahui endpoint persis yang harus diizinkan oleh keluar cluster Anda.

Fitur utama MCP di Apigee

MCP di Apigee menawarkan fitur untuk penemuan alat, keamanan, dan tata kelola. Fitur ini membantu Anda mengelola cara aplikasi yang memiliki kemampuan agen berinteraksi dengan layanan Anda.

Penemuan alat yang disederhanakan dengan hub API

Anda dapat menemukan endpoint MCP yang tersedia untuk layanan Apigee menggunakan layanan direktori yang dapat diakses melalui antarmuka REST. Setiap endpoint MCP juga mendukung metode tools/list MCP, yang memungkinkan klien MCP menemukan alat yang tersedia di endpoint tersebut.

Selain itu, MCP terintegrasi dengan hub API Apigee. Saat MCP Discovery Proxy di-deploy, hub API akan otomatis memproses spesifikasi OpenAPInya, menetapkan gaya API MCP, dan memetakan operasi API ke masing-masing alat MCP. Hal ini memungkinkan developer memfilter API yang kompatibel dengan MCP di hub API dengan mudah dan menggunakan Penelusuran Semantik dengan kueri bahasa alami untuk menemukan alat yang relevan bagi aplikasi berbasis agen mereka.

Keamanan

MCP di Apigee mencakup beberapa lapisan keamanan untuk melindungi layanan Anda. Anda dapat mengontrol akses menggunakan autentikasi, otorisasi, batas jaringan, dan pemindaian konten.

Autentikasi

Endpoint MCP yang dihosting Apigee mendukung OAuth 2.1 dan OpenID Connect (OIDC) untuk autentikasi. Dengan demikian, hanya agen, klien MCP, dan pengguna akhir dengan identitas yang ditetapkan yang dapat mengakses endpoint MCP Anda dan memanggil alat MCP. Metadata Resource yang Dilindungi memungkinkan klien menemukan server otorisasi OAuth.

Kebijakan otorisasi terperinci

Anda dapat membatasi akses ke alat MCP berdasarkan identitas klien OAuth. Misalnya, Anda dapat mengonfigurasi kebijakan di proxy Penemuan MCP untuk menentukan bahwa hanya agen yang ditetapkan dengan identitas klien yang diketahui yang dapat mengakses alat MCP untuk layanan pembayaran.

Tanggung jawab klien untuk pemanggilan alat

Aplikasi klien MCP bertanggung jawab untuk menerapkan pengawasan manusia atas pemanggilan alat, seperti meminta pengguna sebelum mengeksekusi operasi yang mengubah status. Untuk mengetahui informasi selengkapnya, lihat dokumentasi Model Context Protocol.

Kemampuan observasi dan analisis

Untuk endpoint yang dihosting Apigee, Anda dapat menggunakan Apigee Analytics untuk melihat informasi penggunaan mendetail untuk alat MCP Anda. Analytics memungkinkan Anda menyegmentasikan traffic khusus MCP dari traffic API standar dan melihat metrik di tingkat alat individual, seperti volume permintaan tools/list (penemuan) versus tools/call (eksekusi). Metrik performa juga membantu Anda membedakan antara overhead proxy dan waktu respons target, sehingga Anda dapat menentukan bottleneck secara lebih efektif.

Keandalan dan pemecahan masalah

Untuk meningkatkan pemecahan masalah dan memberikan visibilitas yang lebih baik ke dalam proses deployment, Apigee menampilkan error konfigurasi dan infrastruktur tertentu di UI. Jika deployment gagal karena spesifikasi OpenAPI yang tidak valid atau masalah infrastruktur regional, UI akan memberikan masukan yang dapat ditindaklanjuti untuk membantu Anda menyelesaikan masalah tanpa memerlukan intervensi dukungan.

Menggunakan MCP dengan Apigee

Anda dapat mengekspos API Apigee yang ada sebagai alat MCP dan membuatnya dapat diakses melalui endpoint MCP. Endpoint ini dapat dikonfigurasi di tingkat per host atau grup lingkungan. Misalnya, jika organisasi cymbal Anda memiliki delapan nama host (misalnya, api.cymbal.com, partners.cymbal.com), yang masing-masing terkait dengan grup lingkungan yang berbeda, Anda dapat menghosting server MCP khusus untuk setiap nama host.

Endpoint target terkelola (ORG_NAME.mcp.apigee.internal) di-deploy menggunakan proxy Penemuan MCP khusus di organisasi Apigee Anda, tempat server MCP Anda tersedia.

Tabel berikut menunjukkan contoh cara pelanggan, termasuk organisasi simbal fiktif, dapat mengonfigurasi beberapa endpoint MCP menggunakan Apigee.

Pelanggan Nama host dan basepath MCP Endpoint target server MCP Proxy API Lingkungan / Grup lingkungan
simbal api.cymbal.com/mcp cymbal.mcp.apigee.internal
(project tenant organisasi cymbal)
mcp-api-proxy1 prod/prod-env-group
api-internal.cymbal.com/mcp cymbal.mcp.apigee.internal
(project tenant organisasi cymbal)
mcp-api-proxy2 internal/internal-env-group
api-service.cymbal.com/mcp cymbal.mcp.apigee.internal
(project tenant organisasi cymbal)
mcp-api-proxy3 dev/dev-env-group

Batasan

Batasan berikut berlaku untuk MCP di Apigee:

  • Jumlah alat MCP dalam organisasi Apigee dibatasi hingga 1.000.
  • Deployment infrastruktur MCP dapat tunduk pada batasan kapasitas di wilayah berikut:
    • europe-central2
    • europe-southwest1
    • europe-west9
    • me-central2

    Jika Anda melihat error penyediaan, atau status penyediaan tidak pernah berubah menjadi Di-deploy, hal ini mungkin disebabkan oleh batas kapasitas infrastruktur sementara di region yang dipilih. Coba deploy proxy ke lingkungan di region lain.

  • MCP di Apigee mendukung versi OpenAPI berikut: 3.0.0, 3.0.1, 3.0.2. 3.0.3.
  • Insight API di hub API Apigee tidak tersedia untuk API dan alat MCP yang di-deploy di organisasi Apigee dengan VPC-SC diaktifkan.
  • Panggilan GET pada respons error MCP akan menampilkan error 405, karena server MCP saat ini tidak mendukung streaming Peristiwa yang Dikirim Server (SSE).
  • Insight API hub API Apigee tidak akan menampilkan API atau traffic gaya MCP untuk resource MCP hingga Apigee versi 1-17-0-apigee-6 di-roll out sepenuhnya ke semua region yang tersedia.
  • Anda tidak dapat mengubah atribut gaya API menjadi MCP untuk resource API yang memiliki operasi API yang sudah ada.

Batasan khusus Apigee Hybrid

Batasan berikut berlaku untuk MCP di Apigee hybrid:

  • Jumlah alat MCP dibatasi oleh ukuran, bukan oleh jumlah tetap. Tidak seperti Apigee (yang menerapkan jumlah maksimum tetap alat MCP per organisasi), Apigee Hybrid membatasi kapasitas alat melalui empat batas ukuran: ukuran file spesifikasi OpenAPI, ukuran paket proxy MCP, ukuran respons tools/list per nama host, dan jumlah nama host per grup lingkungan. Untuk sebagian besar spesifikasi OpenAPI, Anda biasanya dapat menyesuaikan 10.000 alat MCP per organisasi dengan batas ukuran respons default. Kapasitas sebenarnya bervariasi dengan bentuk spesifikasi tertentu (didominasi oleh jumlah parameter dan properti isi permintaan, ditambah panjang deskripsi); skema respons tidak dihitung dalam anggaran. Untuk memperkirakan kapasitas spesifikasi OpenAPI tertentu dan melihat empat batas tetap serta mode kegagalannya, lihat Perkiraan kapasitas alat MCP.
  • Mengaktifkan atau menonaktifkan MCP akan memicu rilis canary bertahap pod Message Processor. Operator Apigee memperbarui spesifikasi pod Message Processor Anda saat Anda mengaktifkan atau menonaktifkan MCP, dan pengontrol ApigeeDeployment Message Processor menjalankan perubahan melalui rilis canary bertahap, bukan sebagai restart berkelanjutan Kubernetes biasa. Rilis hanya diaktifkan pada transisi aktifkan dan nonaktifkan, bukan pada aktivitas deployment MCP yang sedang berlangsung atau lalu lintas MCP dalam kondisi stabil. Jadwalkan pengaktifan awal dan operasi penonaktifan berikutnya selama masa pemeliharaan yang disetujui.
  • Penentuan ukuran resource pod MCP dikelola pelanggan. Pod MCP berjalan dengan permintaan dan batas resource yang ditetapkan oleh default bawaan dalam diagram Helm Apigee Hybrid. Jika workload Anda memerlukan kapasitas yang lebih besar, sesuaikan CPU dan memori di overrides.yaml. Lihat referensi kolom overrides.yaml untuk mengetahui kolom yang tersedia.
  • Satu bidang data MCP per organisasi Apigee, per cluster. Pada versi 1.17.0, operator Apigee menyediakan satu bidang data MCP untuk setiap organisasi Apigee yang diinstal di cluster. Cluster yang menghosting beberapa organisasi Apigee menjalankan satu bidang data MCP per organisasi; bidang data bersifat independen dan tidak berbagi konfigurasi.
  • Pengaktifan seragam di seluruh grup lingkungan diperlukan. Aktifkan MCP secara seragam di semua cluster yang melayani grup lingkungan Apigee yang sama. Jika MCP diaktifkan di beberapa cluster dalam grup, tetapi tidak di cluster lainnya, permintaan MCP yang dirutekan ke cluster tanpa MCP yang diaktifkan akan menerima respons 503 Service Unavailable.
  • TLS satu arah antara Message Processor dan bidang data MCP. Versi 1.17.0 menggunakan TLS satu arah antara Message Processor dan bidang data MCP.
  • Bidang data MCP mengandalkan Message Processor untuk identitas pemanggil. Bidang data MCP di cluster tidak mengautentikasi pemanggilnya secara independen di 1.17.0; MCP memercayai bahwa permintaan yang sampai kepadanya telah diautentikasi oleh proxy Apigee yang berjalan di Message Processor. Setiap permintaan MCP yang harus diautentikasi harus tiba melalui proxy MCP Apigee yang menerapkan kebijakan autentikasi (lihat Mengelola akses alat MCP). Pelanggan produksi harus menerapkan kontrol ingress cluster sehingga hanya Pod Message Processor (label Kubernetes app=apigee-runtime di namespace Kubernetes yang sama tempat Apigee Hybrid diinstal) yang dapat menjangkau Layanan MCP di TCP 443. Gunakan mesin kebijakan apa pun yang didukung platform Anda (Kubernetes NetworkPolicy, Cilium, Calico, Istio AuthorizationPolicy) untuk menerapkan pembatasan ini.

Langkah berikutnya