Ilustrasi konektor listrik yang menyambungkan dua perangkat

Di episode 10 kemarin kita belajar menjalankan beberapa AI sekaligus supaya kerja lebih cepat. Sekarang masalahnya bergeser. AI coding-mu sudah pintar membaca kode, tapi ia buta terhadap hal lain: isi database lokalmu, API internal sekolahmu, atau file desain yang kamu simpan di folder lain. Kamu harus copy paste semuanya secara manual. Episode 11 seri Vibe Coding Pro ini membahas solusinya, yaitu bikin MCP server sendiri untuk proyekmu.

Catatan jujur di awal, dan ini penting. Detail teknis di artikel ini disusun dari dokumentasi resmi per Oktober 2026. MCP adalah standar yang masih berkembang, jadi nama file konfigurasi atau nama paket bisa berubah. Kalau ada yang tidak jalan, cek dokumentasi resmi tools yang kamu pakai, jangan memaksa contoh di sini mentah-mentah.

MCP Itu Apa, Bahasa Sederhana

MCP singkatan dari Model Context Protocol. Lupakan dulu namanya yang menyeramkan. Bayangkan MCP sebagai colokan listrik universal. AI coding-mu itu seperti perangkat elektronik. Database-mu, API internalmu, dan file-file pentingmu itu seperti sumber listrik yang tersebar. Tanpa colokan standar, tiap perangkat butuh kabel khusus. Dengan MCP, kamu cukup bikin satu colokan, dan semua AI yang mendukung MCP bisa tersambung ke datamu.

Kenapa ini penting buat kamu? Karena selama ini AI hanya tahu apa yang kamu tempel ke prompt. Dengan MCP server, AI bisa mengambil sendiri data yang ia butuhkan. Contoh: kamu bertanya "kenapa stok mie di database tinggal sedikit?", AI langsung memanggil tool baca database lewat MCP server-mu, tanpa kamu copy paste isi tabel. Itu lompatan besar dari AI yang pasif menjadi AI yang bisa bertindak.

Satu hal yang perlu diluruskan. MCP server berjalan di komputermu sendiri, bukan di server orang lain. Datamu tidak dikirim ke mana-mana selain ke AI yang sedang kamu pakai. Kamu yang menentukan tool apa saja yang disediakan, dan AI hanya bisa memanggil tool yang kamu daftarkan. Kendali tetap di tanganmu.

Tiga Hal yang Bisa Diberikan MCP ke AI

MCP server bisa menyediakan tiga jenis "sambungan" ke AI. Kamu tidak wajib memakai ketiganya, tapi bagus tahu bedanya.

Pertama, tools. Ini yang paling sering dipakai. Tool adalah fungsi yang bisa dipanggil AI, misalnya baca_stok(nama_barang) atau cari_siswa(nama). AI memutuskan sendiri kapan memanggilnya berdasarkan pertanyaanmu. Kalau kamu bertanya soal stok, ia memanggil tool baca stok. Sederhana dan powerful.

Kedua, resources. Ini data yang bisa dibaca AI, seperti isi file atau tampilan database. Bedanya dengan tool, resource itu pasif: AI membaca, tidak mengeksekusi apa-apa. Cocok untuk hal seperti "dokumen panduan gaya penulisan" atau "skema tabel database".

Ketiga, prompts. Ini template perintah yang sudah jadi. Misalnya prompt "buatkan laporan harian" yang otomatis menyertakan konteks database. Kamu tinggal memanggilnya, tidak perlu mengetik ulang instruksi panjang setiap kali.

Berhenti dan tebak dulu! Kamu ingin AI bisa mengecek jadwal pelajaran dari file Excel sekolahmu tanpa kamu copy paste isinya tiap kali bertanya. Sambungan MCP mana yang paling cocok: tool atau resource?

Jawaban: tool. Karena AI perlu mencari jadwal tertentu berdasarkan pertanyaanmu ("jadwal hari Senin kelas 12 RPL"), bukan sekadar membaca satu file statis. Tool memungkinkan AI memanggil fungsi pencarian dengan parameter. Resource lebih cocok untuk dokumen yang dibaca utuh, seperti panduan atau skema tabel.

Contoh MCP Server Mini dengan Python

Sekarang bagian praktiknya. Kita akan membuat MCP server mini yang memberi AI akses baca data stok barang. Sengaja hanya baca, bukan tulis, supaya aman untuk percobaan pertama. Kita pakai Python dan paket resmi mcp. Install dulu paketnya.

pip install mcp

Lalu buat file bernama server-kasir.py dengan isi seperti ini.

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("kasir-saya")

# Data contoh. Nanti bisa diganti dengan koneksi database sungguhan.
DATABASE_STOK = {
    "mie": 120,
    "kopi": 45,
    "gula": 200,
}

@mcp.tool()
def baca_stok(nama_barang: str) -> str:
    """Baca jumlah stok sebuah barang dari database lokal."""
    jumlah = DATABASE_STOK.get(nama_barang.lower())
    if jumlah is None:
        return f"Barang '{nama_barang}' tidak ditemukan di database."
    return f"Stok {nama_barang}: {jumlah} pcs."

@mcp.tool()
def daftar_barang() -> str:
    """Tampilkan semua nama barang yang ada di database."""
    return "Daftar barang: " + ", ".join(DATABASE_STOK.keys())

if __name__ == "__main__":
    mcp.run()

Perhatikan betapa pendeknya kode itu. Kamu mendefinisikan server bernama kasir-saya, mendaftarkan dua fungsi dengan dekorator @mcp.tool(), dan selesai. Teks di dalam tanda kutip tiga di tiap fungsi (docstring) itu penting, karena itulah yang dibaca AI untuk memahami kapan memakai tool tersebut. Tulis docstring yang jelas, karena itu adalah "manual" buat AI-mu.

Cara Menghubungkannya ke AI Coding

Setelah server jadi, langkah berikutnya adalah memberi tahu AI coding-mu tentang keberadaannya. Caranya lewat file konfigurasi. Format pastinya tergantung tools yang kamu pakai, tapi polanya mirip. Berikut contoh format umumnya dalam JSON.

{
  "mcpServers": {
    "kasir-saya": {
      "command": "python",
      "args": ["server-kasir.py"]
    }
  }
}

Artinya: "ada server bernama kasir-saya, jalankan dengan perintah python server-kasir.py". Di Claude Code, konfigurasi MCP biasanya ditaruh di file .mcp.json di folder proyek atau di pengaturan global. Di tools lain, cari menu pengaturan bernama "MCP" atau "Model Context Protocol". Setelah terhubung, restart sesi AI-mu, lalu uji dengan pertanyaan sederhana: "barang apa saja yang ada di database?" Kalau AI menjawab dengan daftar barang yang benar, colokanmu sudah tersambung.

Tips debugging: kalau AI bilang tidak menemukan tool-nya, cek tiga hal. Pertama, apakah file Python-nya bisa jalan sendiri tanpa error (python server-kasir.py tidak boleh crash). Kedua, apakah path di konfigurasi sudah benar. Ketiga, apakah sesi AI sudah di-restart setelah konfigurasi ditambahkan. Sembilan dari sepuluh masalah MCP pemula selesai di tiga cek ini.

Ide MCP untuk Proyekmu

Server kasir di atas cuma contoh. Berikut ide MCP yang relevan untuk proyek pelajar dan pemula. Untuk proyek tugas akhir: tool baca skema database MySQL lokal, supaya AI bisa menulis query tanpa kamu tempel struktur tabel. Untuk proyek API: tool yang memanggil API internal sekolah dan mengembalikan hasilnya, supaya AI bisa mengecek data asli saat menulis kode frontend. Untuk dokumentasi: resource berisi file panduan gaya penulisan tim, supaya AI otomatis mengikuti format yang disepakati. Untuk desain: tool baca file Figma yang diekspor sebagai JSON, supaya AI tahu warna dan ukuran yang dipakai desainer.

Prinsip memilih ide yang bagus: cari data yang sering kamu copy paste ke prompt. Kalau kamu sudah tiga kali menempel isi tabel yang sama ke AI, itu sinyal kuat bahwa tabel itu layak dijadikan MCP server. Copy paste berulang adalah bau yang menandakan ada colokan yang belum dipasang.

Batasan dan Catatan Keamanan

Ada tiga hal yang wajib kamu pahami sebelum terlalu bersemangat. Pertama, mulai dari akses baca saja. Tool yang bisa menghapus atau mengubah data itu berbahaya kalau AI salah paham instruksi. Contoh di artikel ini sengaja hanya membaca. Tambahkan akses tulis hanya setelah kamu paham risikonya dan butuh benar-benar. Kedua, jangan daftarkan data sensitif. Password, token API, dan data pribadi jangan dilewatkan lewat tool MCP kalau tidak perlu. Ketiga, ingat standar ini masih berkembang. Detail teknis di sini disusun dari dokumentasi resmi per Oktober 2026. Kalau enam bulan lagi ada perubahan, itu wajar. Yang tidak berubah adalah konsepnya: satu colokan standar antara AI dan datamu.

Kuis: Di mana MCP server berjalan saat kamu memakainya untuk proyek lokal?

Latihan Minggu Ini

Latihanmu minggu ini tiga langkah. Pertama, install paket mcp dan jalankan contoh server-kasir.py di atas sampai tidak error. Kedua, hubungkan ke AI coding yang kamu pakai lewat file konfigurasinya, lalu tanyakan "barang apa saja yang ada di database?" dan pastikan jawabannya benar. Ketiga, ganti isi DATABASE_STOK dengan data dari proyekmu sendiri, misalnya daftar barang di aplikasi kasir tugas sekolahmu, lalu minta AI menjawab pertanyaan tentang datamu tanpa kamu copy paste apa pun. Rasakan bedanya: AI yang tadinya buta data sekarang bisa "melihat".

Di episode 12 kita akan lanjut ke "Custom Slash Command dan Skill", yaitu cara membuat perintah pintasan sendiri seperti /review dan /tulis-test, supaya instruksi panjang yang sering kamu ulang cukup diketik sekali lalu dipakai selamanya. Sampai jumpa besok jam 21:00. Bakar semangat kodingmu seperti api kompor.