Model Context Protocol Açıklandı

Bir LLM'yi bir veritabanına veya bir API'ye bağlarsanız, bağlayıcı kod (glue code) yazarsınız. Bunu bir model için yazarsınız. Sonra bir sonraki model için tekrar yazarsınız. Bu durum, entegrasyon karmaşasına yol açar.

Model Context Protocol (MCP) bunu çözer. Yapay zeka için bir USB-C portu gibi davranır. Her cihaz için özel kablolar kullanmak yerine, herkes tek bir standart konnektör kullanır.

MCP, matematiksel denklemi M x N entegrasyonundan M + N'ye dönüştürür.

  • Araç geliştiricileri tek bir MCP sunucusu yazar.
  • Uygulama geliştiricileri tek bir MCP istemcisi ekler.
  • MCP protokolünü konuşan herhangi bir host, herhangi bir sunucuyu kullanabilir.

Mimarinin üç rolü vardır:

• Host: Claude Code veya bir IDE gibi kullandığınız yapay zeka uygulamasıdır. Hangi sunuculara bağlanılacağına karar verir. • Client: Host içindeki konnektördür. Sunucu ile bağlantıyı sürdürür. • Server: Sizin oluşturduğunuz programdır. Araçları, verileri veya istemleri (prompts) sunar.

Üç ana temel yapı (primitive) kullanırsınız:

  • Tools (Araçlar): Modelin e-posta göndermek veya bir veritabanını sorgulamak gibi eylemler gerçekleştirmek için çağırdığı fonksiyonlardır.
  • Resources (Kaynaklar): Uygulamanın bağlama (context) dahil ettiği dosya veya günlük (log) gibi salt okunur verilerdir.
  • Prompts (İstemler): Kullanıcıların belirli görevleri tetiklemesine yardımcı olan yeniden kullanılabilir şablonlardır.

FastMCP SDK kullanarak Python ile bir sunucu oluşturabilirsiniz. İşte basit bir örnek:

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("demo-tools")

@mcp.tool()
def word_count(text: str) -> int:
    """Metindeki kelimeleri sayar."""
    return len(text.split())

@mcp.resource("notes://team")
def team_notes() -> str:
    """Ekip notlarını sunar."""
    return "Yayın dondurma süreci Cuma günü başlıyor."

@mcp.prompt()
def code_review(language: str, code: str) -> str:
    """Kod inceleme şablonu."""
    return f"Bu {language} kodunu incele: {code}"

if __name__ == "__main__":
    mcp.run()

Sunucu oluştururken şu kuralları aklınızda bulundurun:

  • Güvenlik: Yıkıcı araçlar için kullanıcı onayını kullanın. Tüm argümanları doğrulayın.
  • Bağlam (Context): Araç açıklamalarını kısa tutun. Uzun açıklamalar token bütçenizi tüketir.
  • Hatalar: Modelin kendi hatalarını düzeltebilmesi için net mesajlar döndürün.

MCP, araçları yeniden kullanılabilir bir varlık haline getirir. Bir kez yazın. Her modelin kullanmasına izin verin.

Kaynak: https://dev.to/galian/model-context-protocol-explained-build-your-first-mcp-server-in-python-ian

İsteğe bağlı öğrenme topluluğu: https://t.me/GyaanSetuAi