Apa itu MCP?

Model Context Protocol (MCP) memungkinkan Cursor terhubung dengan alat dan sumber data eksternal.

Kenapa pakai MCP?

MCP menghubungkan Cursor ke sistem dan data eksternal. Alih-alih ngejelasin struktur proyekmu berulang-ulang, integrasiin langsung sama tools-mu. Tulis server MCP dalam bahasa apa pun yang bisa nge-print ke stdout atau nyajiin endpoint HTTP — Python, JavaScript, Go, dll.

Cara kerjanya

Server MCP mengekspos kapabilitas melalui protokol, menghubungkan Cursor ke alat atau sumber data eksternal. Cursor mendukung tiga metode transport:
TransportLingkungan eksekusiDeploymentPenggunaInputAuth
stdioLokalDikelola oleh CursorSatu penggunaPerintah shellManual
SSELokal/RemoteDideploy sebagai serverBanyak penggunaURL ke endpoint SSEOAuth
Streamable HTTPLokal/RemoteDideploy sebagai serverBanyak penggunaURL ke endpoint HTTPOAuth

Dukungan protokol

Cursor mendukung kapabilitas protokol MCP berikut:
FiturDukunganDeskripsi
ToolsDidukungFungsi yang dijalankan oleh model AI
PromptsDidukungPesan dan alur kerja berbasis templat untuk pengguna
ResourcesDidukungSumber data terstruktur yang bisa dibaca dan dirujuk
RootsDidukungPermintaan yang diprakarsai server untuk menjelajahi batas URI atau sistem berkas sebagai ruang kerja
ElicitationDidukungPermintaan yang diprakarsai server untuk informasi tambahan dari pengguna

Menginstal server MCP

Instalasi sekali klik

Instal server MCP dari koleksi kami dan lakukan autentikasi via OAuth.

Menggunakan mcp.json

Konfigurasikan server MCP kustom dengan file JSON:
{
  "mcpServers": {
    "server-name": {
      "command": "npx",
      "args": ["-y", "mcp-server"],
      "env": {
        "API_KEY": "value"
      }
    }
  }
}

Konfigurasi server STDIO

Untuk server STDIO (server command-line lokal), konfigurasikan field berikut di mcp.json:
FieldRequiredDescriptionExamples
typeYesJenis koneksi server"stdio"
commandYesPerintah untuk menjalankan executable server. Harus tersedia di system path kamu atau mencantumkan path lengkapnya."npx", "node", "python", "docker"
argsNoArray argumen yang diberikan ke perintah["server.py", "--port", "3000"]
envNoVariabel environment untuk server{"API_KEY": "${input:api-key}"}
envFileNoPath ke file environment untuk memuat variabel tambahan".env", "${workspaceFolder}/.env"

Menggunakan Extension API

Untuk pendaftaran server MCP secara terprogram, Cursor menyediakan Extension API yang memungkinkan konfigurasi dinamis tanpa mengubah berkas mcp.json. Ini sangat berguna untuk lingkungan enterprise dan alur penyiapan otomatis.

Referensi MCP Extension API

Pelajari cara mendaftarkan server MCP secara terprogram menggunakan vscode.cursor.mcp.registerServer()

Lokasi konfigurasi

Konfigurasi Proyek

Buat .cursor/mcp.json di proyek kamu untuk alat khusus proyek.

Konfigurasi Global

Buat ~/.cursor/mcp.json di direktori home kamu untuk alat yang tersedia di mana saja.

Interpolasi konfigurasi

Gunakan variabel di nilai mcp.json. Cursor menginterpolasi variabel di bidang berikut: command, args, env, url, dan headers. Sintaks yang didukung:
  • ${env:NAME} variabel environment
  • ${userHome} path ke folder home kamu
  • ${workspaceFolder} root proyek (folder yang berisi .cursor/mcp.json)
  • ${workspaceFolderBasename} nama root proyek
  • ${pathSeparator} dan ${/} pemisah path OS
Contoh
{
  "mcpServers": {
    "local-server": {
      "command": "python",
      "args": ["${workspaceFolder}/tools/mcp_server.py"],
      "env": {
        "API_KEY": "${env:API_KEY}"
      }
    }
  }
}
{
  "mcpServers": {
    "remote-server": {
      "url": "https://api.example.com/mcp",
      "headers": {
        "Authorization": "Bearer ${env:MY_SERVICE_TOKEN}"
      }
    }
  }
}

Autentikasi

Server MCP menggunakan variabel lingkungan untuk autentikasi. Lewatkan kunci API dan token melalui config. Cursor mendukung OAuth untuk server yang memerlukannya.

Menggunakan MCP di chat

Composer Agent otomatis menggunakan tool MCP yang tercantum di Available Tools saat relevan. Minta tool tertentu dengan menyebut namanya atau jelasin apa yang kamu butuhin. Aktifkan atau nonaktifkan tool dari settings.

Mengaktifkan/menonaktifkan tools

Aktifkan atau nonaktifkan MCP tools langsung dari antarmuka chat. Klik nama tool di daftar tools untuk toggle. Tools yang dinonaktifkan nggak akan dimuat ke konteks atau tersedia buat Agent.

Persetujuan tool

Secara default, agent bakal minta persetujuan sebelum pakai tool MCP. Klik panah di sebelah nama tool buat lihat argumennya.

Auto-run

Aktifkan auto-run supaya Agent bisa pakai MCP tools tanpa perlu konfirmasi. Cara kerjanya mirip perintah terminal. Baca lebih lanjut tentang pengaturan Auto-run di sini.

Respons alat

Cursor menampilkan respons di chat dengan tampilan argumen dan respons yang dapat diperluas:

Gambar sebagai konteks

Server MCP bisa mengembalikan gambar—screenshot, diagram, dll. Kirimkan sebagai string base64-encoded:
const RED_CIRCLE_BASE64 = "/9j/4AAQSkZJRgABAgEASABIAAD/2w...";
// ^ full base64 clipped for readability

server.tool("generate_image", async (params) => {
  return {
    content: [
      {
        type: "image",
        data: RED_CIRCLE_BASE64,
        mimeType: "image/jpeg",
      },
    ],
  };
});
Lihat contoh server ini untuk detail implementasi. Cursor akan melampirkan gambar yang dikembalikan ke obrolan. Kalau model mendukung gambar, gambar tersebut akan dianalisis.

Pertimbangan keamanan

Saat menginstal server MCP, pertimbangkan praktik keamanan berikut:
  • Verifikasi sumber: Hanya instal server MCP dari pengembang dan repositori tepercaya
  • Tinjau izin: Periksa data dan API apa yang akan diakses server
  • Batasi kunci API: Gunakan kunci API terbatas dengan izin minimal yang diperlukan
  • Audit kode: Untuk integrasi yang kritis, tinjau kode sumber server
Ingat bahwa server MCP bisa mengakses layanan eksternal dan mengeksekusi kode atas namamu. Selalu pahami apa yang dilakukan server sebelum instalasi.

Contoh di dunia nyata

Untuk contoh praktis MCP yang benar-benar dipakai, lihat panduan Web Development yang nunjukin cara ngeintegrasiin Linear, Figma, dan alat browser ke workflow pengembangan lo.

FAQ