سرورهای MCP زیرساخت جدید و پرطرفداری برای Claude Code هستند. یک سرور GitHub اضافه کنید و عامل (agent) شما می‌تواند pull requestها را باز کند. یک سرور filesystem اضافه کنید و ساختار مخزن (repo) شما را می‌خواند. دموها جادویی به نظر می‌رسند، اما چیزی که کسی در دموها نشان نمی‌دهد، صورت‌حساب نهایی است.

هزینه در فراخوانی‌های API که ابزارها انجام می‌دهند نیست، بلکه در خودِ ابزارهاست.

هر بار که یک سرور MCP را ثبت می‌کنید، فقط یک قابلیت اضافه نمی‌کنید؛ بلکه بلوکی از متن را به پنجره بافت (context window) خود اضافه می‌کنید و هزینه آن بلوک در هر نوبت (turn) محاسبه می‌شود. چه عامل از ابزار استفاده کند و چه نکند، شما هزینه وجود آن را پرداخت می‌کنید. به محض اتصال سرور، شمارشگر شروع به کار می‌کند.

پرداخت اجاره برای ابزارهایی که هرگز از آن‌ها استفاده نمی‌کنید

در اینجا مکانیزمی وجود دارد که معمولاً نادیده گرفته می‌شود. هر تعریف ابزار در یک سرور MCP شامل یک نام، یک توضیحات و یک JSON schema است که به مدل می‌گوید ابزار چه آرگومان‌هایی را انتظار دارد. تمام این محتوا (payload) در شروع هر نوبت به بافت سیستم (system context) تزریق می‌شود. مدل باید کل کاتالوگ را ببیند تا بتواند تصمیم بگیرد که آیا ابزاری را فراخوانی کند یا خیر، اما این شما هستید که هزینه این قابلیت مشاهده را پرداخت می‌کنید.

سربار (overhead) هر ابزار ناچیز نیست. در عمل، تعریف یک ابزار واحد بین ۸۰ تا ۱۵۰ توکن مصرف می‌کند. این یعنی یک سرور معمولی که ده ابزار را ارائه می‌دهد، پیش از آنکه شما حتی یک جمله تایپ کنید، بی‌سروصدا ۸۰۰ تا ۱۵۰۰ توکن را می‌بلعد. شما برای محاسبات (compute) هزینه نمی‌دهید؛ شما برای امتیاز داشتنِ «گزینه انتخاب» هزینه پرداخت می‌کنید.

من اعداد را در طول یک نشست استاندارد ۲۰ نوبتی بررسی کردم تا ببینم این موضوع دقیقاً چگونه انباشته می‌شود.

بدون بارگذاری هیچ سرور MCP، سربار صفر است. پنجره بافت فقط شامل گفتگوی شماست.

یک سرور حداقلی سفارشی با سه ابزار محدود بارگذاری کنید؛ در این صورت مالیات هر نوبت ۱۸۰ توکن است. در طول ۲۰ نوبت، ۳۶۰۰ توکن از بین می‌رود. فاجعه نیست، اما پول واقعی است.

سرور محبوب filesystem که هفت ابزار را ارائه می‌دهد، این رقم را به ۶۴۰ توکن در هر نوبت می‌رساند. در همان نشست، شما ۱۲۸۰۰ توکن را فقط برای حفظ اتصال سوزانده‌اید. هنوز حتی یک فایل نخوانده‌اید و لیستی از دایرکتوری‌ها نگرفته‌اید؛ شما صرفاً سرور را در منو نگه داشته‌اید.

و بعد سرور GitHub قرار دارد. با ثبت ۲۶ ابزار، این سرور ۳۱۰۰ توکن را در هر نوبت تخلیه می‌کند. پس از ۲۰ پیام رفت و برگشتی، مجموع سربار به ۶۲۰۰۰ توکن می‌رسد. با قیمت‌گذاری Sonnet 4، این یعنی ۰.۱۹ دلار صرفاً بابت مالیات بافت. شما ۱۹ سنت هزینه سربار پرداخت کردید، قبل از اینکه عامل حتی به فکر ایجاد یک issue باشد.

این رقم در حالت مجزا کوچک به نظر می‌رسد، اما این‌طور نیست.

مشکل عامل‌های شبانه‌روزی

جایی که این موضوع واقعاً دردناک می‌شود، در حلقه‌های خودمختار (autonomous loops) طولانی‌مدت است. اگر از Claude Code به عنوان عاملی استفاده می‌کنید که به صورت خودکار تکرار می‌شود، آن مالیاتِ هر نوبت به شکلی وحشتناک ضرب می‌شود. عاملی که یک شب کامل با سرور GitHub فعال کار کند و ۲۰۰۰ نوبت طی کند، ۶۲۰۰۰ توکن سربار پرداخت نمی‌کند؛ بلکه ۶.۲ میلیون توکن پرداخت می‌کند.

این یعنی ۱۸.۶۰ دلار هزینه شده برای چیزی که دقیقاً هیچ کار مولدی انجام نداده است. ممکن است عامل در تمام طول شب بدون لمس حتی یک ابزار GitHub در خواب بوده باشد. ممکن است تمام کارش را فقط داخل فایل‌های محلی انجام داده باشد. با این حال، شما همچنان برای تمام ۲۶ تعریف ابزار GitHub در هر یک از آن ۲۰۰۰ نوبت هزینه می‌دهید، چون آن‌ها در نشست ثبت شده بودند.

نکته حیاتی که باید درک کنید این است که شما برای ابزارهای «ثبت‌شده» هزینه می‌دهید، نه ابزارهای «فراخوانی‌شده». مدل بررسی نمی‌کند که از کدام ابزارها واقعاً استفاده کرده و سپس صورت‌حساب شما را تخفیف دهد. اگر سرور متصل باشد، تمام فهرست (manifest) آن در هر چرخه دوباره به بافت وارد می‌شود. این یک مالیاتِ هر نوبتی بر روی «پتانسیل» است، نه بر روی «عمل».

برای توسعه‌دهندگانی که عامل‌های کدنویسی تکرار شونده، ابزارهای تست (test harnesses) یا کارهای بازبینی دسته‌ای (batch review) را اجرا می‌کنند، این یک قاتل بی‌صدای بودجه است. یک گفتگوی انسانی ۲۰ نوبتی سبک است، اما یک حلقه عامل‌محور (agentic loop) ۲۰۰ یا ۲۰۰۰ نوبتی جایی است که محاسبات، تنبیهی می‌شود.

چگونه هزینه‌ها را تحت کنترل نگه دارید

MCP واقعاً مفید است و شما باید از آن استفاده کنید. اما با آن مانند ابزاری برخورد کنید که فقط برای انجام یک کار خاص روشن می‌کنید، نه یک وسیله دائمی که به هر نشست می‌بندید.

تنظیمات را به پروژه و وظیفه محدود کنید

به طور پیش‌فرض تمام سرورها را در تنظیمات سراسری (global) Claude Code خود بارگذاری نکنید. پیکربندی‌های MCP را در سطح پروژه بسازید که با کاری که واقعاً انجام می‌دهید مطابقت داشته باشد. اگر در حال بازنویسی (refactoring) یک ماژول محلی هستید، احتمالاً فقط به سرور filesystem نیاز دارید و نه چیز دیگر. اگر در حال بررسی issueها هستید، سرور GitHub را فقط برای آن وظیفه خاص بارگذاری کنید و وقتی به توسعه محلی بازگشتید، آن را قطع کنید.

این را مثل باز گذاشتن اپلیکیشن‌ها در گوشی خود تصور کنید. یک یا دو مورد مشکلی ندارد، اما اجرای بیست برنامه در پس‌زمینه، باتری را بی‌دلیل تخلیه می‌کند.

سرورهایی با ابزارهای کمتر را ترجیح دهید

همه سرورهای MCP با انضباط یکسانی طراحی نشده‌اند. برخی رابط کاربری ساده‌ای شامل دو یا سه اقدام متمرکز ارائه می‌دهند. برخی دیگر کاتالوگ گسترده‌ای از ۲۵ یا ۳۰ ابزار را عرضه می‌کنند که بسیاری از آن‌ها را هرگز فراخوانی نخواهید کرد. یک سرور با سه ابزار ممکن است در هر نوبت ۱۸۰ توکن برای شما هزینه داشته باشد. سروری با ۲۶ ابزار می‌تواند ۳,۱۰۰ توکن هزینه داشته باشد. این یعنی ۱۷ برابر افزایش هزینه سربار برای شکافی در قابلیت‌ها که شاید برای شما اهمیتی نداشته باشد.

قبل از نصب یک سرور، به فهرست ابزارهای (tool manifest) آن نگاه کنید. اگر ده‌ها عملیات هم‌پوشان را ثبت کرده است و شما فقط به یکی نیاز دارید، بررسی کنید که آیا می‌توانید آن را محدودتر پیکربندی کنید، آن را فورک (fork) کنید، یا یک پوشش (wrapper) سبک‌تر برای آن بنویسید. هر تعریف ابزاری که بتوانید حذف کنید، یک صرفه‌جویی مستقیم و دائمی در توکن‌ها در هر نوبت آینده خواهد بود.

کوتاه کردن توضیحات ابزارها

محدوده ۸۰ تا ۱۵۰ توکن برای هر ابزار، یک قانون طبیعت نیست. این موضوع تابعی از میزان پرگو بودن (verbose) توضیحات و طرحواره‌ها (schemas) است. یک توضیح سنگین ۴۰۰ توکنی، پنج برابر بیشتر از یک توضیح ۸۰ توکنی از فضای بافت (context) مصرف می‌کند و این جریمه پنج برابری در هر نوبت اعمال می‌شود.

سرورهایی را که به آن‌ها متکی هستید، بازرسی (audit) کنید. اگر توضیحات یک ابزار شبیه متن‌های تبلیغاتی است، آن را بازنویسی کنید. صفت‌ها را حذف کنید. مثال‌هایی را که طرحواره را شفاف نمی‌کنند، حذف کنید. ساختار JSON را فشرده‌تر کنید. مدل باید بفهمد ابزار چه کاری انجام می‌دهد، اما نیازی به یک پاراگراف مقدمه ندارد. با تعاریف ابزار مانند کد رفتار کنید: هرچه کوتاه‌تر و شفاف‌تر باشد، بهتر است.

نکته اصلی

MCP آنچه را که Claude Code می‌تواند به آن دسترسی داشته باشد، گسترش می‌دهد. اما پنجره بافت (context window) شما را به رایگان گسترش نمی‌دهد. این سربار، تعیین‌پذیر (deterministic)، تکرار شونده و کاملاً مستقل از اینکه ابزارها مورد استفاده قرار می‌گیرند یا خیر، است.

فقط سرورهایی را بارگذاری کنید که وظیفه فعلی شما نیاز دارد. پس از اتمام کار، آن‌ها را قطع کنید. تعداد ابزارها و طول توضیحات را مانند هر وابستگی (dependency) دیگری بازرسی کنید. قانون ساده است: اگر ابزار در این نشست (session) خاص ارزش افزوده‌ای ندارد، نباید هزینه‌ای (توکنی) به صورت‌حساب شما اضافه کند.

اندازه‌گیری‌ها و روش‌شناسی منبع: I added MCP servers to Claude Code — here’s what they cost in tokens

برای تحلیل‌های مهندسی بیشتر، به انجمن یادگیری GyaanSetu AI بپیوندید: t.me/GyaanSetuAi