← Tüm hizmetler

MCP Sunucusu Geliştirme ve Entegrasyonu

Özel Model Context Protocol sunucuları, yapay zeka uygulamalarına şirket API'leri, veri tabanları, belgeler ve yazılım araçları için standart bir bağlantı sunar.

Özel bir MCP sunucusu, uyumlu yapay zeka uygulamalarının sistemlerinizdeki araçları ve verileri standart bir yöntemle keşfedip kullanmasını sağlar. Her uygulama için ayrı bir model entegrasyonu kurmak yerine, kullanılabilecek araçları ve verileri bir kez tanımlayıp MCP üzerinden sunmak mümkündür.

Proje; yeni bir yerel veya uzak MCP sunucusunu, mevcut sistemlerle bağlantıları ve sunucuyu kullanacak yapay zeka istemcileriyle yapılan testleri kapsayabilir. Mevcut uygulamalar da incelenip iyileştirilebilir.

MCP projenizi konuşalım

MCP bağlantısı nasıl çalışır?

Host, kişinin kullandığı yapay zeka uygulamasıdır. Sunucuyla bağlantı kurmak için bir MCP istemcisi oluşturur. Sunucu sunduğu araçları ve bilgileri tanımlar, ardından onaylanan istekler doğrultusunda şirket sistemlerini çağırır.

MCP sunucusu nedir?

Model Context Protocol, dil modeli kullanan uygulamaları dış araçlara ve bilgilere bağlayan açık bir protokoldür. MCP sunucusu bu yetenekleri kullanıma açan programdır. Host uygulamanın içindeki MCP istemcisi sunucuya bağlanır.

MCP, JSON-RPC mesajlarını kullanır. Bağlantı kurulurken istemci ile sunucu protokol sürümünü ve ortak özellikleri belirler. Bir sunucu; araç, kaynak ve prompt bileşenlerinin herhangi bir birleşimini sunabilir.

Araçlar
Modelin çağırabildiği fonksiyonlardır. Veri tabanında arama yapmak, destek kaydı oluşturmak, hesaplama çalıştırmak veya bir kaydı güncellemek buna örnektir.
Kaynaklar
Uygulamanın okuyup model bağlamına ekleyebildiği dosya, veri tabanı şeması, ürün kaydı veya API dokümantasyonu gibi bilgilerdir.
Promptlar
Kullanıcıların bilinen bir görevi doğru girdiler ve bağlamla başlatmasına yardımcı olan tekrar kullanılabilir talimat şablonlarıdır.

Bir MCP projesi neleri kapsayabilir?

Kapsam, erişime açılacak sistemlere ve bağlantı kuracak istemcilere göre belirlenir. Tipik bir MCP geliştirme projesi aşağıdaki çalışmaları içerebilir.

Sunucu tasarımı

Araçlar, kaynaklar, promptlar, adlar, şemalar, hatalar ve yetenek sınırları tanımlanır.

Sistem entegrasyonu

REST veya GraphQL API'leri, SQL veri tabanları, belge depoları, SaaS ürünleri, kuyruklar ve kurum içi servisler bağlanır.

Kimlik doğrulama

Kullanıcı veya servis kimliğinin doğrulanması, yetki kapsamları, tenant ayrımı ve erişim bilgilerinin yönetimi uygulanır.

Yerel ve uzak kurulum

Yerel süreç için stdio veya uzak sunucu için Streamable HTTP kullanılabilir.

İstemci entegrasyonu

Sunucu, kullanılacak host uygulamalar veya model API'leriyle yapılandırılır ve test edilir.

Test ve işletim

Araç seçimi, şemalar, hatalar, zaman aşımları, yetkiler ve loglar test edilir; bağlı sistemler değiştiğinde oluşan etkiler kontrol edilir.

MCP üzerinden kullanıma açılabilen sistemler

MCP sunucusu mevcut bir sistemin önünde çalışabilir; alttaki API'nin değiştirilmesi gerekmez. Amaca göre daraltılmış bir arayüz, yapay zeka uygulamasına yalnızca ihtiyaç duyduğu işlemler ve bilgiler için erişim verir.

  • • Kurum içi REST ve GraphQL API'leri
  • • PostgreSQL, MySQL, SQL Server ve diğer veri tabanları
  • • Belge kütüphaneleri ve şirket bilgi tabanları
  • • CRM, ERP, destek ve proje yönetimi yazılımları
  • • Bulut depolama ve iş birliği araçları
  • • Kaynak kod, CI sistemleri, altyapı ve geliştirici araçları
  • • Şirkete özgü hesaplama, doğrulama ve raporlama servisleri

MCP mi, doğrudan API entegrasyonu mu?

MCP bir entegrasyon standardıdır; her API'nin yerini almaz. MCP eklemenin anlamlı olup olmadığını çoğunlukla istemci sayısı ve entegrasyonun yeniden kullanılma ihtiyacı belirler.

MCP genellikle şu durumlarda uygundur

  • • Birden fazla yapay zeka asistanı veya AI agent sistemi aynı şirket işlevini kullanacaksa
  • • Kullanıcıların bağlayacakları araç veya veri kaynağını seçmesi gerekiyorsa
  • • Kullanılabilir araçların çalışma sırasında keşfedilmesi gerekiyorsa
  • • Entegrasyonun birden fazla model sağlayıcısı veya host ile çalışması isteniyorsa
  • • Araç seti ayrı bir servis olarak sürdürülecekse

Doğrudan entegrasyon şu durumlarda daha basit olabilir

  • • Tek uygulama sabit bir API işlemini çağırıyorsa
  • • Modelin fonksiyonu keşfetmesi veya seçmesi gerekmiyorsa
  • • Mevcut uygulama kimlik doğrulama ve araç çalıştırmayı zaten yönetiyorsa
  • • Bağlantıyı başka bir istemcinin kullanması beklenmiyorsa

MCP güvenliği ve yetkiler

Bir MCP aracı hassas bilgi okuyabilir veya başka bir sistemde değişiklik yapabilir. Sunucu her isteği modelden bağımsız olarak kontrol etmelidir. Araç açıklamaları ve model talimatları erişim kontrolü değildir.

Uzak HTTP sunucuları için MCP yetkilendirme standardı OAuth tabanlı bir akış tanımlar. Yerel stdio sunucuları kimlik bilgilerini genellikle çalıştıkları ortamdan alır. Doğru kurulum, bağlantının bir kullanıcıyı mı, bir uygulamayı mı yoksa kurum içi bir servisi mi temsil ettiğine bağlıdır.

En az yetki
Her araç yalnızca kendi işlemi için gereken yetkilere sahip olur.
Onay sınırları
Okuma işlemleri ile veri değiştiren eylemlere farklı onay kuralları uygulanabilir.
Girdi ve çıktı kontrolleri
Sunucu argümanları doğrular, dönen veriyi sınırlar ve beklenen şemanın dışındaki değerleri reddeder.
Token yönetimi
Erişim tokenları hedef sunucu için doğrulanır ve ilgisiz sistemlere aktarılmaz.
Prompt injection kontrolleri
Araçların döndürdüğü içerik veri olarak ele alınır. Güvenilmeyen metin başka bir aracı çağırma yetkisi kazanmaz.
Denetim kayıtları
Loglar gereksiz hassas veriyi kopyalamadan kullanıcıyı, aracı, argümanları, işlemin sonucunu, onayı ve zaman bilgisini kaydedebilir.

Teslimat kapsamında neler bulunur?

Teslimat, çalışan MCP sunucusunu ve kararlaştırılan ortamda çalıştırmak için gereken kodu içerir. Kod deposunda araç şemaları, yapılandırma, testler, devreye alma talimatları, bağlı sistemlerin dokümantasyonu ve her aracın ihtiyaç duyduğu yetkiler bulunur.

Mevcut bir MCP sunucusu için kapsam; araç tasarımı, protokol uyumluluğu, kimlik doğrulama, güvenlik sınırları, hata yönetimi ve hedef istemcilerdeki davranışı içerebilir. Sonuç yazılı bir inceleme, uygulanan değişiklikler veya her ikisi olabilir.

  • • Kaynak kod ve türü belirlenmiş araç veya kaynak şemaları
  • • Protokol ve iş davranışı için otomatik testler
  • • Kimlik doğrulama ve yetkilendirme yapılandırması
  • • Container veya yerel yükleme paketi
  • • İstemci yapılandırma örnekleri
  • • Devreye alma, izleme ve bakım dokümantasyonu

MCP geliştirme hakkında sorular

MCP mevcut API'mize bağlanabilir mi?

Evet. MCP sunucusu mevcut REST, GraphQL, SOAP veya kurum içi API'yi çağırabilir. Mevcut API genellikle yerinde kalır; MCP ise model kullanımına uygun, daha küçük bir işlem kümesi sunar.

MCP sunucusu doğrudan veri tabanına bağlanabilir mi?

Evet, ancak sınırsız veri tabanı erişimi çoğu durumda uygun değildir. Daha güvenli bir tasarım belirli okuma veya yazma işlemleri sunar, kullanıcının yetkilerini uygular, parametreleri doğrular, dönen alanları ve kayıt sayısını sınırlar.

MCP sunucusu ile MCP istemcisi arasındaki fark nedir?

Sunucu araç veya bilgi sağlar. İstemci, bir sunucuya bağlanan ve yapay zeka host uygulamasının içinde bulunan protokol bileşenidir. Bir host, birden fazla sunucuya bağlanmak için birden fazla istemci oluşturabilir.

Sunucu kurum ağımızın içinde çalışabilir mi?

Evet. Yerel sunucu, host ile aynı makinede stdio üzerinden çalışabilir. Uzak sunucu ise özel ağda veya bulutta çalışabilir. Dışarıdaki bir host uygulamanın özel sunucuya ulaşıp ulaşamayacağı, desteklediği bağlantı yöntemine bağlıdır.

Hangi programlama dilleri kullanılabilir?

MCP için farklı dillerde resmi veya topluluk tarafından geliştirilen SDK'lar bulunur. TypeScript ve Python yaygın seçeneklerdir; ancak dil bağlı sisteme, kurulum ortamına ve ekibinizin bakım ihtiyaçlarına uygun olmalıdır.

Her yapay zeka uygulamasıyla çalışır mı?

Yalnızca gerekli MCP özelliklerini ve bağlantı yöntemini destekleyen uygulamalar bağlanabilir. İstemci desteği farklılık gösterdiği için hedef hostların baştan belirlenmesi ve ayrı ayrı test edilmesi gerekir. Uzak sunucu genellikle Streamable HTTP, yerel masaüstü ve geliştirme araçları ise sıklıkla stdio kullanır.

MCP bir entegrasyonu otomatik olarak güvenli hale getirir mi?

Hayır. MCP iletişim ve yetkilendirme yöntemlerini tanımlar; ancak sunucunun doğru yetkilere, token doğrulamasına, girdi kontrollerine, onay kurallarına ve loglara ihtiyacı vardır. Bağlı sistemler de kendi erişim kurallarını uygulamalıdır.

Bir MCP sunucusunu geliştirmek ne kadar sürer?

Belgelenmiş bir API için küçük ve salt okunur bir sunucunun geliştirilmesi görece kısa sürebilir. Birden fazla sistem, kullanıcı yetkilendirmesi, yazma işlemleri ve farklı istemciler içeren bir sunucu daha uzun sürer. Güvenilir bir tahmin için işlemlerin, yetkilerin ve kurulum ortamının incelenmesi gerekir.

Mevcut MCP sunucumuzu iyileştirebilir misiniz?

Evet. Mevcut uygulama; istemci sorunları, belirsiz araç tasarımı, eksik kimlik doğrulama, gereğinden fazla veri erişimi, zayıf testler veya güncel MCP standardıyla uyumluluk açısından incelenebilir.

Protokol kaynakları

Uygulama, güncel MCP standardını ve projede kullanılacak istemcilerin dokümantasyonunu temel alır.