Sıfır Bağımlılıkla Saf Python'da MCP Sunucusu Kurmak
Anthropic'in Model Context Protocol'ünü hiçbir SDK ya da pip paketi kullanmadan, sadece Python standart kütüphanesiyle sıfırdan uygulamak isteyen geliştiriciler için pratik bir rehber.
Bu içerik, Anthropic'in AI asistanlarını dış araç ve veri kaynaklarına bağlayan açık standardı olan Model Context Protocol'ü (MCP) resmi SDK olmadan, yalnızca Python'un standart kütüphanesini kullanarak baştan uygulamayı anlatıyor. Resmi mcp paketi pydantic, httpx, anyio gibi bağımlılıklar üzerinden toplam 47 pakete kadar çıkabiliyor; bu durum sandbox ortamlar, air-gapped sistemler, sıkı güvenlik denetimleri ve tek dosyalık dağıtım gerektiren senaryolarda pratik olmayabiliyor. Yazı, JSON-RPC 2.0 tabanlı stdio taşımasını, NDJSON mesajlaşmasını, initialize el sıkışmasını ve tools/resources/prompts kayıt mekanizmalarını sıfırdan koddan göstererek anlatıyor.
Mühendisler için önemli olan nokta, protokolün SDK'yı bir kara kutu olarak görmeden nasıl çalıştığını anlamak ve tedarik zinciri saldırı yüzeyini azaltmak. Yazıda mcp SDK'sında geçmişte görülen path traversal ve SSRF açıkları örnek gösterilerek, bağımlılık sayısının azaltılmasının güvenlik denetimi açısından somut faydası vurgulanıyor. Ayrıca stdout'a yanlışlıkla yazılan log satırlarının protokolü nasıl bozabileceği gibi pratik tuzaklar da ele alınıyor.
Sonuç olarak bu rehber, MCP'yi üretimde kullanan ya da protokolü derinlemesine anlamak isteyen Python geliştiricileri için hem eğitici hem de kısıtlı ortamlarda dağıtım yapmak isteyenler için doğrudan uygulanabilir bir referans sunuyor.