پاسخ کوتاه: هر کلید MCP باید سه سقف داشته باشد: سقف توکن روزانه (مثلاً ۱۰۰هزار توکن)، سقف تعداد فراخوانی در ساعت و سقف مانده کیفپول. بدون این سه، یک کلاینت گمشده میتواند کل اعتبار AI شرکت را در یک حلقهی اشتباه بسوزاند. جزئیات پیادهسازی سقفها در همین مقاله.
بودجه توکن چطور محاسبه میشود؟
| مصرف | تخمین توکن | کنترل |
|---|---|---|
| خواندن گزارش فروش ماه | ۲-۵ هزار | سقف روزانه per-key |
| جستجوی مشتریان | ۵۰۰-۱,۵۰۰ | سقف ساعت |
| ثبت سفارش | ۱-۲ هزار | تایید دو مرحلهای |
کلید با بودجه بسازید: سرور MCP ابرک و کیفپول ریالی AI.
Odoo'da bir sale.order kaydı yaklaşık 80 alana sahiptir. Okuma aracı her kayıt için tüm bu alanları döndürürse, 20 öğelik bir liste için yanıt binlerce token olabilir — model bunun hakkında tek bir kelime yazmadan önce. Bu tokenlar hem para (çoğu MCP istemcisi ücretli dil modeli API'si kullanır) hem de alan demektir: bağlam penceresi sınırlıdır ve alakasız alanlarla dolmak, konuşmanın kendisi için daha az yer anlamına gelir.
«Token bütçesinden haberdar» ne anlama gelir?
Yani araç yanıt vermeden önce «Gerçekten tüm bu alanlara ihtiyaç var mı?» diye sorar — istemcinin alanları kendisinin filtrelemesini beklemez. İstemci belirli bir alan belirtmemişse araç, «her şey» varsayılan davranışı yerine küçük ve anlamlı bir alan kümesi (ad, durum, tutar, tarih) döndürür ve ikinci bir istekle erişilebilecek başka alanların da bulunduğunu belirtir. Bu, fields_get() tam çıktısını kolaylığı nedeniyle geçiren çoğu basit XML-RPC wrapper'ının varsayılan davranışıyla tam tersidir.
MCP spesifikasyonunun kendisi ne söylüyor?
Protokol spesifikasyonu, tools/list'i açıkça sayfalanabilir olarak tasarlamıştır — yani araç listesinin kendisi bile tek seferde eksiksiz aktarılmak üzere tasarlanmamıştır; bunun yerine cursor ile daha küçük parçalara bölünür. Aynı felsefe her aracın çıktısında tekrarlanmalıdır: küçük başla, gerektiğinde daha fazla ver.
Abrak MCP sunucusu bunu nasıl uyguladı?
suggest_fields— Okumadan önce soruyla ilgili alanları önerir; modelread_recordsde yalnızca bunları isteyebilir.list_fields— Gerçekten keşif gerektiğinde, bir modelin tüm alanlarının tür ve etiketleriyle tam listesi — her okumanın varsayılanı değil.- Okuma araçları (
read_records,search_read)fieldsparametresini kabul eder ve bu parametre olmadan tamfields_get()yerine küçük bir varsayılan kümeye döner. - Tablo/kart çıktısı (bir JSON duvarı yerine) başlı başına daha derlidir — bir sütunda sağa hizalı Farsça rakam, birimi her satırda tekrarlanmadan yalnızca bir kez belirtilen tutar.
Bunun hazır komutlarla ne ilgisi var?
Panel hazır komutları («bugünkü satışlar» veya «vadesi geçmiş çekler» gibi) aynı ilkeyi daha üst düzeyde uygular: asistanın hangi alanların gerektiğini tahmin etmesine gerek kalmadan çıktı önceden doğru ve özetlenmiş alanlara kısıtlanmıştır. Komut mimarisinin ve Farsça tablo çıktısının ayrıntıları Bağlantı eğitimi yer almakta.
هزینهٔ سه الگوی رایج ابزار
تفاوت یک ابزار آگاه به بودجه و یک ابزار ساده، در یک اجرا دیده نمیشود؛ در هزار اجرا خودش را نشان میدهد.
| الگوی ابزار | چه برمیگرداند | اثر روی هزینه |
|---|---|---|
| برگرداندن کل رکورد | همهٔ فیلدها، حتی بیربطها | چند برابر شدن توکن ورودی |
| برگرداندن فهرست بدون سقف | هر تعداد ردیف که پیدا شود | غیرقابل پیشبینی؛ یک کوئری میتواند بودجهٔ روز را ببلعد |
| آگاه به بودجه | فیلدهای لازم، با سقف و خلاصه | قابل پیشبینی و قابل بودجهبندی |
چهار قاعدهٔ طراحی ابزار کمهزینه
- فیلد صریح، نه ستاره: ابزار باید فیلدهایی که برمیگرداند را از قبل تعریف کند، نه کل رکورد را.
- سقف پیشفرض روی تعداد ردیف: با امکان صفحهبندی، نه با برگرداندن همهچیز.
- سنجش حجم پیش از پاسخ: اگر خروجی از سقف رد شد، بهجای بریدن کور، خلاصه بده و راه محدودکردن را پیشنهاد کن.
- خطای معنادار: «نتیجه بیش از حد بزرگ است، بازهٔ تاریخ را محدود کنید» بسیار ارزانتر از برگرداندن ده هزار ردیف است.
چطور بودجه را واقعی پایش کنید
سه عدد هفتگی: میانگین توکن ورودی بهازای هر فراخوانی ابزار، پرهزینهترین ابزار، و نسبت فراخوانیهایی که به سقف خوردهاند. عدد سوم معمولاً مستقیماً به یک ابزار بدطراحی اشاره میکند. اصلاح همان یک ابزار اغلب بیشتر از تغییر مدل صرفهجویی میکند.
ارتباط این موضوع با معماری چندمستأجره در چرا اکثر سرورهای MCP روی ERP چندمستأجره خراب میشوند، کاربردهای واقعی در ۷ کاربرد سرور MCP روی اودو و سرویس در MCP برای اودوو.