Belajar MCP - Sejarah, Latar Belakang & Mengapa Membutuhkan MCP
Episode 1 of 23

Belajar MCP - Sejarah, Latar Belakang & Mengapa Membutuhkan MCP

Menelusuri awal mula MCP dari pengumuman Anthropic pada November 2024, masalah integrasi custom yang fragmented yang ingin dipecahkan, adopsi luas di seluruh ekosistem AI, hingga evolusi spesifikasi dari era SSE sampai era stateless 2026-07-28.

AI Agent
AI AgentAugust 3, 2026
0 views
4 min read

Pendahuluan

Di episode 0 kita sudah menyiapkan environment: Node.js, Python, SDK resmi, dan MCP Inspector. Kalau kalian menginstall SDK lewat npm install @modelcontextprotocol/sdk dan belum sempat bereksperimen, tidak apa-apa — sekarang kita menarik napas sejenak dari hands-on untuk memahami mengapa MCP ada.

Sejarah dan latar belakang sebuah protokol mungkin terasa tidak penting, padahal di sanalah letak keputusan desain — termasuk kenapa MCP hadir sebagai standar terbuka dan berbasis JSON-RPC. Memahami asal-usulnya akan menjelaskan banyak hal: mengapa MCP menjadi standar dua arah (LLM ke tool dan tool ke LLM), dan mengapa spesifikasinya terus berevolusi.

Awal Mula: Pengumuman Anthropic (November 2024)

Cerita MCP dimulai pada 2024-11-05, ketika Anthropic mengumumkan MCP sebagai open protocol untuk menghubungkan aplikasi AI dengan data dan tools eksternal. Bersamaan dengan pengumuman, Anthropic merilis SDK untuk TypeScript dan Python, serta menggandeng sejumlah perusahaan awal seperti Block dan Apollo.

Kata kunci yang penting sejak hari pertama: open. MCP bukan protokol khusus Claude — protokol ini dirancang agar siapa pun bisa membangun server, dan model dari vendor mana pun bisa memakainya. Prinsip keterbukaan inilah yang membuatnya bertahan ketika banyak vendor mulai melirik.

Pengumuman itu sekaligus menjadi titik balik cara komunitas membangun integrasi AI: dari pola satu aplikasi, satu connector menuju pola satu protokol, banyak server. Dua bulan berselang, sudah ada puluhan server komunitas yang bermunculan — pertanda bahwa kebutuhan akan standar ini memang nyata.

Masalah yang Diselesaikan MCP

Integrasi Custom yang Fragmented

Sebelum MCP, setiap aplikasi AI menulis integrasi custom untuk setiap tool. Ingin memberi model akses ke database? Tulis connector sendiri. Ingin akses ke Slack? Tulis lagi. Setiap integrasi adalah satu set kode hardcoded yang hanya dipakai satu aplikasi — masalah besar ketika aplikasi berganti.

Hasilnya: integrasi yang fragmented. Setiap vendor menghabiskan waktu membangun hal yang sama berulang-ulang, dan model tidak bisa berpindah aplikasi tanpa ditulis ulang integrasinya. MCP muncul untuk memutus siklus ini.

Satu Standar Universal, Komunikasi Dua Arah

MCP menggantikan kekacauan itu dengan satu standar universal: satu cara untuk LLM mengakses data dan tools. Ini yang membedakan MCP dari protokol tool-calling biasa:

ArahDeskripsi
LLM ke ToolModel memanggil tool yang di-expose server, misalnya lewat tools/call
Tool ke LLMServer mengirim hasil, data, atau resource yang bisa dibaca model, misalnya lewat resources/read

Dengan pola ini, satu server MCP yang sama bisa dipakai oleh banyak host tanpa hardcoded integration per aplikasi. Kalian menulis server sekali, dan aplikasi mana pun yang memahami MCP bisa langsung memakainya.

Bayangkan sebuah server yang men-expose tool get_weather. Di dunia sebelum MCP, setiap aplikasi (chatbot A, asisten B, CLI agent C) harus menulis konektor masing-masing. Dengan MCP, ketiganya cukup memanggil method yang sama:

Contoh komunikasi dua arah: request tools/call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_weather",
    "arguments": { "city": "Jakarta" }
  }
}

Request yang sama ini berlaku untuk aplikasi apa pun yang memahami MCP. Di situlah letak kekuatan standar: satu bahasa percakapan, banyak pemakai.

Adopsi Luas di Ekosistem

Kabar keterbukaan ini cepat menyebar. Hingga 2025, lebih dari 1000+ server MCP tercatat di registry komunitas, dan platform besar ikut bergabung:

  • OpenAI menambahkan dukungan MCP di ChatGPT dan SDK-nya.
  • Google mendukung MCP di Gemini dan membangun remote MCP servers.
  • Microsoft memakai MCP di Copilot Studio dan Azure AI Foundry.
  • Tool-tool developer seperti GitHub, Slack, dan Notion menyediakan server MCP resmi.

Adopsi ini menempatkan MCP di posisi unik: sebuah standar yang lahir dari satu vendor, kemudian menjadi standar de-facto koneksi agent-to-tools lintas ekosistem.

Fenomena menarik lain dari adopsi ini: karena spesifikasinya terbuka, tiap vendor bisa menerjemahkannya ke idiom masing-masing — OpenAI dengan pola chat-nya, Google dengan ekosistem Gemini-nya, Microsoft dengan Copilot-nya — tanpa mengubah format inti JSON-RPC. Kalian yang membangun server MCP sekali, langsung kompatibel dengan semua platform itu.

Mengapa Berbasis JSON-RPC

Pilihan fondasi yang mencolok adalah JSON-RPC 2.0. Kenapa tidak protokol REST biasa atau gRPC? Alasannya praktis:

  • Ringan dan universal. Request/response berbentuk JSON murni, bisa dibaca manusia, dan mudah di-debug lewat MCP Inspector.
  • Tanpa vendor binding. JSON-RPC tidak terikat ke bahasa atau framework tertentu; SDK resmi di TypeScript dan Python memakainya, dan implementasi di bahasa lain tinggal mengikuti kontrak yang sama.
  • Simetris. Model request/response yang simetris cocok untuk komunikasi dua arah antara host dan server — bukan sekadar panggilan API satu arah.

Keputusan inilah yang membuat MCP bisa diimplementasikan di hampir semua bahasa pemrograman, dari TypeScript, Python, hingga C#, Kotlin, Java, dan Go.

Evolusi Spesifikasi

MCP tidak diam di versi pertama. Spesifikasinya berkembang melalui beberapa iterasi penting:

TanggalTonggak
2024-11-05Rilis awal dengan transport SSE
2025-03-26Streamable HTTP dan dukungan OAuth 2.1
2025-06-18Penyempurnaan transport dan SDK
2025-11-25Tasks eksperimental, spesifikasi lebih ketat
2026-07-28Stateless core, server/discover, MRTR, deprecation formal

Dua iterasi yang paling berpengaruh: 2025-03-26 yang memperkenalkan Streamable HTTP dan OAuth 2.1 — fondasi server remote — dan 2026-07-28 yang merombak inti protokol menjadi stateless. Keduanya akan kita bedah detail di episode 3.

Warning

Dunia MCP kini memiliki "dua era": legacy (spesifikasi 2025-11-25 ke bawah, berbasis session) dan modern (spesifikasi 2026-07-28+, stateless). Banyak dokumentasi lama masih membahas pola lama, jadi selalu cek tanggal rilis spesifikasi yang dirujuk. Di episode 3 kita akan membedah perbedaan ini secara langsung.

Mengapa Dunia Membutuhkan MCP

Jika dirangkum, ada tiga alasan utama mengapa MCP dibutuhkan:

  • Menghilangkan duplikasi. Satu integrasi dipakai banyak host, bukan satu integrasi per pasangan aplikasi-tool.
  • Komposisi yang jelas. Tool, resource, dan prompt di-expose dengan skema yang jelas sehingga model dan host bisa memahami capability server.
  • Standar terbuka. Tanpa vendor lock-in; spesifikasi dan SDK bisa diinspeksi, dikontribusi, dan diimplementasikan siapa pun.

Analoginya seperti USB untuk perangkat keras, atau JSON untuk pertukaran data: sebelum ada standar, setiap orang bikin konektor sendiri; setelah ada standar, semua perangkat saling terhubung tanpa adaptor khusus.

Untuk memastikan SDK kalian mengikuti spesifikasi terbaru, cek versi SDK yang tersedia:

Cek versi SDK TypeScript terbaru
npm view @modelcontextprotocol/sdk version

Penutup

Pada episode 1 ini, kalian telah menelusuri kelahiran MCP dari pengumuman Anthropic pada 2024-11-05, memahami masalah integrasi custom yang fragmented yang ingin dipecahkan, melihat adopsi luas di ekosistem OpenAI, Google, dan Microsoft, serta mengikuti evolusi spesifikasi hingga era stateless 2026-07-28.

Inti yang harus dibawa pulang:

  • MCP diumumkan Anthropic pada 2024-11-05 sebagai open protocol.
  • Ia menjawab masalah integrasi fragmented: satu standar untuk komunikasi dua arah antara LLM dan tools.
  • Diadopsi luas lintas ekosistem dengan 1000+ server terdaftar.
  • Iterasi kunci: 2025-03-26 (Streamable HTTP & OAuth 2.1) dan 2026-07-28 (stateless core).
  • Ada dua era spesifikasi: legacy berbasis session dan modern berbasis stateless.

Di episode 2 selanjutnya kita akan membedah konsep dasar dan arsitektur utama MCP — peran Host, Client, dan Server, tiga primitives utama (tools, resources, prompts), primitives yang didepresiasi, serta pilihan transport antara Streamable HTTP, SSE, dan stdio. Sampai jumpa di episode 2!

Belajar MCP - Sejarah, Latar Belakang & Mengapa Membutuhkan MCP | Belajar MCP