View a markdown version of this page

Kontrak protokol MCP - Batuan Dasar Amazon AgentCore

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.

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-Id header 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 HTTP Transport.

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-Id dan 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-Id ke 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-Id header.

  • Platform kembali Mcp-Session-Id dalam respons.

  • Klien harus menyertakan ini Mcp-Session-Id dalam 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). Ketika otentikasi tidak ada, layanan mengembalikan respons 401 Tidak Sah dengan WWW-Authenticate header (per RFC 7235), memungkinkan klien menemukan titik akhir server otorisasi melalui API. GetRuntimeProtectedResourceMetadata

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.