MCP Sunucusunu Test Etmek: Vitest ve In-Memory Transport

MCP sunucusu test etmek üç katmanı kapsar: araçlarının arkasındaki saf fonksiyonlar, MCP sözleşmesi (araç listesi, şemalar, sonuçlar ve hatalar) ve istemcilerin kullandığı transport. Hepsini Vitest ve resmi TypeScript SDK ile yapabilirsin, yapay zeka istemcisi başlatmadan, ve tüm test paketi yaklaşık 300 ms'de çalışır.

Fabwaseem'in yazısında gösterilen yaklaşım basit ama etkili: her araç önce saf bir fonksiyon, sonra MCP aracı olur. Bu ayrım test etmeyi kolaylaştırır.

Vitest ile unit test yazarken, araçların mantığını bağımsız test et. Sonra in-memory transport kullanarak MCP sözleşmesini doğrula, araç listesi, giriş şemaları, çıktı formatları ve hata yönetimi. Üçüncü katman olarak, gerçek HTTP transport ile end-to-end kontrol yap. MCP Inspector CLI komutları da manuel doğrulama için kullanışlı.

Örnek bir sunucu yazarken, her fonksiyonu izole et ve test et. Sonra aynı fonksiyonu MCP tool tanımına sarıp, transport üzerinden çalıştır. Bu şekilde lojik hataları erken yakala, MCP kontratının bozuk olmadığını doğrula.

@modelcontextprotocol/sdk 1.32.2, Vitest 5.0.5 ve Node 22.20 ile test edilen bu yöntem, sadece birim testler yazıp çalıştırmaktan daha güvenilir. Tüm test paketi hızlı çalışır, CI/CD'ye entegre etmesi kolaydır.

konu hakkında tepkinizi verebilirsiniz