Yüksek dil modelleri (LLM’ler), gerçek potansiyellerini ortaya çıkarmak için genellikle veri depoları, özel araçlar veya Uygulama Programlama Arayüzleri (API’ler) gibi harici kaynaklara bağlanmayı gerektirir. Ancak, bu entegrasyon için standartlaştırılmış bir yöntem bugüne kadar belirgin bir şekilde eksikti.
Anthropic, potansiyel bir çözümle öne çıktı: AI dünyasının ‘USB-C’si olmayı amaçlayan açık bir protokol olan Model Context Protocol (MCP). MCP’yi işlevlerini, uygulamalarını, zorluklarını ve dağıtım stratejilerini inceleyerek ayrıntılı olarak keşfedelim.
Yakın zamanda tanıtılan MCP, Claude modelinin yaratıcıları tarafından yönetilen açık kaynaklı bir projedir. AI sistemlerini çeşitli veri kaynaklarıyla sorunsuz bir şekilde bağlayan evrensel, açık bir standart öngörmektedir.
MCP, basit veritabanlarının ötesine geçerek çeşitli araçlara ve kaynaklara erişim sağlar. Bu yetenekler arasında veritabanlarını sorgulama, Docker konteynerlerini başlatma ve hatta Slack veya Discord gibi popüler mesajlaşma platformlarıyla etkileşim kurma yer alır.
Amaç, bir LLM’yi bir SQL veritabanıyla entegre etmek, bir Kubernetes kümesini yönetmek veya Jira görevlerini otomatikleştirmek olsun, uygun bir MCP sunucusunun zaten mevcut olma olasılığı yüksektir. Projenin ivmesi dikkat çekiciydi ve OpenAI ve Google gibi endüstri devlerinden önemli ilgi ve destek gördü.
Bu keşif, MCP’nin pratik yönlerini derinlemesine inceleyerek potansiyel uygulamalarını, doğal zorluklarını ve MCP sunucularını Claude Desktop ile ve Open WebUI kullanarak özel modellerle dağıtma ve entegre etme yöntemlerini vurgulayacaktır.
MCP’yi Anlamak: İstemci-Sunucu Mimarisi
MCP, üç temel öğeden oluşan geleneksel bir istemci-sunucu mimarisinde çalışır: ana makine, istemci ve sunucu.
Ana makine genellikle Claude Desktop veya Cursor gibi bir Entegre Geliştirme Ortamı (IDE) gibi kullanıcıya yönelik bir arayüzdür. Bir veya daha fazla MCP istemcisini yönetmekten sorumludur.
Her istemci, MCP protokolü aracılığıyla sunucuyla özel bir bağlantı kurar. İstemci ve sunucu arasındaki iletişim, aktarım katmanının belirli uygulamaya bağlı olarak değiştiği JSON-RPC mesajları aracılığıyla gerçekleşir. Şu anda desteklenen aktarım katmanları arasında Stdio, HTTP ve sunucu tarafından gönderilen olaylar (SSE) bulunur.
MCP sunucusu, istemciye belirli yetenekler sunarak bunların ana makine tarafından standart bir şekilde erişilebilir olmasını sağlar. Bu tek tip erişilebilirlik, MCP’nin genellikle AI için USB-C ile karşılaştırılmasının temel nedenidir.
USB, çevre birimleri ve depolama cihazları için farklı arayüzlere olan ihtiyacı ortadan kaldırarak bağlantıda devrim yaratması gibi, MCP de modellerin veri ve araçlarla etkileşim kurması için ortak bir dil yaratmaya çalışır.
MCP sunucusunun rolü, kaynağın konumuna bağlıdır. SQLite veritabanı gibi yerel kaynaklar için sunucu, kaynağa doğrudan erişir. Bir S3 bucket gibi uzak kaynaklar için bir köprü görevi görerek API çağrılarını iletir. Bu köprüleme işlevi, USB-C benzetmesini güçlendirir, çünkü MCP sunucuları genellikle satıcıya özgü arayüzleri dil modellerinin kolayca anlayabileceği standartlaştırılmış bir biçime çeviren adaptörler olarak hizmet eder.
Tutarlı maruz kalma ve yanıt mekanizması, MCP’nin temel bir yönüdür ve farklı kaynaklar arasında tekdüzeliği sağlar.
MCP’nin en ilgi çekici özelliklerinden biri, çift yönlü iletişim yeteneğidir. Ana uygulama sunucudan veri istemekle kalmaz, aynı zamanda sunucu da istemciye örnekleme/createMessage istekleri aracılığıyla LLM ile iletişim kurabilir. Bu işlevsellik henüz evrensel olarak desteklenmese de, heyecan verici aracı iş akışlarının yolunu açmaktadır.
MCP’nin temel bir anlayışıyla, şimdi pratik uygulamasına bakalım.
MCP ile Uygulama: Claude Desktop ile Test Etme
Anthropic’in MCP geliştirmesi göz önüne alındığında, Claude Desktop ilk deneyler için basit bir ortam sağlar.
Üçüncü taraf LLM sağlayıcılarından kaçınmayı tercih eden kullanıcılar için, sonraki bölüm MCP sunucularını yerel modellere ve Open WebUI arayüzüne bağlamayı kapsayacaktır.
Claude Desktop’un ötesinde, MCP sunucuları çeşitli ortamlarda çalışabileceğinden birkaç bağımlılığa ihtiyaç vardır. Bu gösteri için Node.js, Python 3 ve Python için UVX paket yöneticisi kurulmalıdır.
Gerekli bağımlılıkları yükledikten sonra, Claude Desktop’u başlatın ve bir Anthropic hesabı kullanarak oturum açın. Uygulama ayarlarına ve ardından ‘Geliştirici’ sekmesine gidin.
‘Yapılandırmayı Düzenle’ düğmesine tıklamak, macOS’ta ~/Library/Application Support/Claude/
klasöründe veya Windows’ta %APPDATA%\\Claude\\
klasöründe otomatik olarak boş bir claude_desktop_config.json
dosyası oluşturacaktır. Bu dosya, MCP İstemci yapılandırmasını barındıracaktır. Sistem Saati ve Dosya Sistemi MCP sunucuları test amaçlı olarak kullanılacaktır.
claude_desktop_config.json
dosyasını bir metin düzenleyicide veya IDE’de (örneğin, VSCodium) açın ve içeriğini, istenildiği gibi saat dilimini ayarlayarak aşağıdaki saat sunucusu yapılandırmasıyla değiştirin: