Buat Server MCP untuk Claude Code — panduan praktis dan langkah demi langkah

CometAPI
AnnaNov 22, 2025
Buat Server MCP untuk Claude Code — panduan praktis dan langkah demi langkah

Model Context Protocol (MCP) adalah standar terbuka yang memungkinkan model seperti Anthropic Claude dan alat pengembang seperti Kode Claude memanggil alat, sumber data, dan perintah eksternal dengan cara yang aman dan standar.

Panduan ini akan memandu Anda membangun server MCP Anda sendiri dari awal, memungkinkan Claude Code untuk mengakses fitur-fitur khusus dan dengan demikian memperluas fungsionalitasnya jauh melampaui fitur-fitur bawaannya.

Apa itu Model Context Protocol (MCP)?

MCP (Model Context Protocol) adalah spesifikasi terbuka Dirancang untuk menstandardisasi cara klien model bahasa (seperti Claude, Claude Code, atau antarmuka LLM lainnya) terhubung ke server alat dan sumber data. Bayangkan MCP sebagai "port USB-C untuk LLM": MCP mendefinisikan skema transport/JSON-RPC dan cara umum bagi server untuk mempublikasikan tiga jenis kapabilitas:

  • Publikasi — data seperti berkas atau dokumen yang dapat dibaca klien (misalnya, baris basis data, berkas teks, muatan JSON).
  • Tools — fungsi yang dapat dipanggil yang dapat diminta oleh model kepada host untuk dieksekusi (dengan persetujuan pengguna).
  • Anjuran — templat perintah yang dapat digunakan kembali atau alur kerja yang dapat dipanggil oleh model/klien.

MCP mendukung berbagai transport (stdio, HTTP, SSE) dan menyediakan skema, SDK, serta server contoh sehingga Anda tidak perlu menciptakan format jaringan sendiri. Protokol ini dikelola secara publik (spesifikasi + SDK) dan memiliki tutorial serta galeri server contoh untuk mempercepat adopsi.

Bagaimana MCP dirancang?

Arsitektur MCP sengaja dibuat sederhana dan modular: bagian inti adalah MCP server, MCP klien, dan Pengangkutan yang membawa pesan berbingkai JSON-RPC di antara keduanya. Berikut adalah komponen-komponen utama yang akan Anda gunakan saat membangun server untuk Claude Code (atau klien MCP lainnya).

Server, klien dan protokol

  • server MCP — Sebuah layanan yang menerbitkan Alat, sumber daya, dan prompt. Alat dapat melakukan efek samping atau mengambil data; sumber daya menampilkan konten hanya-baca; prompt adalah templat prompt yang dapat digunakan kembali yang dapat diminta klien kepada model untuk dijadikan sampel.
  • Klien MCP (host) — Biasanya merupakan bagian dari host LLM (misalnya, Claude Code, plugin VS Code, klien peramban). Host ini mendeteksi server yang tersedia, menyajikan deskripsi alat ke model, dan merutekan panggilan yang diinisiasi model ke server.
  • Protokol — Pesan dikodekan sebagai JSON-RPC; spesifikasi mendefinisikan peristiwa siklus hidup, penemuan alat, pemanggilan, penyelesaian/pengambilan sampel, dan bagaimana hasil terstruktur diangkut kembali ke klien dan model.

Pola komunikasi (apa yang terjadi ketika suatu alat digunakan)

  1. Klien mengirimkan pesan pengguna ke model.
  2. Model menganalisis konteks dan memutuskan untuk memanggil alat yang diekspos oleh MCP (atau beberapa alat).
  3. Klien meneruskan panggilan alat ke server MCP melalui transportasi yang dipilih.
  4. Server mengeksekusi alat dan mengembalikan hasil.
  5. Model menerima keluaran alat dan menyusun jawaban akhir kepada pengguna.

Primitif implementasi

  • JSON-RPC pesan mengikuti skema MCP.
  • Definisi alat dipublikasikan dalam respons penemuan server sehingga klien dapat menyajikannya di UI.
  • Publikasi direferensikan oleh @source:path sintaksis oleh klien (misalnya, @postgres:...), yang memungkinkan model merujuk ke konten eksternal tanpa memasukkan data besar ke dalam perintah.

Mengapa mengintegrasikan Claude Code dengan server MCP?

Claude Code adalah penawaran Anthropic yang berfokus pada alur kerja yang berpusat pada kode dan pengembang (integrasi editor/IDE, pemahaman kode, dll.). Mengekspos alat internal Anda (pencarian sumber, pelari CI, sistem tiket, registri pribadi) melalui server MCP memungkinkan Claude Code menyebutnya sebagai alat kelas satu di dalam percakapan pengkodean dan alur agen.

Mengintegrasikan Claude Code dengan server MCP membuka kemampuan praktis dan relevan dengan produksi untuk agen pengkodean:

1. Biarkan modelnya bertindak pada sistem nyata

Claude Code dapat meminta server MCP untuk mengkueri pelacak masalah, menjalankan kueri basis data, membaca dokumen berukuran besar, atau membuat PR GitHub — memungkinkan otomatisasi menyeluruh dari dalam sesi pengodean. Hal ini secara eksplisit didukung oleh dokumen Claude Code (contoh: mengkueri Postgres, Sentry, atau membuat PR).

2. Membongkar data besar dan logika khusus

Alih-alih menyematkan setiap sumber data ke dalam prompt (yang menggunakan token), Anda mempublikasikan data dan alat melalui MCP. Model akan memanggil alat tersebut, mendapatkan respons terstruktur, dan melakukan penalaran dengannya — hal ini mengurangi penggunaan token dan memungkinkan server menangani pekerjaan berat (kueri DB, pembacaan file yang panjang, autentikasi).

3. Keamanan dan tata kelola

MCP memusatkan kontrol akses dan audit di lapisan server, memungkinkan organisasi memasukkan server yang disetujui ke dalam daftar putih, mengontrol alat yang tersedia, dan membatasi keluaran. Claude Code juga mendukung konfigurasi MCP perusahaan dan persetujuan per cakupan.

4. Kegunaan kembali dan ekosistem

Server MCP dapat digunakan kembali di berbagai klien dan tim. Cukup bangun sekali, dan banyak klien Claude/LLM dapat menggunakan layanan yang sama (atau bertukar implementasi).

Apa yang Anda perlukan sebelum memulai?

Persyaratan minimum

  • Mesin pengembangan dengan Piton 3.10+ (Kita akan menggunakan Python dalam contoh ini). Sebagai alternatif, Node/bahasa pemrograman lain didukung oleh SDK MCP.
  • uv (alat Astral) atau pelari setara untuk menjalankan server stdio MCP (tutorial MCP menggunakan uv). Langkah-langkah instalasi ditunjukkan di bawah ini.
  • Claude Code telah terinstal atau akses klien Claude (desktop atau CLI) untuk mendaftar dan menguji server Anda; atau klien lain yang mendukung MCP. Claude Code mendukung server HTTP, SSE, dan stdio lokal.
  • Catatan keamanan: Hanya tambahkan server MCP tepercaya ke Claude Code dalam pengaturan tim atau perusahaan — MCP memberi server akses ke data sensitif, dan risiko injeksi cepat muncul jika server mengembalikan konten berbahaya.

Cara menginstal dan memverifikasi Claude Code CLI

Ini adalah Panduan Instalasi dan Penggunaan Claude Code.

1) Ringkasan cepat — metode instalasi yang direkomendasikan

Gunakan penginstal asli (disarankan) atau Homebrew di macOS/Linux. NPM tersedia jika Anda memerlukan instalasi berbasis Node. Windows mendapatkan installer PowerShell/CMD. Sumber: dokumen resmi Claude Code & GitHub.


2) Prasyarat

  • macOS 10.15+, Ubuntu 20.04+/Debian 10+, atau Windows 10+ (WSL direkomendasikan pada Windows).
  • Node.js 18+ hanya dibutuhkan untuk metode instalasi NPM.

3) Perintah instalasi (pilih salah satu)

Asli (disarankan — tidak ada ketergantungan Node), macOS / Linux / WSL:

curl -fsSL https://claude.ai/install.sh | bash
# optional: install latest explicitly

curl -fsSL https://claude.ai/install.sh | bash -s latest
# or install a specific version

curl -fsSL https://claude.ai/install.sh | bash -s 1.0.58

Windows PowerShell:

irm https://claude.ai/install.ps1 | iex
# or for latest: & (::Create((irm https://claude.ai/install.ps1))) latest

(Ini adalah skrip penginstal asli resmi).

NPM (jika Anda menginginkan instalasi global berbasis Node):

# requires Node.js 18+

npm install -g @anthropic-ai/claude-code

Tidak menggunakan sudo npm install -g — memperingatkan terhadap instalasi global sudo (masalah izin/keamanan). Jika Anda mengalami kesalahan izin, gunakan nvm atau perbaiki awalan global npm Anda daripada menggunakan sudo.

4) Verifikasi bahwa biner telah terinstal (pemeriksaan dasar)

Jalankan ini secara lokal segera setelah instalasi:

# is the command on PATH?

which claude

# version (or -v)

claude --version
# or

claude -v

# help (sanity check)

claude --help

Diharapkan: which menunjukkan jalur (misalnya /usr/local/bin/claude or ~/.nvm/.../bin/claude) Dan claude --version mencetak string seperti semver. Dokumen dan README keduanya menunjukkan claude sebagai titik masuk CLI utama.


5) Verifikasi kesehatan dan konfigurasi instalasi (pemeriksaan yang direkomendasikan)

a) claude doctor,Berlari:

claude doctor

Diagnostik bawaan ini memeriksa jenis instalasi Anda, masalah umum (seperti masalah izin npm), dependensi seperti ripgrep, dan menyarankan perbaikan. Dokumen tersebut secara eksplisit merekomendasikan untuk menjalankan claude doctor setelah instalasi.

b) Jalankan uji asap (non-interaktif)

Dari direktori proyek Anda:

cd /path/to/your/project
claude -p "Explain this project in 3 sentences"

Ini menggunakan mencetak modus (-p) untuk mengirim satu perintah lalu keluar; bagus untuk CI atau pemeriksaan fungsional cepat.

c) Verifikasi otentikasi (pastikan CLI dapat mencapai Antropik)

Claude Code mendukung beberapa alur autentikasi (OAuth Konsol, kunci API, integrasi penyedia). Pemeriksaan umum:

  1. Jika menggunakan kunci API (CI / headless / variabel env lokal):
export ANTHROPIC_API_KEY="sk-..."
# then

claude auth status
claude auth whoami    # or `claude auth whoami` / `claude whoami` depending on version

Anda dapat menggunakan API KometKunci API untuk menggunakan Claude Code, Menggunakan API Claude melalui CometAPI akan memberi Anda diskon 20%.

  1. Jika Anda menggunakan OAuth melalui konsol - berlari:
claude auth status
claude auth whoami

Anda akan melihat info akun/rencana atau konfirmasi bahwa Anda telah diautentikasi.

Persiapan lingkungan langkah demi langkah

Berikut adalah langkah-langkah konkret untuk menyiapkan dua tumpukan pengembang umum (TypeScript dan Python), diikuti dengan pemeriksaan cepat untuk memastikan semuanya berfungsi.

H3 — A. Pengaturan TypeScript/Node (jalur tercepat)

  1. Buat proyek dan instal SDK:
mkdir mcp-demo && cd mcp-demo
npm init -y
npm install @modelcontextprotocol/sdk express zod
npm install --save-dev typescript tsx @types/node @types/express
  1. membuat server.ts(Kami menyediakan contoh lengkap di bagian “Cara Membangun dengan Cepat…”.)
  2. Menjalankan:
npx -y tsx server.ts
  1. Uji secara lokal dengan Inspektur MCP atau tambahkan ke Kode Claude:
npx @modelcontextprotocol/inspector
# or (for Claude Code)

claude mcp add --transport http my-server http://localhost:3000/mcp

(Perintah Inspector dan Claude memungkinkan Anda memvalidasi penemuan dan memanggil alat.)

Bagaimana cara cepat membangun server MCP untuk Claude Code?

daftar periksa cepat

1.Mulai server Anda (HTTP yang dapat dialirkan direkomendasikan): node server.ts or uvicorn server:app.

  1. Dari mesin pengembangan Anda, salah satu dari:
  • penggunaan Inspektur MCP untuk memvalidasi (npx @modelcontextprotocol/inspector) dan konfirmasi tools/list dan resources/list, Atau
  • Tambahkan server ke Claude Code: claude mcp add --transport http <name> http://<host>:<port>/mcp (atau ikuti alur UI web jika klien Anda mendukung MCP jarak jauh).

Jika Anda berencana menggunakan konektor Messages API Anthropic untuk MCP jarak jauh (tanpa klien terpisah), baca dokumen Claude — header beta mungkin diperlukan (periksa dokumen untuk header yang tepat dan status dukungan terkini).

Berikut adalah dua contoh server lengkap namun ringkas yang dapat Anda salin, jalankan, dan hubungkan ke Claude Code (atau MCP Inspector). Contoh TypeScript menggunakan Express + TypeScript SDK; contoh Python mendemonstrasikan pemasangan FastAPI.

Catatan: Kode di bawah ini mengikuti contoh SDK publik dan sengaja dibuat minimal demi kejelasan. Untuk produksi, tambahkan autentikasi, pencatatan log, pembatasan laju, dan validasi input di luar standar SDK.


Contoh 1: TypeScript + Express (HTTP yang dapat dialirkan)

membuat server.ts (menyelesaikan):

// server.ts
import express from "express";
import * as z from "zod/v4";
import { McpServer, ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";

const server = new McpServer({ name: "claude-code-demo", version: "0.1.0" });

// Register a simple tool: add two numbers
server.registerTool(
  "add",
  {
    title: "Add",
    description: "Add two numbers a and b",
    inputSchema: { a: z.number(), b: z.number() },
    outputSchema: { result: z.number() }
  },
  async ({ a, b }) => {
    const output = { result: a + b };
    return {
      content: ,
      structuredContent: output
    };
  }
);

// Register a resource: greet user (dynamic)
server.registerResource(
  "greeting",
  new ResourceTemplate("greeting://{name}", { list: undefined }),
  { title: "Greeting", description: "Return a greeting for the name" },
  async (uri, params) => {
    return {
      contents: 
    };
  }
);

// Express + Streamable HTTP transport
const app = express();
app.use(express.json());

app.post("/mcp", async (req, res) => {
  const transport = new StreamableHTTPServerTransport({ enableJsonResponse: true });
  // Close transport when connection closes
  res.on("close", () => transport.close());
  await server.connect(transport);
  await transport.handleRequest(req, res, req.body);
});

const port = parseInt(process.env.PORT || "3000", 10);
app.listen(port, () => console.log(`MCP server listening: http://localhost:${port}/mcp`));

Menjalankan:

npm install
npx -y tsx server.ts

Kemudian hubungkan dalam Claude Code (contoh):

# Add the remote server to your Claude Code MCP list (local dev)

claude mcp add --transport http my-demo http://localhost:3000/mcp

Contoh ini diadaptasi dari TypeScript SDK Quick Start resmi dan menunjukkan cara mendaftarkan alat dan sumber daya, lalu memaparkannya melalui HTTP Streamable.


Contoh 2: Python + FastAPI (FastMCP + HTTP yang Dapat Dialirkan)

membuat server.py (menyelesaikan):

# server.py

from fastapi import FastAPI
from mcp.server.fastmcp import FastMCP

app = FastAPI()
mcp = FastMCP("claude-python-demo", stateless_http=True)

# tool: simple sum

@mcp.tool()
def add(a: int, b: int) -> dict:
    """Add two integers"""
    return {"result": a + b}

# resource: simple greeting resource template

@mcp.resource("greeting://{name}")
def greeting(name: str):
    return {"contents": }

# mount the streamable-http MCP endpoint (FastMCP exposes an ASGI app)

app.mount("/mcp", mcp.streamable_http_app())

# optional endpoint to demonstrate other API routes

@app.get("/")
async def root():
    return {"status": "OK"}

Menjalankan:

uvicorn server:app --reload --port 8000

Hubungi Inspektur:

npx @modelcontextprotocol/inspector
# In Inspector select Streamable HTTP and enter http://localhost:8000/mcp

Contoh SDK Python dan utilitas FastMCP memudahkan pendaftaran @mcp.tool() dan @mcp.resource() fungsi yang dihias yang dapat ditemukan dan dipanggil oleh LLM.


Bagaimana Claude Code menyebut alat Anda?

Ketika LLM memutuskan untuk menggunakan suatu alat, klien mengirimkan pemanggilan JSON-RPC ke server MCP. Server mengeksekusi alat yang diminta (misalnya, melakukan kueri ke DB, menjalankan pengujian, atau memanggil API eksternal) dan mengembalikan konten terstruktur dan konten yang dapat disajikanKlien (Claude Code) kemudian dapat memasukkan keluaran terstruktur ke dalam konteks model sehingga model dapat melanjutkan penalaran dengan data yang andal tersebut — bukan hanya keluaran tekstual server. SDK TypeScript mendukung pendaftaran inputSchema dan outputSchema (zod) sehingga argumen dan keluaran divalidasi dan diketik mesin.


Alat pengujian dan debugging apa yang harus Anda gunakan?

Inspektur MCP

The Inspektur MCP adalah alat pengembang visual resmi untuk menguji server MCP. Alat ini memungkinkan Anda terhubung ke server (stdio, SSE, atau streamable-HTTP), membuat daftar alat, memanggilnya secara manual, dan memeriksa siklus hidup pesan JSON-RPC — sangat berharga selama pengembangan. Mulai melalui npx @modelcontextprotocol/inspector.

Pengujian Lokal vs. Pengujian Jarak Jauh

  • Lokal (stdio) — siklus iterasi cepat untuk aplikasi desktop dan debugging offline.
  • HTTP yang dapat dialirkan — uji dengan Inspektur atau sambungkan ke Kode Claude menggunakan claude mcp add CLI atau konektor MCP di Messages API untuk pengujian jarak jauh. Pastikan untuk menyediakan header autentikasi yang diperlukan untuk server Anda.

Kesimpulan

MCP adalah jembatan praktis antara LLM modern dan sistem yang menyimpan data dan melakukan tindakan. Untuk alur kerja kode, mengintegrasikan Claude Code dengan server MCP memberikan model akses terstruktur dan dapat diaudit ke repositori, CI, pelacak masalah, dan perkakas khusus—menghasilkan otomatisasi yang lebih presisi dan efek samping yang lebih aman. Dengan SDK resmi dalam TypeScript dan Python, HTTP Streamable untuk hosting jarak jauh, dan alat seperti MCP Inspector, Anda dapat membangun server minimal dalam hitungan menit dan beralih menuju penerapan produksi.

Pengembang dapat mengakses Claude Soneta 4.5 API dan Claude Opus 4.1 API dll melalui CometAPI, versi model terbaru selalu diperbarui dengan situs web resmi. Untuk memulai, jelajahi kemampuan model di tempat bermain dan konsultasikan Panduan API untuk petunjuk terperinci. Sebelum mengakses, pastikan Anda telah masuk ke CometAPI dan memperoleh kunci API. API Komet menawarkan harga yang jauh lebih rendah dari harga resmi untuk membantu Anda berintegrasi.

Siap untuk berangkat?→ Daftar ke CometAPI hari ini !

Jika Anda ingin mengetahui lebih banyak tips, panduan, dan berita tentang AI, ikuti kami di VKX dan Discord!

Baca Selengkapnya

500+ Model dalam Satu API

Diskon hingga 20%