8 puan yazan GN⁺ 2025-03-27 | 4 yorum | WhatsApp'ta paylaş
  • MCP(Model Context Protocol), LLM'lere araçlar ve bağlam sağlamak için standartlaştırılmış bir yöntemdir
  • USB-C portu gibi, çeşitli veri kaynaklarını veya araçları yapay zeka modellerine bağlayan standart bir arayüz görevi görür
  • OpenAI Agents SDK, MCP'yi destekleyerek çeşitli MCP sunucularıyla entegre olabilir

MCP sunucuları

  • Mevcut MCP spesifikasyonu, kullanılan aktarım mekanizmasına göre iki tür sunucu tanımlar:
    1. stdio sunucuları uygulamanın alt süreci olarak çalışır ve "yerel" olarak çalışan sunucular şeklinde düşünülebilir.
    2. HTTP over SSE sunucuları uzaktan çalışır ve URL üzerinden bağlanılır.
  • Bu sunuculara MCPServerStdio ve MCPServerSse sınıfları kullanılarak bağlanılabilir.
  • Örneğin, resmi MCP dosya sistemi sunucusunun kullanım şekli şöyledir:
    async with MCPServerStdio(  
        params={  
            "command": "npx",  
            "args": ["-y", "@modelcontextprotocol/server-filesystem", samples_dir],  
        }  
    ) as server:  
        tools = await server.list_tools()  
    

Önbellekleme

  • Ajan her çalıştığında MCP sunucusunun list_tools() çağrısını yapmak gecikmeye yol açabilir. Özellikle sunucu uzaktaki bir sunucuysa bu etki daha da belirgin olur.
  • Araç listesini otomatik olarak önbelleğe almak için MCPServerStdio ve MCPServerSse'ye cache_tools_list=True geçirilebilir. Bu yalnızca araç listesinin değişmeyeceğinden emin olunduğunda yapılmalıdır.
  • Önbelleği geçersiz kılmak için sunucuda invalidate_tools_cache() çağrılabilir.

4 yorum

 
GN⁺ 2025-03-27
Hacker News görüşleri
  • MCP bugün Streamable HTTP ekledi. Bu, uzak bir HTTP sunucusuna her zaman bağlı kalma gereğini ortadan kaldırdığı için büyük bir ilerleme

    • Ancak spesifikasyona bakınca, LSP tarzı paradigmayı uzak HTTP sunucularına taşımak çok fazla karmaşıklık ekliyor
    • Geleneksel olarak yöntem, { "location": "New York" } verisini HTTP POST ile /get_weather adresine göndermekti
    • Karmaşıklığı azaltıp geleneksel HTTP sunucularına geri dönme önerisi yapıldı. Oturumlar Authorization başlığıyla müzakere ediliyor ve geleneksel endpoint'ler kullanılıyor
    • Sunucu kurmak çok daha kolay olur ve web framework'lerinin spesifikasyona uymak için güncellenmesi gerekmez
  • MCP'yi AI uygulamalarının USB-C portu olarak düşünmeye dair bir benzetme var

    • Bir yazılım mühendisi olarak bu benzetme yardımcı olmuyor
  • OpenAI'nin bunu resmen destekleyip desteklemeyeceğini merak ediyordum, ama artık cevabı aldım

    • MCP, LLM'leri harici araçlara bağlamak için sektör standardı haline geldi
  • OpenAPI desteği olmasını umuyordum. Birkaç MCP sunucusu yaptım ama daha az esnek ve daha kötü belgelenmiş bir API gibi hissettiriyor

    • MCP'nin OpenAPI'den daha iyi olduğu noktayı bulmak zor. Kod biraz azalıyor ama seçenekler çok daha fazla kısıtlanıyor
    • Zamanla Swagger yerleşik hale gelecektir
  • MCP'nin değerinin ne olduğunu anlamak zor. Modern AI teknolojisindeki karmaşanın içinde bir dikkat dağıtıcılık daha gibi geliyor

    • MCP, uygulamaların LLM'lere bağlam sağlama şeklini standartlaştıran açık bir protokol
    • Neyin standartlaştırılacağı belirsiz. Biz, keyfi biçimde token'lara ayrılmış dizeler üzerinde çalışan metinden metne dönüştürücüler kullanıyoruz
    • Araç/fonksiyon çağırma gibi şeyler de basit metnin üzerine kurulmuş akıllı sezgisellerden ibaret
  • AI ajanlarının yerelde "araçları" kullanabildiği bir mimari kurdum. Her tür LLM ve LLM sunucusuyla çalışıyor

    • Middleware olarak çalışıyor ve LLM sunucusu ile sohbet istemcisi arasında bir akış olarak işliyor
    • Açık kaynak bir proje, ancak kodla ilgilenen kimse olmadığı için repo güncellenmiyor
  • MCP'nin gerçekte nasıl kullanıldığına dair yeterince video yok. Programcılar için somut kullanım örnekleri eksik

  • MCP'yi AI uygulamalarının USB-C portu olarak düşünmeye dair bir benzetme var

    • USB uygulamalarının çok sancılı olduğuna dair çok şey duyduğum için başka bir benzetme bulmak daha iyi olur
  • Bunun MCP'nin eski sürümü olan HTTP+SSE'yi hedeflediği anlaşılıyor; yeni Streaming HTTP sürümünü değil

    • OAuth 2.1 desteği, JSON-RPC batching gibi şeyler de var
  • MCP'yi basitçe denemek istiyorsanız <a href="https://skeet.build/mcp" rel="nofollow">skeet.build/mcp</a>'yi yaptım

    • Karmaşık MCP kurulumu, yetersiz destek ve kendi başına kurmanın zorluğu nedeniyle yaptım
    • Başlıca şu tür iş akışları için kullanılıyor
      • PR başlatıldığında özet yazma
      • Linear/Jira için özet Slack mesajı veya yorum
      • Sentry'den issue alıp düzeltme
      • Bir bug bulunduğunda Linear issue oluşturma
      • Linear issue alıp ilk geçişi yapma
      • Notion dokümanlarını ve PRD'leri alıp kod tabanına göre API referansı oluşturma
      • Hızlı model geliştirme için Postgres veya MySQL şeması
    • Kullanım kolaylığına, pratik geliştirici iş akışlarına ve yüksek kaliteli MCP sunucularına odaklanıyor
 
samchon 2025-03-27

Ben de OpenAPI function calling'in daha iyi olup olmadığını düşünüyorum. Bunu MCP protokolüyle yeniden yapmak da ayrıca bir iş çünkü.

 
mangoblue 2025-03-28

Bu push ile poll arasındaki fark değil mi? Her model ve hizmet için ayrı ayrı function calling yapmaktansa, MCP spesifikasyonunu host edip ajanların onu poll etmesi 3. taraflar için daha kullanışlı gibi görünüyor.