Apa Itu MCP? Beda Model Context Protocol dan API Biasa, Seperti Colokan USB-C untuk AI
Oleh Tim APIPedia, Tim Engineering APIPedia · Terbit · 9 menit baca
MCP adalah protokol terbuka agar AI bisa memakai tool dan data. Pahami cara kerjanya, bedanya dengan API biasa, dan contoh server MCP di Python.

Apa itu MCP? MCP (Model Context Protocol) adalah protokol terbuka yang menstandarkan cara aplikasi AI terhubung ke tool, data, dan layanan di luar dirinya. Anthropic memperkenalkan MCP pada 25 November 2024. Sejak 9 Desember 2025, MCP dikelola Agentic AI Foundation di bawah Linux Foundation, dan revisi spesifikasi terbarunya bertanggal 2026-07-28.
"Menyumbangkan MCP ke Linux Foundation sebagai bagian dari AAIF memastikan MCP tetap terbuka, netral, dan digerakkan komunitas." — Mike Krieger, Chief Product Officer Anthropic, saat pengumuman 9 Desember 2025 (terjemahan bebas)
Artikel ini ditujukan untuk developer dan pemilik produk di Indonesia yang sudah familier dengan REST API dan ingin tahu kapan MCP layak dipakai. Analogi resminya: MCP itu seperti colokan USB-C untuk AI. Satu bentuk colokan, banyak perangkat. Artikel ini menjelaskan cara kerja MCP, bedanya dengan API biasa yang sudah Anda kenal, kapan sebaiknya memakai masing-masing, contoh server MCP sederhana dalam Python, dan risiko keamanan yang perlu dijaga.
Ringkasan cepat
Singkatnya, MCP adalah standar JSON-RPC 2.0 yang dirilis Anthropic pada 2024, kini dikelola Linux Foundation, dan berada di atas API, bukan menggantikannya.
| Item | Detail |
|---|---|
| Nama | Model Context Protocol (MCP) |
| Pembuat awal | Anthropic, diumumkan 25 November 2024 |
| Pengelola sekarang | Agentic AI Foundation (AAIF), dana terarah di bawah Linux Foundation, sejak 9 Desember 2025 |
| Format pesan | JSON-RPC 2.0 |
| Transport | stdio (proses lokal) dan Streamable HTTP (server jarak jauh) |
| Yang disediakan server | Tools (aksi), Resources (data), Prompts (templat) |
| Versi spesifikasi terkini | 2026-07-28, stateless tanpa handshake initialize |
| Hubungan dengan API | Bukan pengganti; server MCP biasanya membungkus API yang sudah ada |
Bagaimana MCP bekerja?
MCP bekerja dengan tiga peran: host, client, dan server. Host adalah aplikasi AI yang Anda pakai, misalnya aplikasi chat atau editor kode. Di dalam host ada client, satu untuk setiap koneksi. Server adalah program kecil yang menawarkan kemampuan tertentu, misalnya membaca database, mengirim email, atau memanggil API kurs.
Ketika Anda bertanya ke AI, host melihat daftar tool dari semua server yang tersambung, lalu model memutuskan tool mana yang perlu dipanggil. Client mengirim permintaan ke server dalam format JSON-RPC 2.0, server menjalankan pekerjaannya (sering kali dengan memanggil API biasa), lalu hasilnya kembali ke model sebagai konteks.

Tiga hal yang disediakan server MCP
- Tools: fungsi yang bisa dijalankan model, misalnya
kirim_emailataucek_ongkir. Setiap tool punya nama, deskripsi, dan skema input berbasis JSON Schema. - Resources: data yang bisa dibaca sebagai konteks, misalnya isi file, baris tabel, atau dokumen. Resources diakses lewat URI.
- Prompts: templat pesan atau alur kerja siap pakai yang bisa dipilih pengguna.
Seperti apa pesan MCP?
Pesan MCP adalah JSON-RPC 2.0 biasa. Contoh di bawah adalah permintaan memanggil tool dan jawabannya. Pada revisi 2026-07-28, setiap permintaan membawa versi protokol di _meta, dan setiap hasil memiliki kolom resultType.
// client → server
{
"jsonrpc": "2.0",
"id": 7,
"method": "tools/call",
"params": {
"name": "kurs_rupiah",
"arguments": { "mata_uang": "USD" },
"_meta": { "io.modelcontextprotocol/protocolVersion": "2026-07-28" }
}
}
// server → client
{
"jsonrpc": "2.0",
"id": 7,
"result": {
"resultType": "complete",
"content": [{ "type": "text", "text": "1 USD = Rp16.xxx (contoh)" }]
}
}
Apa bedanya MCP dengan API biasa?
Bedanya ada pada siapa yang memakai: API biasa adalah kontrak antara program dan layanan yang dirangkai oleh developer, sedangkan MCP adalah kontrak seragam agar model AI bisa menemukan dan memanggil kemampuan itu sendiri saat berjalan. Dengan API biasa, developer membaca dokumentasi, menulis kode untuk endpoint tertentu, lalu kode itu selalu memanggil endpoint yang sama. Dengan MCP, model bertanya "tool apa saja yang ada?" lewat tools/list, membaca deskripsinya, lalu memilih sendiri.
| Aspek | API biasa (REST/GraphQL) | MCP |
|---|---|---|
| Pemakai utama | Kode buatan developer | Model AI melalui aplikasi host |
| Cara menemukan fitur | Baca dokumentasi atau OpenAPI | Ditanyakan saat berjalan (tools/list, resources/list) |
| Format | Beda-beda per layanan: path, method, nama field | Seragam: JSON-RPC 2.0 dengan method standar |
| Deskripsi | Ditulis untuk dibaca manusia | Ditulis agar dipahami model (nama, deskripsi, skema input) |
| Integrasi ke banyak aplikasi AI | Satu konektor per pasangan aplikasi dan layanan | Satu server bisa dipakai semua host yang mendukung MCP |
| Yang memutuskan kapan dipanggil | Logika program (if/else, jadwal, tombol) | Model, dengan izin pengguna |
| Contoh | GET /v1/kurs/latest?base=USD | tools/call dengan nama kurs_rupiah |
Keuntungan terbesar MCP terlihat saat jumlah aplikasi dan layanan bertambah. Tanpa standar, 3 aplikasi AI yang ingin tersambung ke 5 layanan butuh 3 × 5 = 15 konektor khusus. Dengan MCP, cukup 3 client dan 5 server, total 8 komponen, dan setiap server baru langsung bisa dipakai oleh semua aplikasi.

MCP tidak menggantikan API
MCP berdiri di atas API, bukan menggantikannya. Sebagian besar server MCP adalah lapisan tipis yang menerjemahkan panggilan tool menjadi request HTTP ke API yang sudah ada. Jadi API yang rapi, terdokumentasi, dan punya rate limit yang jelas tetap menjadi fondasi. Kalau API Anda buruk, server MCP di atasnya juga akan buruk.
Apa bedanya MCP dengan function calling?
Function calling adalah fitur API model (OpenAI, Anthropic, Google, dan lainnya) yang membuat model bisa mengusulkan pemanggilan fungsi, tetapi daftar fungsinya ditulis sendiri oleh developer di setiap aplikasi. MCP menstandarkan dari mana daftar fungsi itu datang. Host mengambil tool dari server MCP, lalu meneruskannya ke model lewat function calling. Keduanya saling melengkapi.
Kapan memakai MCP dan kapan cukup API biasa?
Pakai MCP bila yang memanggil layanan adalah agen atau asisten AI, dan pakai API biasa bila alurnya sudah pasti dan dijalankan kode Anda sendiri. Satu server MCP bisa dipakai banyak host sekaligus, sedangkan satu panggilan API langsung tidak memakan token model sama sekali.
- Pilih MCP saat Anda ingin layanan Anda bisa dipakai di banyak aplikasi AI (asisten chat, editor kode, agen otomatis) tanpa membuat plugin satu per satu.
- Pilih MCP saat urutan langkahnya tidak tetap dan perlu diputuskan model, misalnya "cari pesanan yang telat, cek ongkirnya, lalu buat ringkasan".
- Cukup API biasa untuk alur deterministik: cron job, webhook pembayaran, sinkronisasi data, atau backend aplikasi mobile.
- Cukup API biasa bila latensi dan biaya per panggilan sangat ketat. Lewat MCP, setiap langkah juga memakan token model.
- Pakai keduanya: sediakan API publik untuk developer, lalu bungkus endpoint yang paling sering dibutuhkan agen sebagai server MCP.
Bagaimana cara membuat server MCP sederhana?
Server MCP paling cepat dibuat dengan SDK resmi (tersedia untuk Python, TypeScript, dan bahasa lain), lalu membungkus satu endpoint API menjadi satu tool. Contoh di bawah sudah kami uji pada 13 November 2026 dengan SDK Python mcp 2.3.0 di Python 3.13: server dijalankan lewat stdio, lalu sebuah client uji memanggil list_tools() dan tool kurs_rupiah muncul lengkap dengan skema inputnya. Ganti API_BASE dan endpoint dengan API milik Anda.
pip install "mcp>=2" httpx
# server_kurs.py
import os
import httpx
from mcp.server.mcpserver import MCPServer # di SDK 1.x namanya FastMCP
mcp = MCPServer("kurs-rupiah")
API_BASE = os.environ.get("API_BASE", "https://api.contoh.id/v1")
API_KEY = os.environ.get("API_KEY", "")
@mcp.tool()
def kurs_rupiah(mata_uang: str = "USD") -> dict:
"""Ambil kurs terbaru 1 unit mata uang asing dalam rupiah (contoh: USD, SGD, JPY)."""
r = httpx.get(f"{API_BASE}/kurs/latest",
params={"base": mata_uang.upper(), "symbols": "IDR"},
headers={"Authorization": f"Bearer {API_KEY}"}, timeout=10)
r.raise_for_status()
return r.json()
if __name__ == "__main__":
mcp.run() # transport stdio (bawaan)
Dua jebakan yang kami temui saat menguji: di SDK 2.x, from mcp.server.fastmcp import FastMCP langsung gagal dengan ModuleNotFoundError karena kelasnya sudah berganti nama menjadi MCPServer, dan atribut inputSchema di objek tool sisi client kini bernama input_schema. Banyak tutorial lama masih memakai nama versi 1.x, jadi cek versi SDK Anda dengan pip show mcp sebelum menyalin kode.
Docstring fungsi menjadi deskripsi tool, dan tipe parameter otomatis menjadi JSON Schema. Itulah yang dibaca model untuk memutuskan kapan tool ini dipanggil, jadi tulis deskripsinya sejelas mungkin.
Menyambungkan server ke aplikasi AI
Aplikasi yang mendukung MCP lokal biasanya punya file konfigurasi berisi perintah untuk menjalankan server. Formatnya umumnya seperti ini:
{
"mcpServers": {
"kurs-rupiah": {
"command": "python3",
"args": ["/path/ke/server_kurs.py"],
"env": { "API_KEY": "isi-kunci-anda" }
}
}
}
Untuk dipakai banyak orang lewat internet, jalankan server dengan transport Streamable HTTP (mcp.run(transport="streamable-http")) di belakang HTTPS dan otorisasi OAuth sesuai spesifikasi.
Apa risiko keamanan MCP?
Risiko utama MCP: setiap tool sama dengan eksekusi kode atas nama Anda, sehingga satu server yang jahat atau deskripsi tool yang disusupi bisa menyuruh AI melakukan hal yang tidak Anda minta. Spesifikasi MCP sendiri mewajibkan host meminta izin eksplisit pengguna sebelum menjalankan tool, dan menyebut deskripsi tool dari server yang tidak tepercaya harus dianggap tidak tepercaya.
- Pasang server dari sumber tepercaya saja. Server lokal berjalan dengan hak akses akun komputer Anda.
- Waspadai prompt injection. Isi email, halaman web, atau dokumen yang dibaca tool bisa berisi instruksi tersembunyi untuk model.
- Batasi izin kunci API. Beri server MCP kunci dengan cakupan sekecil mungkin, bukan kunci admin.
- Jangan otomatis setujui aksi berbahaya. Kirim email, hapus data, dan transaksi keuangan sebaiknya tetap minta konfirmasi.
- Audit daftar server secara berkala. Hapus server yang tidak lagi dipakai dan cek apakah ada aplikasi lain yang diam-diam menambahkannya.
Pertanyaan yang sering diajukan
Berikut lima pertanyaan yang paling sering muncul saat developer pertama kali mengenal MCP pada 2026.
Apakah MCP hanya bisa dipakai dengan Claude?
Tidak. MCP adalah standar terbuka yang kini dikelola Linux Foundation lewat Agentic AI Foundation, yang didirikan bersama Anthropic, Block, dan OpenAI dengan dukungan Google, Microsoft, AWS, Cloudflare, dan Bloomberg. Server MCP yang sama bisa dipakai oleh host mana pun yang mendukung protokol ini.
Apakah MCP akan menggantikan REST API?
Tidak. MCP adalah lapisan untuk agen AI yang biasanya memanggil REST API di belakangnya. Aplikasi web, mobile, dan integrasi antar-server tetap memakai API biasa.
Apakah memakai MCP berbayar?
Spesifikasi dan SDK resmi MCP bersifat terbuka dan gratis dipakai. Biaya muncul dari tempat lain: token model AI yang memproses hasil tool, dan tarif API yang dipanggil oleh server MCP.
Versi MCP mana yang sebaiknya didukung?
Versi terkini adalah 2026-07-28, yang membuat MCP stateless: tidak ada lagi handshake initialize, dan setiap permintaan membawa versi serta kapabilitasnya sendiri. Spesifikasi ini menyediakan jalur kompatibilitas dengan revisi berbasis handshake seperti 2025-11-25, dan SDK resmi menangani negosiasi versinya.
Apa beda server MCP lokal dan jarak jauh?
Server lokal dijalankan host sebagai proses di komputer Anda dan berkomunikasi lewat stdio. Server jarak jauh berjalan di internet, diakses lewat Streamable HTTP, dan memakai OAuth untuk otorisasi, sehingga cocok untuk layanan SaaS yang dipakai banyak pengguna.
Ingin memahami fondasi di bawah MCP? Baca juga penjelasan kami tentang cara kerja webhook, rate limit API dan error 429, serta token AI dan cara kerja tokenizer. Untuk sisi keamanan, lihat kasus plugin dan MCP yang dipasang diam-diam ke agen coding dan pencurian API key AI lewat LLMjacking.
Sumber
- Model Context Protocol: Specification 2026-07-28
- Model Context Protocol: Key Changes 2026-07-28
- Model Context Protocol: Versioning
- Anthropic: Introducing the Model Context Protocol (25 November 2024)
- Anthropic: Donating the Model Context Protocol and establishing the Agentic AI Foundation (9 Desember 2025)
- MCP Python SDK: panduan migrasi v2
Topik: #mcp #api #explainer #agen ai #model context protocol #python
Tentang penulis
Tim APIPedia — Tim Engineering APIPedia
Tim engineering di balik APIPedia yang membangun dan memelihara API data Indonesia - ongkir, OCR KTP, data wilayah, BMKG, hingga server MCP - dan menulis panduan integrasinya dari pengalaman langsung.