MCP mengabaikan pelajaran berharga dari sistem terdistribusi
(medium.com/@julsimon)- MCP (Model Context Protocol) mengusung standardisasi integrasi alat AI, tetapi mengabaikan 40 tahun praktik terbaik sistem terdistribusi dan RPC
- Akibatnya di lingkungan enterprise, fitur inti seperti keandalan operasi, type safety, keamanan, observabilitas, dan manajemen biaya hilang
- MCP tidak hanya bergantung pada pustaka eksternal untuk fitur penting, tetapi juga memicu fragmentasi protokol, kompleksitas integrasi, dan beban pengelolaan audit serta keamanan
- Pelacakan terdistribusi, pengelolaan versi skema, service discovery, optimasi performa, dan kebutuhan operasional lain yang penting tetap belum terpenuhi
- Adopsi dini MCP berisiko menimbulkan kegagalan serius di enterprise: risiko operasi, pengembangan ganda, dan biaya tidak perlu, dengan euforia AI sebagai pendorong
Risiko yang Ditimbulkan oleh Kesederhanaan MCP
MCP (Model Context Protocol) memosisikan diri sebagai ‘USB-C untuk bidang AI’ dalam integrasi alat AI, dan menekankan kesederhanaan yang menurunkan hambatan adopsi. Namun kesederhanaan itu justru mengabaikan pelajaran yang dikumpulkan selama 40 tahun dari sistem terdistribusi, sehingga di lingkungan operasi nyata menimbulkan cacat fungsional yang fatal. Perusahaan yang saat ini mengadopsinya pada dasarnya membangun sistem di atas landasan yang menghilangkan fitur fundamental sistem RPC yang esensial.
Kesenjangan Berbahaya antara Realitas dan Harapan
Pelopor MCP memperkenalkannya sebagai infrastruktur yang production-ready, tetapi filosofi desainnya condong pada kemudahan pengembangan dan kurang kuat dalam ketangguhan operasi. AI bisa dihubungkan dalam waktu singkat, namun ketika digunakan dalam skala jutaan permintaan di bisnis nyata, kelemahan fatal akan terlihat. Ekspektasi berlebihan pasar terhadap AI menyebabkan adopsi dipercepat tanpa kematangan arsitektur, sehingga risiko kegagalan operasi meningkat.
Kesalahan Berulang dalam Sejarah 40 Tahun
-
UNIX RPC (1982) memperkenalkan XDR (External Data Representation) dan IDL (Interface Definition Language) agar data antar sistem heterogen seperti integer 32-bit kompatibel dan mendeteksi kesalahan ketidaksesuaian tipe saat build-time
MCP mengabaikan pengalaman ini, dan hanya menyediakan JSON tanpa skema serta hint non-mandatori. Error tipe muncul di runtime, AI dapat membuat tanggal yang salah, dan hal itu dapat menyebabkan kesalahan konversi data dan masalah kualitas yang fatal di keuangan, kesehatan, manufaktur, serta penggunaan operasional nyata lainnya -
CORBA (1991) menggunakan OMG IDL untuk menjamin antarmuka yang sama lintas banyak bahasa. MCP diimplementasikan terpisah per bahasa, sehingga serialisasi, penanganan error, dan detail lain tidak konsisten antar bahasa atau pustaka, memicu mimpi buruk integrasi
-
REST (2000) mendapatkan skalabilitas dan keandalan besar melalui arsitektur stateless, kejelasan makna berbasis verb, dan cache header
MCP memiliki batasan stateful/stateless yang kabur, tidak ada dukungan caching, diferensiasi makna request standar, maupun idempotency. Skalabilitas server, retry, dan load balancing menjadi sangat sulit -
SOAP/WSDL menawarkan kontrak yang mudah dibaca mesin, kemampuan otomatisasi, dan ekstensibilitas keamanan
MCP hanya menyediakan skema JSON sederhana, tanpa kontrak machine-readable, auto-generation, type safety, dan audit keamanan. OAuth 2.1 baru ditambahkan terlambat hanya pada transport HTTP, sementara stdio bergantung pada variabel lingkungan, sehingga kontrol keamanan pun minim -
gRPC (2016) menyertakan observabilitas, pelacakan terdistribusi, streaming dua arah, deadline, dan error code terstruktur
MCP hanya mendukung streaming satu arah berbentuk event dan menjadi tidak efisien untuk interaksi kompleks. Trace context, deadline, dan klasifikasi error yang esensial tidak memadai
Risiko ‘Cukup Pakai Pustaka Ini’
Saat pengajuan kritik terhadap cacat kritis MCP, jawabannya selalu menambah pustaka pihak ketiga (mis. mcp-oauth-wrapper, mcp-tracing-extension, mcp-schema-generator). Namun itu justru titik kegagalan protokolnya. Semakin fitur penting dipush keluar, semakin parah fragmentasi, inkonsistensi, serta perpanjangan beban pemeliharaan, keamanan, dan tanggung jawab integrasi.
Di enterprise, dalam hitungan bulan standar, audit, dan beban integrasi makin berat, sementara kebutuhan pelatihan developer dan ketergantungan eksternal menjadi tidak normal.
Penambal Darurat yang Semakin Ditumpuk
Rilis MCP 2025–03–26 seperti catatan patch untuk menambal cacat yang ditemukan terlambat di production. OAuth, manajemen sesi, atribut alat (annotation), dan notifikasi progress hanyalah fitur yang seharusnya ada sejak awal tetapi baru ditambahkan belakangan.
Pembedaan atribut alat pun awalnya tidak ada, dan autentikasi keamanan juga semula dianggap tidak perlu. Ini membuktikan kurangnya pemahaman esensial terhadap kebutuhan enterprise.
Mimpi Buruk Debugging dan Ketidakmampuan Menelusuri Operasi
di lingkungan gRPC, distributed tracing dan trace ID memungkinkan debugging cepat dan konsisten
sedangkan MCP tidak memiliki ID korelasi antarpesanan, format log yang konsisten, dan membutuhkan implementasi custom, sehingga debugging serta pelacakan error dapat memakan waktu berhari-hari
Pada sisi operasi dan bisnis pun, alokasi biaya dan pengelolaan penggunaan (header, token counting, kuota, dan sebagainya) tidak bisa dilakukan.
Dalam lingkungan cloud, fitur-fitur dasar yang seharusnya ada sama sekali tidak disediakan MCP, sehingga biaya penggunaan AI dan pelacakan tanggung jawab hampir tidak mungkin.
Masih Ada Masalah Operasional Utama yang Tersisa
- Tidak adanya service discovery membuat ketersediaan, ekspansi multi-region, dan pembaruan tanpa henti (zero downtime) tidak mungkin
- Tidak adanya pengelolaan versi skema per alat membuat risiko seluruh klien runtuh tanpa pemberitahuan saat alat diperbarui tetap mengintai
- Batas performa: overhead JSON, tidak ada connection pooling, protokol biner dan kompresi yang belum memadai, serta komunikasi berbasis proses mengulang pola usang
Risiko Serius Ketika Diterapkan di Enterprise
Saat AI mulai masuk ke area yang bertanggung jawab langsung atas pendapatan, keselamatan, dan kualitas (keuangan, medis, manufaktur, layanan pelanggan), risiko MCP meningkat.
Alih-alih mempertahankan pola integrasi enterprise yang telah matang, perusahaan menggantikannya dengan tambalan keamanan, audit, type safety, dan stabilitas operasi setelah sistem berjalan.
Strategi “cepat dibuat lalu rusak” yang bisa diterima untuk prototipe, akan berdampak fatal pada layanan penting
Arah Perbaikan dan Kebutuhan Jangka Panjang
- Jangka pendek: type safety, pelacakan terdistribusi (ID korelasi), otorisasi, format audit standar, dan pengelolaan versi skema per alat yang berdiri sendiri harus menjadi bagian inti protokol
- Operasional: service discovery, connection pooling, transfer biner, deadline, serta kebijakan error/retry yang terstandarisasi sangat dibutuhkan
- Jangka panjang: streaming dua arah, manajemen kuota dan biaya bawaan, penegakan SLA, dan orkestrasi workflow sebagai fitur enterprise-grade
Kesimpulan
Desain yang menekankan kesederhanaan MCP cocok untuk integrasi alat AI yang eksperimental dan siklus cepat, namun di lingkungan operasi enterprise dapat berujung pada risiko operasi dan biaya operasional yang fatal.
Adopsi dipercepat karena mengikuti euforia AI, dan praktik menambahkan keamanan, observabilitas, serta stabilitas operasi sebagai tambalan sesudahnya terus berulang.
Akhirnya, fragmentasi dan pengembangan ganda yang ingin dihindari protokol ini justru berpotensi muncul kembali di atas MCP.
Industri AI kini berada di persimpangan antara mengulang masalah yang selama 40 tahun telah diselesaikan dalam evolusi sistem terdistribusi, atau belajar darinya.
Jika dibiarkan, yang berulang adalah kegagalan adopsi, celah keamanan, dan mimpi buruk operasional, dengan biaya yang akan ditanggung sepenuhnya oleh enterprise
1 komentar
Komentar Hacker News
Awalnya, dari judulnya saja saya kira ini hanya kisah tentang security theater yang biasa-biasa saja. Tapi setelah dibaca, saya merasa memang punya wawasan yang penting. Bagian yang paling menonjol adalah: MCP mengabaikan pelajaran ini dan memakai petunjuk non-paksaan pada JSON tanpa skema, dengan validasi tipe yang dilakukan saat runtime atau bahkan tidak dilakukan sama sekali. Misalnya, jika tool AI mengharapkan timestamp ISO-8601 tetapi menerima nilai epoch Unix, model bisa menghasilkan tanggal apa pun tanpa gagal dengan benar. Kasus semacam ini di layanan keuangan bisa membuat AI trading salah menafsirkan angka lalu melakukan transaksi dengan presisi desimal yang salah; di bidang kesehatan bisa terjadi rekomendasi dosis obat yang salah karena data pasien dengan tipe yang keliru dikonversi. Di manufaktur, presisi data sensor bisa hilang saat serialisasi JSON dan berujung masalah kontrol kualitas. Dari sudut orang yang berurusan dengan LLM setiap hari, saya memang sering melihat problem seperti ini. Saya bisa membayangkan suatu sistem yang memakai MCP akhirnya mengalami insiden besar: kalau ditelusuri rekam jejaknya, server MCP mengeluarkan data aneh, LLM menerima lalu memunculkan output halusinasi, dan hasilnya beruntun menjadi masalah yang makin besar. Jika dikombinasikan dengan kesalahan manusia, sifat LLM yang tidak punya mekanisme pengecualian (yang memicu halusinasi), dan budaya startup yang gegabah meluncurkan layanan baru, akan muncul varian bug baru. Dan jika hal ini jadi ledakan, pengguna Twitter pasti tak henti-henti berteriak bahwa AGI meretas kode peluncur nuklir—pemandangan yang tentu sangat menarik.
MCP memang ingin jadi “USB-C dunia AI”, tapi ironisnya ini justru lebih menunjukkan masalah USB-C ketimbang prestasi MCP. USB-C memang dapat menghubungkan hampir semua hal, namun kepatuhan standarnya berantakan sama seperti parsing JSON MCP yang tidak konsisten atau ketidakpatuhan protokol. Mirip kondisi ada banyak jenis kabel USB-C, kelihatan serbaguna di permukaan tapi sebenarnya menyembunyikan realitas yang sangat kompleks. Menurut saya, API/protokol yang dipisah-pisahkan dengan jelas akan lebih baik.
Soal SOAP, ada pendapat bahwa “meski bertele-tele, ia mengerti sesuatu yang tak dipahami MCP”, tetapi kenyataannya saya pun tak begitu pernah benar-benar “memahami” SOAP. Saya bahkan pernah memelihara sistem SOAP warisan dan tidak punya hal positif untuk dipuji tentang SOAP. Bagi saya, SOAP tak bisa jadi role model siapa pun.
CORBA muncul pada 1991 dengan wawasan bahwa pada lingkungan heterogen tidak cukup hanya mengimplementasikan protokol per bahasa. Poin bahwa OMG IDL membuat binding yang sama di berbagai bahasa untuk mencegah inkonsistensi interface dan masalah serialisasi memang benar. Tapi saya bertanya-tanya apakah itu benar-benar contoh sukses.
Yang terlewat dalam diskusi MCP—atau “pelajaran inti yang benar-benar dipelajari MCP”—justru bahwa semua fitur canggih memunculkan kompleksitas, sehingga kebanyakan kasus di lapangan memilih yang sederhana. Inilah mengapa JSON over HTTP jadi arus utama. Bahkan perusahaan besar pun butuh bertahun-tahun untuk bermigrasi ke protokol serialisasi berfitur tinggi seperti gRPC, dan bisa gagal berkali-kali di tengah jalan. Peran MCP sebenarnya adalah menstandardisasi kontrak JSON API yang sederhana, sehingga pembuatan token untuk LLM dan gaya pemanggilan tool jadi lebih mudah.
MCP memang tidak sempurna, tetapi saya pikir dia sudah belajar pelajaran utama dari puluhan tahun sejarah RPC bahwa kompleksitaslah yang paling menghambat adopsi dan penggunaan (mirip naiknya JSON atas XML). SOAP terlalu kompleks untuk interoperabilitas antar sistem, dan XML beserta skema terlalu verbose. CORBA kompleks karena library/frameworknya, sehingga di bahasa modern saat itu justru dihindari. gRPC memang cepat tapi bacaannya sulit dan butuh pemetaan. Kerangka kerja RPC sekarang berinti REST dan JSON. Standar yang disebut tadi bergeser menjauh, atau tersisa gRPC untuk kebutuhan performa ekstrem saja. REST dan JSON jadi arus utama karena kesederhanaan tersebut, dan MCP juga merupakan desain yang mengikuti arus itu.
Banyak pendapat bagus. Saya rasa kita sedang keliru memahami MCP. Yang lebih penting adalah salah paham dan ketidaksesuaian arah di industri secara luas tentang apa itu agent dan kemana arahnya. Banyak platform web percaya agen akan tertanam ke infrastruktur terdistribusi jaringan, sehingga tujuannya membuat semua agen dalam container menyambung ke MCP lewat service mesh. Menurut saya, anggapan bahwa “agen web-native dan SDK/framework web harus di-deploy seperti aplikasi server” itu salah; itu bukan agen dan bahkan bukan bentuk awal dari agen di tahap evolusinya. Harness agen sejati pada akhirnya hanya bisa dibuat oleh sedikit penyedia seperti Frontier labs, dan makin mengarah ke arah personal (misalnya satu MCP server untuk Claude Desktop di desktop saya). Server MCP pada dasarnya untuk kasus single-instance dan harness seperti ini.
Akan sangat bagus kalau ada yang menjelaskan secara jelas kenapa MCP dibutuhkan dibanding Swagger atau proto.
Jika dikatakan bahwa OpenAI menagih biaya $50,000 dari penggunaan API bulan lalu, tak mudah membedakan tool MCP bagian dari divisi mana yang memicu biaya tersebut, panggilan alat per-event, pengguna, atau kasus pakai apa yang terjadi. Di hampir semua teknologi AI, masalah biasanya baru disusul belakangan. Tapi sama seperti framework web atau blockchain, ketika teknologinya terlalu besar, di awal kita tak bisa memahami semuanya dengan sempurna. Kesenjangan itu memang akan menyusut perlahan. Saya setuju bahwa di AI kita harus terus berbagi ide dan rasa waspada. Zaman ini memang benar-benar menarik.
Saat harus memilih antara desain yang lebih baik dan desain yang cukup memadai, saya selalu berpikir pilihan “cukup memadai” yang menang. Contoh bisa terus disebut: Multics vs Unix, SOAP berbasis XML vs REST berbasis JSON, kegagalan XHTML, bahkan JavaScript itu sendiri. Jadi manusia akhirnya terus-menerus mengimplementasikan ulang yang “cukup memadai” dan ketika masalah terlihat, bertahan dengan tambalan darurat.