Ilura
REHBER · MCP SPESİFİKASYONU

Model Context Protocol (MCP) nedir?

Model Context Protocol (MCP), Anthropic'in Kasım 2024'te yayımladığı, AI uygulamalarının (ajanların) dış sistemlere standart bir dille bağlandığı açık bir JSON-RPC spesifikasyonudur. Üç primitive sunar: tool (fonksiyon çağrısı), resource (okunabilir veri), prompt (yeniden kullanılabilir şablon). Transport olarak stdio veya HTTP+SSE kullanılabilir. ‘LLM'ler için USB-C’ benzetmesi yaygındır — tek protokol, çoğul istemci, çoğul sunucu.

01Kimler için?

Bu sayfa geliştiriciye yöneliktir:

  • AI ajanına yeni bir backend bağlamak isteyen developer. MCP server yazmak, mevcut bir REST/GraphQL API'ye LLM uyumlu sarmalayıcı eklemek demektir.
  • Kurum içi araçlarını LLM uyumlu kılmak isteyen platform ekibi. Logo, Netsis, kendi PostgreSQL — MCP server'a sarılınca her LLM kullanır.
  • Güvenlik mimarı. Spawn doğrulama, sandbox, ratelimit, audit gibi gateway ihtiyaçlarını anlamak için protokolün altını bilmek gerek.

02Nasıl çalışır?

Protokolün anatomisi:

  1. Transport. Yerelde stdio (process bazlı pipe), uzaktan HTTP + Server-Sent Events. Mesajlar JSON-RPC 2.0.
  2. Initialize handshake. Client sürüm bildirir, server desteklediği primitive'leri (tools, resources, prompts) listeler.
  3. Tool primitive. Her tool: ad + JSON Schema input + tanım. Ajan tools/list ile keşfeder, tools/call ile çağırır.
  4. Resource primitive. URI ile adreslenebilir okuma kaynakları (dosya, db kaydı, web sayfası). resources/read ile içerik alınır.
  5. Prompt primitive. Sunucudan gelen, parametre alabilen şablonlar. Kullanıcıya slash command gibi servis edilir.
  6. Notification ve sampling. Server, client'tan LLM çağrısı isteyebilir (sampling); client istemiyorsa onaylamaz.

03Ilura ile nasıl yapılır?

Ilura'nın MCP entegrasyonu yerel-öncelikli + sertleştirmeli:

  • Stdio spawn doğrulama. Her MCP server binary'si Ilura tarafından imzalanmış allowlist'te olmak zorunda; argümanlar shell metakarakter filtreden geçer.
  • HTTP+SSE için TLS pin. Uzak MCP server'lara bağlantı sertifikası pin'lenir; man-in-the-middle reddedilir.
  • Tool risk skoru. Her tool çağrısı PolicyEngine'in risk skorundan geçer (filesystem write yüksek, GET düşük).
  • Geliştirici SDK. Ilura'nın açık kaynak Rust MCP server starter'ı KVKK uyumlu logging ve PII maskleme primitive'lerini hazır verir.

04Sık sorulan sorular

Model Context Protocol ve OpenAI function calling birlikte çalışır mı?

Evet. Adapter ile herhangi bir LLM (OpenAI, Anthropic, Gemini, yerel Llama) aynı MCP server'ı tüketir. Ajan tarafı sağlayıcıdan bağımsız MCP istemcisi çalıştırır.

MCP server yazmak için hangi dilleri kullanabilirim?

Resmi SDK'lar TypeScript, Python, Rust, Java, C# için var. Protokol JSON-RPC olduğu için kendi dilinde elle implementasyon da mümkün.

Resource ile tool farkı ne?

Resource sadece okunabilir veri (read-only, immutable URL-like). Tool ise yan etkili — dosya yazabilir, API çağırabilir, e-posta gönderebilir. İkisini ayırmak güvenlik için kritik.

MCP versiyonlaması nasıl çalışır?

Initialize handshake'de protokol sürümü görüşülür. Şu an spec '2024-11-05' (genesis) ve sonraki minor revize'ler geri uyumlu kalmaya özen gösteriyor; major değişimde explicit bump.

Bir MCP server kullanıcı verisini sızdırabilir mi?

Yanlış yapılandırılırsa evet. Server'a verilen sandbox dışında bir dosyaya erişim, prompt injection ile ajanı yanıltıp veri çıkarma, log'lara hassas içerik düşürme — bilinen risklerdir.

MCP gateway şart mı?

Geliştirme için hayır. Üretimde, özellikle çoklu kullanıcı veya KVKK kapsamında işlerde — evet. Audit, policy, rate limit, multi-tenant izolasyon gateway katmanında yapılır.

05İlgili sayfalar

yanındayım — Ilura