>_toolkitbox

~/ / Artikel AI / Spesifikasi MCP 2026-07-28: apa yang berubah, dan apa yang perlu diperiksa di berkas Anda sendiri

Spesifikasi MCP 2026-07-28: apa yang berubah, dan apa yang perlu diperiksa di berkas Anda sendiri

Spesifikasi Model Context Protocol (MCP) revisi 2026-07-28 menghapus sesi tingkat protokol, menyatakan usang transport HTTP+SSE yang lebih lama beserta beberapa fitur, dan melonggarkan aturan untuk schema tool. Artikel ini merangkum changelog resmi dan menunjukkan cara memeriksa dua berkas yang Anda tulis sendiri: konfigurasi MCP dan schema tool Anda.

Terbit: · Diperiksa terhadap spesifikasi resmi pada 2026-10-24. Artikel ini merangkumnya dan tidak menggantikannya.

Perubahan terbesar

  • Sesi tingkat protokol dan header Mcp-Session-Id dihapus dari transport Streamable HTTP. Server yang membutuhkan state di antara beberapa panggilan memakai handle eksplisit yang dibuatnya sendiri dan diteruskan sebagai argumen tool biasa.
  • MCP menjadi stateless: handshake initialize dihapus. Setiap permintaan membawa versi protokolnya dan kapabilitas klien di dalam _meta, dan ketidakcocokan versi mengembalikan UnsupportedProtocolVersionError.
  • Server wajib mengimplementasikan panggilan baru server/discover yang mengumumkan versi protokol, kapabilitas, dan identitas yang didukungnya.
  • Endpoint HTTP GET dan resources/subscribe digantikan oleh subscriptions/listen, satu aliran respons berumur panjang untuk notifikasi perubahan yang dipilih klien.
  • Permintaan yang dimulai server, seperti roots/list, sampling/createMessage, dan elicitation/create, digantikan oleh pola Multi Round-Trip Requests: server mengembalikan hasil yang meminta masukan, lalu klien mencoba ulang permintaan aslinya beserta jawabannya.
  • Tasks eksperimental dipindahkan dari protokol inti ke sebuah ekstensi resmi.
  • Aliran SSE yang dapat dilanjutkan (Last-Event-ID) dihapus. Aliran respons yang terputus menyebabkan permintaan yang sedang berjalan hilang, dan klien harus mengirimnya lagi sebagai permintaan baru.

Apa yang kini dinyatakan usang

FiturDinyatakan usang padaPenghapusan paling awalSaran migrasi
Roots2026-07-28Revisi pertama yang dirilis pada atau setelah 2027-07-28Teruskan direktori atau berkas melalui parameter tool, URI resource, atau konfigurasi server
Sampling2026-07-28Revisi pertama yang dirilis pada atau setelah 2027-07-28Integrasikan langsung dengan API penyedia LLM
Logging2026-07-28Revisi pertama yang dirilis pada atau setelah 2027-07-28Catat log ke stderr untuk stdio, atau gunakan OpenTelemetry
Dynamic Client Registration2026-07-28Revisi pertama yang dirilis pada atau setelah 2027-07-28Client ID Metadata Documents
Transport HTTP+SSE2025-03-26Tiga bulan setelah SEP-2596 mencapai status FinalStreamable HTTP
Nilai includeContext thisServer dan allServers2025-11-25Mengikuti SamplingHilangkan field tersebut atau gunakan none

Fitur yang dinyatakan usang tetap menjadi bagian dari spesifikasi. Penghapusan paling awal menandai kapan fitur itu memenuhi syarat untuk dihapus, dan penghapusan yang sebenarnya adalah keputusan yang diambil selama persiapan rilis. Kebijakan siklus hidup fitur yang baru menetapkan masa usang minimum dua belas bulan.

Periksa konfigurasi MCP Anda

Jika konfigurasi Anda masih memakai transport HTTP+SSE, berarti konfigurasi itu masuk dalam daftar yang dinyatakan usang. Dokumentasi Claude Code juga menyebut tipe sse miliknya sudah usang dan menyarankan memakai server HTTP bila tersedia. Spesifikasi menjelaskan penggantinya, Streamable HTTP: server menyediakan satu endpoint yang menerima POST, dan klien mengirim setiap pesan JSON-RPC sebagai HTTP POST tersendiri.

  • Setiap POST harus menyertakan header Accept yang mencantumkan application/json dan text/event-stream sekaligus.
  • Setiap POST harus menyertakan header MCP-Protocol-Version yang nilainya sama dengan versi protokol di badan permintaan.
  • Permintaan membawa header Mcp-Method, dan header Mcp-Name untuk tools/call, resources/read, dan prompts/get.
  • Server menjawab setiap permintaan dengan satu objek JSON atau dengan aliran SSE yang terbatas pada permintaan itu.

Revisi protokol mana yang didukung klien Anda adalah pertanyaan untuk dokumentasi klien Anda. Pemeriksa di bawah ini membaca .mcp.json atau claude_desktop_config.json dan melaporkan entri seperti server jarak jauh tanpa type, atau yang masih memakai sse.

Coba sekarang: MCP Config Checker

Aturan dicek terhadap dokumentasi pada 2026-10-23.

Dokumentasi: Claude Code / Model Context Protocol / VS Code

Tidak diperiksa: apakah sebuah command ada, apakah sebuah paket bisa diinstal, apakah server jarak jauh merespons, dan pengaturan yang dibaca secara berbeda oleh aplikasi lain.

Semuanya berjalan di browser Anda. Konfigurasi tidak diunggah.

Schema tool bisa memakai seluruh JSON Schema 2020-12

  • inputSchema dan outputSchema kini mengizinkan keyword JSON Schema 2020-12 apa pun, dan structuredContent dapat berupa nilai JSON apa pun. Spesifikasi menambahkan persyaratan untuk menyelesaikan $ref serta batasan pada sumber daya yang boleh dipakai keyword komposisi.
  • Server dapat menandai parameter tool dengan x-mcp-header agar nilainya disalin ke header HTTP Mcp-Param-{name}. Parameter yang ditandai harus berupa string, integer, atau boolean, bukan number.
  • Properti yang ditandai harus dapat dijangkau dari akar schema hanya melalui kunci properties. Rantainya tidak boleh melewati items, oneOf, anyOf, allOf, not, if/then/else, atau $ref.
  • Klien yang memakai Streamable HTTP harus menolak definisi tool yang anotasi x-mcp-header-nya melanggar aturan ini, yang berarti tool tersebut tidak dimasukkan ke dalam hasil tools/list.

Untuk menguji schema tool, tempelkan schema itu bersama contoh argumen pada validator di bawah ini. Validator memeriksa keyword umum Draft 2020-12 dan memberi tahu keyword mana yang tidak diperiksanya.

Coba sekarang: JSON Schema Validator

Mengikuti JSON Schema Draft 2020-12 untuk keyword yang didukungnya. $ref hanya dibaca di dalam schema yang sama.

Semuanya berjalan di browser Anda. Schema dan data tidak diunggah.

Poin keamanan untuk server

  • Server harus memvalidasi header Origin pada semua koneksi masuk untuk mencegah serangan DNS rebinding. Jika header ada dan tidak valid, server harus menjawab dengan HTTP 403 Forbidden.
  • Server yang berjalan secara lokal sebaiknya hanya terikat ke localhost (127.0.0.1), bukan ke semua antarmuka jaringan (0.0.0.0).
  • Server sebaiknya menerapkan autentikasi yang memadai untuk semua koneksi.
  • Server yang memproses badan permintaan harus menolak permintaan yang header-nya tidak cocok dengan badannya, dengan HTTP 400 dan galat JSON-RPC HeaderMismatch (kode -32020).
  • Server otorisasi sebaiknya menyertakan parameter iss dalam respons otorisasi (RFC 9207), dan bila iss ada, klien harus memvalidasinya sebelum menukarkan kode otorisasi.
  • Klien harus menyimpan kredensial klien menurut penerbit (issuer) yang memberikannya, dan tidak boleh memakainya kembali dengan server otorisasi yang berbeda.

Sumber