Son birkaç haftadır bu blog için kendi MCP sunucumu, blog-mcp'yi geliştirdim ve bu süreçte Model Context Protocol hakkında neden bu kadar çok konuşulduğunu gerçekten anladım. Arkasındaki fikir aslında basit: bir MCP sunucusu, Claude gibi bir yapay zeka modeli ile gerçek bir sistem arasında köprü kuruyor, ister bir veritabanı olsun, ister bir API, ister dahili bir araç. Chat ile yönetim paneli arasında kopyala-yapıştır yapmak yerine, sunucu modelin çağırabileceği birkaç fonksiyonu ("tool") açık girdi ve çıktı tanımlarıyla tarif ediyor.
Blogum özelinde bu, somut olarak şu anlama geliyor: blog-mcp, create_draft, update_draft veya list_articles gibi tool'lar sunuyor. Claude bunları kullanarak doğrudan makale taslakları oluşturabiliyor, çok dilli çevirileri yönetebiliyor ya da yayın durumunu sorgulayabiliyor, ben hiç SQL yazmadan ya da backend panelini açmadan. Model sadece tool açıklamasını görüyor (hangi parametreler, hangi amaçla), veritabanı kodumu değil, yine de bununla anlamlı biçimde çalışabiliyor.
Bunu geliştirirken özellikle netleşen bir şey oldu: tool şemaları aslında kod ile model arasında bir sözleşme gibi. Şema değişirse (örneğin çeviriler için yeni bir locale parametresi eklenirse), sunucunun gerçekten yeniden deploy edilmesi gerekiyor, yoksa model neyin mümkün olduğu konusunda eski bir bilgiyle çalışmaya devam ediyor. Test sırasında başıma tam olarak bu geldi, bir PUT isteği teknik olarak başarıyla geçti, ama locale özelliği henüz deploy edilmediği için sadece bir çeviriyi değil, tüm makaleyi üzerine yazdı. MCP sunucularında temiz şema tasarımı ve versiyonlamanın neden bu kadar önemli olduğuna dair güzel bir örnek, çünkü model şemaya neredeyse kör körüne güvenmek zorunda.
Yine de benim için en büyük kazanım, iş akışının kendisi: bir sohbet penceresinde bir blog yazısını düşünebiliyorum, yazdırabiliyorum ya da kendim yazabiliyorum, ve sonunda hiçbir bağlam değişikliği olmadan doğrudan gerçek veritabanında bir taslak olarak beliriyor. Bu, "yapay zeka kullanmak"tan çok, kendi sistemim için ek ve son derece esnek bir arayüz gibi hissettiriyor.