Kontrak protokol MCP
Memahami persyaratan untuk menerapkan Model Context Protocol (MCP) sehingga agen dapat memanggil alat dan server agen.
Misalnya kode, lihat Menerapkan server MCP di AgentCore Runtime.
Topik
Persyaratan implementasi protokol
Server MCP Anda harus menerapkan persyaratan protokol khusus ini:
-
Streamable-http Transportasi: transportasi diperlukan. Secara default, gunakan stateless mode (
stateless_http=True) untuk kompatibilitas dengan AWS manajemen sesi dan load balancing. -
Manajemen Sesi: Platform secara otomatis menambahkan
Mcp-Session-Idheader untuk isolasi sesi. Dalam mode stateless, server harus mendukung operasi stateless agar tidak menolak header yang dihasilkan platform.Mcp-Session-Id
Tip
Amazon Bedrock AgentCore juga mendukung server MCP stateful (stateless_http=False) yang memungkinkan kemampuan seperti elicitation (interaksi pengguna multi-putaran) dan pengambilan sampel (konten). LLM-generated Mode stateful diperlukan ketika server MCP Anda perlu mempertahankan konteks sesi di beberapa permintaan dalam pemanggilan alat yang sama. Untuk informasi dan contoh selengkapnya, lihat Fitur server MCP stateful.
Manajemen sesi MCP dan kelengketan microVM
Model Context Protocol (MCP) menggunakan Mcp-Session-Id header untuk mengelola status sesi dan permintaan rute. Untuk spesifikasi MCP, lihat MCP Streamable
MicroVM Stickiness: Amazon AgentCore Bedrock menggunakan header untuk merutekan permintaan Mcp-Session-Id ke instance microVM yang sama. Klien harus menangkap yang Mcp-Session-Id dikembalikan dalam tanggapan dan memasukkannya ke dalam semua permintaan berikutnya untuk memastikan afinitas sesi. Tanpa ID sesi yang konsisten, setiap permintaan dapat dialihkan ke microVM baru, yang dapat mengakibatkan latensi tambahan karena start dingin.
MCP tanpa kewarganegaraan ()stateless_http=True:
-
Platform menghasilkan
Mcp-Session-Iddan memasukkannya dalam permintaan ke server MCP Anda. -
Server MCP Anda harus menerima ID sesi yang disediakan platform (jangan menolaknya).
-
Platform mengembalikan hal yang sama
Mcp-Session-Idke klien dalam respons. -
Klien harus menyertakan ID sesi ini dalam semua permintaan berikutnya untuk afinitas microVM.
MCP stateful (): stateless_http=False
-
Klien mengirimkan permintaan inisialisasi tanpa
Mcp-Session-Idheader. -
Platform kembali
Mcp-Session-Iddalam respons. -
Klien harus menyertakan ini
Mcp-Session-Iddalam semua permintaan berikutnya untuk status sesi dan afinitas microVM.
Untuk detail lebih lanjut tentang manajemen sesi MCP stateful, lihat spesifikasi manajemen sesi MCP
catatan
Dalam kedua mode, Amazon Bedrock AgentCore selalu mengembalikan Mcp-Session-Id header ke klien. Selalu tangkap dan gunakan kembali header ini untuk kinerja optimal.
Persyaratan kontainer
Server MCP Anda harus digunakan sebagai aplikasi kontainer yang memenuhi spesifikasi berikut:
-
Tuan rumah:
0.0.0.0 -
Port:
8000- Port standar untuk komunikasi server MCP (berbeda dari protokol HTTP) -
Platform: Kontainer ARM64 - Diperlukan untuk kompatibilitas dengan lingkungan AWS runtime Amazon Bedrock AgentCore
Persyaratan jalur
/mcp - POSTING
Tujuan
Menerima pesan MCP RPC dan memprosesnya melalui kemampuan alat agen Anda, menyelesaikan pass-through muatan InvokeAgentRuntimeAPI dengan pesan RPC MCP standar
Format respons
JSON-RPC request/response format berbasis, mendukung keduanya application/json dan text/event-stream sebagai tipe konten respons
Kasus penggunaan
/mcpTitik akhir melayani beberapa tujuan utama:
-
Pemanggilan dan manajemen alat
-
Penemuan kemampuan agen
-
Akses dan manipulasi sumber daya
-
Multi-step alur kerja agen
Tanggapan Otentikasi OAuth
OAuth-configured agen mengikuti standar otentikasi RFC 6749 (OAuth 2.0
401 Tidak Sah
Dikembalikan ketika header Otorisasi hilang atau kosong.
Respons termasuk WWW-Authenticate header:
WWW-Authenticate: Bearer resource_metadata="https://bedrock-agentcore.{region}.amazonaws.com/runtimes/{ESCAPED_ARN}/invocations/.well-known/oauth-protected-resource?qualifier={QUALIFIER}"
catatan
SigV4-configured agen mengembalikan HTTP 403 dengan ACCESS_DENIED kesalahan dan tidak menyertakan WWW-Authenticate header.