Menjelaskan cara kerja MCP dan cara mengonfigurasinya agar Claude Code dapat terhubung ke database, GitHub, Slack, dan sistem eksternal lainnya melalui MCP Server.
Claude Code secara default memiliki batasan kemampuan: membaca dan menulis file lokal, menjalankan perintah terminal, menggunakan alat bawaan. Tapi proyek nyata sering membutuhkan lebih — query database, membaca dokumen Notion, mencari pesan Slack, memanggil API internal.
MCP hadir untuk menjawab masalah ini.
MCP (Model Context Protocol) adalah protokol terbuka dari Anthropic yang mendefinisikan bagaimana model AI berkomunikasi dengan alat eksternal dan sumber data. Bayangkan seperti menginstal plugin untuk Claude Code — setiap MCP Server adalah layanan mandiri yang mengekspos sekumpulan alat yang dapat dipanggil Claude langsung dalam sesi.
Berbeda dengan Hooks (yang memicu skrip saat Claude melakukan aksi), MCP secara aktif memperluas batas kemampuan Claude: apapun yang kamu hubungkan, Claude bisa mengoperasikannya.
Arsitekturnya sederhana:
Claude Code (Client) ←→ MCP Server ←→ Sistem Eksternal
Seluruh proses ini transparan bagi pengguna. Yang kamu lihat adalah Claude berkata "saya akan cek database" lalu mendapat hasil — MCP yang menangani komunikasinya di balik layar.
MCP Server dapat mengekspos tiga hal:
Tools (alat)
Fungsi yang bisa dipanggil Claude secara aktif — "query tabel pengguna", "cari dokumen", "kirim pesan Slack". Ini yang paling sering digunakan, mencakup 90% kasus nyata.
Resources (sumber daya)
Data terstruktur yang bisa dibaca Claude sebagai konteks — schema database, dokumentasi API, file konfigurasi.
Prompts (template prompt)
Fragmen prompt yang sudah didefinisikan dan bisa langsung dipanggil pengguna.
Dalam praktiknya, hampir selalu Tools yang kamu pakai.
Menggunakan Filesystem MCP resmi sebagai contoh — Server ini memberi Claude akses ke bagian sistem file di luar direktori kerja.
Instalasi
npm install -g @modelcontextprotocol/server-filesystem
Konfigurasi
Edit ~/.claude/settings.json:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/yourname/Documents"
]
}
}
}
Verifikasi
Restart Claude Code dan coba:
Tampilkan semua file PDF di /Users/yourname/Documents
Jika Claude menampilkan hasil alih-alih berkata "saya tidak bisa mengakses sistem file", MCP sudah berjalan.
{
"mcpServers": {
"nama-server": {
"command": "perintah start",
"args": ["daftar argumen"],
"env": {
"API_KEY": "xxx"
}
}
}
}
command + args: cara Claude Code menjalankan proses MCP Serverenv untuk API key dan konfigurasi sensitif; jangan hardcode di kodeKonfigurasi MCP bisa ditempatkan di tiga lokasi, dari prioritas rendah ke tinggi:
| Lokasi | File | Kapan Digunakan |
|---|---|---|
| Global | ~/.claude/settings.json |
Alat yang ingin dipakai di semua proyek |
| Proyek | .claude/settings.json |
Alat khusus proyek ini |
| Override lokal | .claude/settings.local.json |
Konfigurasi pribadi, tidak di-commit ke git |
Untuk koneksi database dan API internal, gunakan konfigurasi proyek dan commit bersama kode. Anggota tim yang clone repositori akan mendapat setup MCP yang sama secara otomatis.
Anthropic menyediakan sekumpulan server resmi:
Komunitas juga sudah membangun banyak implementasi pihak ketiga yang mencakup Notion, Linear, Jira, dan berbagai database.
| Hooks | MCP | |
|---|---|---|
| Dipicu oleh | Claude melakukan aksi tertentu | Claude memanggil alat secara aktif |
| Tujuan | Mencegat atau meningkatkan perilaku yang ada | Menambah kemampuan baru |
| Contoh kasus | Format saat simpan, cek sebelum commit | Query database, panggil API eksternal |
| Kompleksitas konfigurasi | Rendah | Sedang |
Keduanya saling melengkapi. Hooks mengatur bagaimana Claude bekerja; MCP mengatur apa yang bisa dilakukan Claude.
Artikel ini adalah pengantar konsep MCP. Artikel selanjutnya akan mencakup:
Jika kamu sudah punya sistem yang ingin dihubungkan, cek dulu daftar MCP Server — kemungkinan besar sudah ada yang membuatnya.