Apa itu MCP? Model Context Protocol Dijelaskan

Standar terbuka yang menghubungkan AI models ke tools, files, dan services — bayangkan USB-C untuk integrasi AI

8 menit baca Diperbarui: April 2026

🔌 Apa itu MCP?

The Model Context Protocol (MCP) adalah standar terbuka yang diterbitkan oleh Anthropic pada Desember 2024 yang mendefinisikan antarmuka universal untuk menghubungkan model AI ke alat eksternal, sumber data, dan layanan. Sebelum MCP, setiap integrasi AI adalah implementasi kustom dan sekali pakai. MCP menstandarisasi cara klien AI berkomunikasi dengan kapabilitas eksternal — sehingga satu integrasi berfungsi dengan sistem AI yang kompatibel mana pun.

MCP adalah protokol klien-server: Klien MCP adalah sistem AI (seperti Claude, Cursor, VS Code dengan Copilot) yang ingin menggunakan kapabilitas eksternal. Server MCP adalah layanan yang mengekspos kapabilitas tersebut (GitHub, database, sistem file, browser web) melalui API yang distandarisasi yang dapat digunakan oleh klien MCP mana pun.

💡 Wawasan utama: MCP tidak membuat AI lebih pintar — MCP membuat AI lebih terhubung. Kecerdasan tetap berada di dalam model; MCP menyediakan infrastruktur yang memungkinkan kecerdasan itu bertindak pada data dan layanan dunia nyata.

🔋 Metafora USB-C

Sebelum USB-C, setiap perangkat memiliki konektor kepemilikan sendiri — pengisi daya ponsel tidak bekerja dengan laptop, kabel display tidak bekerja dengan perangkat penyimpanan. USB-C menyelesaikan ini dengan satu standar universal: satu port, satu kabel, tak terhitung perangkat.

Integrasi AI sebelum MCP mengalami kekacauan yang sama. Menghubungkan Claude ke GitHub membutuhkan kode kustom. Menghubungkan GPT-4 ke API GitHub yang sama membutuhkan kode kustom yang berbeda. Menambah alat baru berarti membangun ulang integrasi dari awal untuk setiap platform AI.

MCP adalah USB-C untuk AI. Satu standar:

  • Bangun server MCP sekali — klien MCP mana pun dapat menggunakannya
  • Adopsi model AI baru — server MCP Anda yang ada langsung bekerja
  • Ekosistem server MCP tumbuh terpisah dari pengembangan model AI

⚙️ Cara Kerja MCP

MCP menggunakan protokol JSON-RPC 2.0 di atas lapisan transport (stdio untuk server lokal, HTTP/SSE untuk server jarak jauh). Komunikasi mengikuti siklus hidup inisialisasi, penemuan kapabilitas, dan penanganan permintaan.

Tiga primitif inti

PrimitiveApa yang dieksposExample
Tools Fungsi yang dapat dipanggil AI (dikendalikan model) search_github_issues, run_sql_query, send_email
Resources Data yang dapat dibaca AI (dikendalikan aplikasi) file:///workspace/src, db://customers/schema
Prompts Template prompt yang dapat digunakan kembali (dikendalikan pengguna) code-review, summarize-pr, explain-error

Alur komunikasi

  1. Inisialisasi: Klien terhubung ke server, bertukar versi protokol dan kapabilitas
  2. Penemuan: Klien meminta daftar alat, sumber daya, dan prompt yang tersedia
  3. Pemanggilan: Model AI memutuskan untuk memanggil alat; klien mengirim permintaan ke server
  4. Pengembalian: Server mengeksekusi aksi dan mengembalikan hasil terstruktur ke klien
  5. Lanjutan: Model AI menggabungkan hasil dan melanjutkan penalaran

Opsi transport

TransportPaling cocok untukNotes
stdio Alat lokal, integrasi CLI Klien meluncurkan server sebagai subprocess; pengaturan paling sederhana
HTTP + SSE Layanan jarak jauh/cloud, tim bersama Server berjalan secara independen; mendukung header auth
WebSocket Bidirectional real-time (draft) Diusulkan untuk kasus penggunaan streaming

🔄 MCP vs Function Calling

Function calling (penggunaan alat) adalah fitur bawaan di API AI tertentu — OpenAI, Anthropic, Google — yang memungkinkan Anda mendefinisikan fungsi kustom yang dapat dipanggil model. MCP adalah lapisan di atas atau di samping function calling yang menstandarisasi bagaimana fungsi-fungsi itu ditemukan dan dihubungkan.

Function CallingMCP
Scope Spesifik API, per permintaan Lintas platform, standar
Discovery Tertanam langsung dalam panggilan API Anda Dinamis — server mengiklankan kapabilitas
Portability Terikat ke satu penyedia AI Bekerja dengan klien yang kompatibel MCP mana pun
Resources Tidak distandarisasi Primitif kelas satu (file, DB, URI)
Paling cocok untuk Kasus penggunaan sederhana, satu penyedia Sistem produksi multi-alat, multi-model

Dalam praktiknya, server MCP sering menggunakan function calling secara internal — MCP menyediakan lapisan penemuan dan koneksi, sementara function calling menangani pemanggilan LLM-ke-alat yang sebenarnya.

🏢 Siapa yang Mendukung MCP

Adopsi MCP telah tumbuh pesat sejak peluncurannya pada Desember 2024. Per April 2026, ekosistem mencakup:

Klien AI dengan dukungan MCP

  • Claude (Anthropic) — dukungan MCP native di Claude.ai dan Claude Code
  • Cursor — server MCP untuk bantuan AI yang paham kode
  • VS Code (GitHub Copilot) — integrasi MCP dalam mode agen
  • Windsurf (Codeium) — dukungan server MCP
  • Continue.dev — asisten IDE open-source dengan MCP

Server MCP populer

  • Filesystem — baca/tulis file lokal (resmi Anthropic)
  • GitHub — repos, PR, isu, pencarian kode
  • PostgreSQL / SQLite — kueri database dan eksplorasi skema
  • Brave Search / Exa — pencarian web tanpa API key
  • Puppeteer / Playwright — otomasi browser
  • Slack / Linear / Notion — integrasi alat produktivitas
📦 Menemukan server MCP: The repositori server MCP resmi dan registri komunitas seperti mcp.so mencantumkan ratusan server yang tersedia.

🚀 Memulai dengan MCP

Opsi 1: Gunakan server MCP yang ada (5 menit)

Cara tercepat untuk merasakan MCP adalah menggunakan Claude Desktop dengan server pra-bangun. Sunting konfigurasi Claude Desktop Anda di ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/yourname/Documents"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_..." }
    }
  }
}

Opsi 2: Bangun server MCP (30 menit)

SDK resmi tersedia untuk TypeScript, Python, dan Kotlin:

// TypeScript MCP server example
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";

const server = new Server({ name: "my-server", version: "1.0.0" });

server.setRequestHandler("tools/list", async () => ({
  tools: [{
    name: "get_weather",
    description: "Get current weather for a city",
    inputSchema: {
      type: "object",
      properties: { city: { type: "string" } },
      required: ["city"]
    }
  }]
}));

server.setRequestHandler("tools/call", async (request) => {
  const { city } = request.params.arguments;
  // ... fetch weather data
  return { content: [{ type: "text", text: `Weather in ${city}: sunny, 22°C` }] };
});

const transport = new StdioServerTransport();
await server.connect(transport);

🔐 Pertimbangan Keamanan MCP

Kekuatan MCP — memberi model AI akses ke alat, file, dan layanan — juga memperkenalkan risiko keamanan yang harus dirancang oleh pengembang.

RiskDescriptionMitigation
Prompt injection melalui MCP Konten berbahaya dalam hasil alat memanipulasi AI Saring output alat; gunakan model penalaran dan aksi yang terpisah
Server dengan hak berlebih Server MCP memiliki izin lebih daripada yang diperlukan Prinsip hak paling sedikit; buat baca-saja bila memungkinkan
Confused deputy AI bertindak atas nama penyerang tanpa kesadaran pengguna Konfirmasi HITL untuk aksi destruktif/tidak dapat diubah
Rantai pasokan server Server MCP pihak ketiga yang berbahaya mengekfiltrasi data Gunakan hanya server tepercaya dan diaudit; tinjau kode server
⚠️ Jangan pernah memberi akses ke server MCP yang tidak akan Anda berikan kepada magang pengembang. Jika Anda tidak akan membiarkan pegawai baru menjalankan kueri database sewenang-wenang, jangan beri server MCP akses database tanpa batas. Rancang izin server MCP Anda sebaik Anda merancang API mana pun.

Untuk pembahasan lebih mendalam tentang kerentanan keamanan AI — termasuk bagaimana prompt injection dapat dimanfaatkan melalui hasil alat MCP — lihat panduan kami: Penjelasan Prompt Injection.