Ugrás a tartalomhoz
← Blog'a dön

Neden REST araçları değil de kendi MCP sunucularımızı yazdık?

60 uç noktalı bir REST API'yi yapay zekâ ajanı araçlarına dönüştürmek token'ları su gibi harcatır. MCP bir moda değil — somut bir maliyet çözümü.

Büyük dil modeli neyi bilmediğini bilmez. Bir MCP sunucusunun tek görevi bunu ona söylemektir.

2026'nın başında bir kararın eşiğindeydik: sohbet ajanımızın 5 NestJS monolitimiz (admin, finance, logistics, sales-ai, assistant) genelinde 919 backend işlemine erişmesi gerekiyordu. Saf yaklaşım klasik fonksiyon çağırmaydı: her controller metodu bir JSON şeması olarak, hepsi sistem isteminde. Hesabı yaptık: 919 işlem kabaca 340 bin token ediyor — her bir istekte. Bu, yalnızca bağlam için çağrı başına 0,85 $ demek. Ayda 50 bin konuşmada, model daha hiçbir şey düşünmeden ayda 42 bin $. Olmaz.

Keşif protokolü olarak MCP

MCP (Model Context Protocol) bunu iki aşamada çözer: model önce sunucuya hangi araç grupları olduğunu sorar (12 grup, ~300 token), ilgili olanı seçer ("bu istek için `finance.invoices.*` grubuna ihtiyacım var") ve ancak ondan sonra ayrıntılı şemayı çeker. Gerçek bir konuşmada bağlam penceresi 340 bin değil, 4–8 bin token taşır. Maliyet çağrı başına ~0,018 $ — 47 kat daha ucuz. Kendi MCP sunucularımızı bu yüzden yazdık: her monolit için bir tane; servis katmanı araçları doğrudan NestJS provider'ları olarak sunuyor.

Kendi MCP'mizin bize sağladığı, REST araçlarının sağlamadığı şeyler

  • Kiracı bazında kapsam: `tenantId` değerini araç parametresi olarak değil, taşıma katmanında bağlıyoruz — büyük dil modeli bunu değiştiremez
  • Araç katmanının önünde Zod ile sıkı girdi doğrulama: bozuk yükler asla servise ulaşmaz
  • Yerleşik denetim izi: her araç çağrısı Postgres'e otomatik olarak bir `mcp_tool_invocation` olayı yazar
  • Seviye filtreleme: `landing_tier_config` JSONB alanına göre kiracı yalnızca ödediği araçları görür
  • İsteğe bağlı şema keşfi: bağlama yalnızca seçilen grubun şemaları girer
  • Redis üzerinde kendi hız sınırımız: çağrı-araç kota eşleştirmesi kontrolden çıkan ajan döngülerini önler

Canlı ortamda 8 haftanın rakamları

Backend MCP kataloğu 478 işlemle kapandı; sales-ai 47, consulting 193, finance 144, logistics 77, assistant 27 işlemle. Toplamda ~75 PR ile teslim edilen 966 MCP aracı. Mayıs ayındaki gerçek model faturası 4.180 $ oldu — saf versiyon 42 bin $'a ulaşacaktı. Araç çağrılarının 90. yüzdelik dilimi 84 ms'de (Postgres + Redis önbelleği + Pino günlüğü). Model zamanın %1,8'inde yanlış aracı seçti — bunu "bunu mu demek istediniz" listesi döndüren bir `tool_selection_fallback` komutuyla yönetiyoruz.

MCP yeni olduğu için önemli değil. REST araçları 47 kat daha pahalı olduğu — ve denetim izi bırakmadığı için önemli.
Norbert Kubinyi

Bir konuyu ele almamızı ister misiniz?

Bize yazın — bu konuda gerçek deneyimimiz varsa yayımlarız.