apı ve mcp nedir birbiri ile ililkisi ne dir nasıl entegre edilip kullanılabilir?
Yazılım dünyasında sistemlerin birbiriyle konuşmasını sağlayan iki önemli kavramı, yani API ve son dönemde yapay zekayla birlikte hayatımıza giren MCP'yi (Model Context Protocol) adım adım inceleyelim.
1. API Nedir? (Application Programming Interface)
API (Uygulama Programlama Arayüzü), iki farklı yazılımın belirli kurallar çerçevesinde birbiriyle veri alışverişi yapmasını sağlayan bir köprüdür.
- Nasıl Çalışır? Bir istemci (client) istek gönderir, sunucu (server) bu isteği işler ve cevabı döner (Genellikle JSON formatında).
- Örnek: Sitenize bir hava durumu bileşeni eklemek istediğinizde, Meteoroloji Genel Müdürlüğü'nün veya OpenWeather'ın API'sine "İstanbul'da hava nasıl?" diye sorarsınız, API size sıcaklık verisini döner.
2. MCP Nedir? (Model Context Protocol)
MCP (Model Bağlam Protokolü), Anthropic tarafından açık kaynak olarak geliştirilen ve Yapay Zeka Modelleri (LLM'ler) ile veri kaynakları/araçlar arasında standart bir köprü kurmayı amaçlayan yepyeni bir protokoldür.
- Neden Çıktı? Eskiden her yapay zeka modeli için (Gemini, Claude, GPT) kendi geliştirme ortamınıza, veritabanınıza veya lokal dosyalarınıza erişecek özel entegrasyonlar (wrapper'lar) yazmanız gerekiyordu. MCP, tıpkı bilgisayarlardaki USB standardı gibi, yapay zekanın dış dünyaya bağlanması için tek bir ortak dil belirler.
- Nasıl Çalışır? Yapay zeka modeli bir MCP Client (istemci) olur. Sizin veritabanınız, yerel dosyalarınız veya GitHub gibi araçlarınız ise birer MCP Server (sunucu) haline gelir. Model, bu protokol sayesinde neyi, nasıl okuyacağını standart bir şekilde bilir.
3. API ve MCP Arasındaki İlişki Nedir?
API ve MCP birbirine rakip değildir; aksine MCP, API'leri yapay zekanın anlayabileceği ve yönetebileceği bir standarda kavuşturan bir üst katmandır.
| Özellik | API | MCP |
|---|---|---|
| Odak Noktası | İki geleneksel yazılım/sistem arası iletişim. | Yapay Zeka (LLM) ile dış dünya/veriler arası iletişim. |
| Veri Yapısı | Genelde ham veri (JSON/XML). Yapay zeka doğrudan ne yapacağını anlamayabilir. | Verinin yanında bağlam (context) ve araç tanımları da içerir. |
| Kullanım Şekli | Yazılımcı kodu yazar, API'yi belirli kurallarla çağırır. | Yapay zeka modeli, MCP üzerinden hangi aracı ne zaman çağıracağına kendisi karar verir. |
İlişkiyi Özetleyen Senaryo: Elinizde bir kargo takip API'si var. Eski yöntemde yapay zekaya bu API'yi kullanmayı öğretmek için tonla özel kod yazmanız gerekirdi. MCP dünyasında ise kargo API'nizi bir MCP Server içine sararsınız (wrap edersiniz). Yapay zeka modeli, MCP protokolü sayesinde o API'nin ne işe yaradığını, hangi parametreleri istediğini otomatik olarak anlar ve kullanıcı adına o API'yi tetikler.
4. Nasıl Entegre Edilir ve Kullanılır?
Bir MCP mimarisini hayata geçirmek için 3 temel bileşene ihtiyacınız vardır:
- Host/Client (Ev Sahibi): MCP'yi destekleyen bir yapay zeka arayüzü veya geliştirme ortamı (Örn: Cursor IDE, Claude Desktop vb.).
- MCP Server (Sunucu): Modelin erişmesini istediğiniz veri kaynağı veya API'yi MCP formatında dışa açan küçük bir uygulama (Node.js veya Python ile yazılır).
- Model: İsteği yorumlayan LLM.
Adım Adım Entegrasyon Mantığı (Örnek: Bir Web API'sini MCP'ye Dönüştürmek)
Diyelim ki elinizde sitenizin veri katmanından (Data Layer) veya bir CRM'den veri çeken bir API var ve yapay zekanın bu API'yi kullanmasını istiyorsunuz.
Adım 1: MCP Server'ı Hazırlama (Python veya Node.js)
MCP'nin sunduğu resmi SDK'ları kullanarak hızlıca bir sunucu oluşturursunuz. Bu sunucu, yapay zekaya iki şey söyler:
- Tools (Araçlar): "Bende
get_user_behavioradında bir fonksiyon var, bu fonksiyon web sitesindeki tıklama verilerini getirir." - Resources (Kaynaklar): "Bende
documentation.mdadında bir dosya var, burayı okuyabilirsin."
Örnek Node.js MCP Server Kod Taslağı:
JavaScript
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
const server = new Server({
name: "my-analytics-mcp",
version: "1.0.0"
}, {
capabilities: { tools: {} }
});
// Yapay zekaya kullanabileceği API aracını tanıtıyoruz
server.onRequest("tools/list", async () => {
return {
tools: [{
name: "fetch_ga4_data",
description: "Belirtilen tarihler arasındaki GA4 dönüşüm verilerini getirir.",
inputSchema: {
type: "object",
properties: {
startDate: { type: "string" },
endDate: { type: "string" }
}
}
}]
};
});
// Yapay zeka aracı çağırdığında çalışacak API isteği
server.onRequest("tools/call", async (request) => {
if (request.params.name === "fetch_ga4_data") {
// Burada standart API isteğinizi yaparsınız (Fetch/Axios ile)
const apiResponse = await myExistingAPI(request.params.arguments.startDate);
return {
content: [{ type: "text", text: JSON.stringify(apiResponse) }]
};
}
});
// Sunucuyu başlatma
const transport = new StdioServerTransport();
await server.connect(transport);
Adım 2: Client/IDE Üzerinde Tanımlama
Oluşturduğunuz bu MCP sunucusunu, kullandığınız yapay zeka arayüzüne (Örn: Cursor veya Claude Desktop ayarlarındaki mcpServers kısmına) config dosyası olarak eklersiniz:
JSON
{
"mcpServers": {
"my-analytics": {
"command": "node",
"args": ["/path/to/your/server.js"]
}
}
}
Adım 3: Kullanım
Entegrasyon bittikten sonra yapay zekaya sadece şunu demeniz yeterlidir:
"Geçen haftaki web sitesi dönüşüm oranlarını analiz et ve bana teknik bir rapor çıkar."
Yapay zeka, tanımladığınız MCP sunucusuna bakar, fetch_ga4_data aracının bu işe yarayacağını anlar, arka planda API'nizden veriyi çeker, analiz eder ve size sonucu sunar.
