MCP nedir?

Model Context Protocol (MCP), Cursor’ın dış araçlara ve veri kaynaklarına bağlanmasına olanak tanır.

Neden MCP kullanmalı?

MCP, Cursor’ı harici sistemlere ve verilere bağlar. Proje yapını yeniden yeniden anlatmak yerine, doğrudan araçlarınla entegre ol. stdout’a yazdırabilen veya bir HTTP endpoint’i sunabilen herhangi bir dille MCP sunucuları yaz — Python, JavaScript, Go, vb.

Nasıl çalışır

MCP sunucuları, protokol üzerinden yeteneklerini sunar ve Cursor’ı harici araçlara ya da veri kaynaklarına bağlar. Cursor üç aktarım yöntemi destekler:
AktarımÇalışma ortamıDağıtımKullanıcılarGirdiKimlik doğrulama
stdioYerelCursor yönetirTek kullanıcıKabuk komutuManuel
SSEYerel/UzakSunucu olarak dağıtılırBirden çok kullanıcıBir SSE uç noktasına URLOAuth
Streamable HTTPYerel/UzakSunucu olarak dağıtılırBirden çok kullanıcıBir HTTP uç noktasına URLOAuth

Protokol desteği

Cursor, şu MCP protokol yeteneklerini destekler:
ÖzellikDestekAçıklama
ToolsDestekleniyorAI modelinin çalıştırması için fonksiyonlar
PromptsDestekleniyorKullanıcılar için şablon mesajlar ve iş akışları
ResourcesDestekleniyorOkunup referans verilebilen yapılandırılmış veri kaynakları
RootsDestekleniyorÇalışılacak uri veya dosya sistemi sınırlarına yönelik sunucu başlatımlı sorgular
ElicitationDestekleniyorKullanıcılardan ek bilgi talep eden sunucu başlatımlı istekler

MCP sunucularını kurma

Tek tıkla kurulum

Koleksiyonumuzdan MCP sunucularını yükle ve OAuth ile oturum açarak kimlik doğrula.

mcp.json kullanımı

Özel MCP sunucularını bir JSON dosyasıyla yapılandır:
{
  "mcpServers": {
    "server-name": {
      "command": "npx",
      "args": ["-y", "mcp-server"],
      "env": {
        "API_KEY": "value"
      }
    }
  }
}

STDIO sunucu yapılandırması

STDIO sunucuları (yerel komut satırı sunucuları) için mcp.json içinde şu alanları yapılandır:
FieldRequiredDescriptionExamples
typeYesSunucu bağlantı türü"stdio"
commandYesSunucu çalıştırılabilirini başlatan komut. Sistem yolunda bulunmalı ya da tam yolunu içermeli."npx", "node", "python", "docker"
argsNoKomuta iletilen argümanlar dizisi["server.py", "--port", "3000"]
envNoSunucu için ortam değişkenleri{"API_KEY": "${input:api-key}"}
envFileNoEk değişkenler yüklemek için ortam dosyasının yolu".env", "${workspaceFolder}/.env"

Extension API’yi kullanma

Programatik MCP sunucu kaydı için Cursor, mcp.json dosyalarını değiştirmeden dinamik yapılandırma yapmana izin veren bir Extension API sunar. Bu, özellikle kurumsal ortamlar ve otomatik kurulum iş akışları için kullanışlıdır.

MCP Extension API Referansı

vscode.cursor.mcp.registerServer() kullanarak MCP sunucularını programatik olarak nasıl kaydedeceğini öğren

Yapılandırma konumları

Proje Yapılandırması

Projeye özel araçlar için projenin içinde .cursor/mcp.json oluştur.

Genel Yapılandırma

Her yerde kullanılabilen araçlar için ana dizininde ~/.cursor/mcp.json oluştur.

Yapılandırma interpolasyonu

mcp.json değerlerinde değişkenler kullan. Cursor şu alanlardaki değişkenleri çözümler: command, args, env, url ve headers. Desteklenen sözdizimi:
  • ${env:NAME} ortam değişkenleri
  • ${userHome} ana dizininin yolu
  • ${workspaceFolder} proje kökü (.cursor/mcp.json dosyasını içeren klasör)
  • ${workspaceFolderBasename} proje kökünün adı
  • ${pathSeparator} ve ${/} işletim sistemi yol ayırıcıları
Örnekler
{
  "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}"
      }
    }
  }
}

Kimlik Doğrulama

MCP sunucuları kimlik doğrulaması için ortam değişkenlerini kullanır. API anahtarlarını ve belirteçleri config üzerinden ilet. Cursor, gerektiğinde OAuth’u destekler.

Sohbette MCP kullanma

Composer Agent, uygun olduğunda Available Tools altında listelenen MCP araçlarını otomatik olarak kullanır. Belirli bir aracı adıyla iste ya da neye ihtiyacın olduğunu anlat. Araçları ayarlardan etkinleştir veya devre dışı bırak.

Araçları açıp kapatma

MCP araçlarını direkt sohbet arayüzünden etkinleştir veya devre dışı bırak. Bir aracı açıp kapatmak için araçlar listesindeki araç adına tıkla. Devre dışı bırakılan araçlar bağlama yüklenmez ve Agent tarafından kullanılamaz.

Araç onayı

Agent, varsayılan olarak MCP araçlarını kullanmadan önce onay ister. Argümanları görmek için araç adının yanındaki oka tıkla.

Otomatik çalıştırma

Agent’ın sormadan MCP araçlarını kullanabilmesi için otomatik çalıştırmayı etkinleştir. Terminal komutları gibi çalışır. Otomatik çalıştırma ayarları hakkında daha fazlasını buradan öğrenebilirsin.

Araç yanıtı

Cursor, sohbette argümanlar ve yanıtlar için genişletilebilir görünümlerle sonucu gösterir:

Bağlam olarak görseller

MCP sunucuları görseller döndürebilir — ekran görüntüleri, diyagramlar vb. Bunları base64 kodlanmış string’ler olarak döndür:
const RED_CIRCLE_BASE64 = "/9j/4AAQSkZJRgABAgEASABIAAD/2w...";
// ^ okunabilirlik için tam base64 kısaltıldı

server.tool("generate_image", async (params) => {
  return {
    content: [
      {
        type: "image",
        data: RED_CIRCLE_BASE64,
        mimeType: "image/jpeg",
      },
    ],
  };
});
Uygulama ayrıntıları için şu örnek sunucuya bak. Cursor, döndürülen görselleri sohbete ekler. Model görselleri destekliyorsa, onları analiz eder.

Güvenlikle ilgili dikkat edilmesi gerekenler

MCP sunucularını kurarken şu güvenlik uygulamalarını göz önünde bulundur:
  • Kaynağı doğrula: MCP sunucularını yalnızca güvenilir geliştiriciler ve depolardan yükle
  • İzinleri gözden geçir: Sunucunun hangi verilere ve API’lere erişeceğini kontrol et
  • API anahtarlarını sınırla: Gerekli en az izinlere sahip kısıtlı API anahtarları kullan
  • Kodu denetle: Kritik entegrasyonlar için sunucunun kaynak kodunu incele
MCP sunucularının harici hizmetlere erişip senin adına kod çalıştırabileceğini unutma. Kurmadan önce bir sunucunun ne yaptığını mutlaka anla.

Gerçek dünya örnekleri

MCP’nin pratik kullanımına dair örnekler için, geliştirme iş akışına Linear, Figma ve tarayıcı araçlarını entegre etmeyi gösteren Web Development kılavuzu’na göz at.

SSS