MCP সার্ভারগুলো Claude Code-এর জন্য একটি নতুন এবং অত্যন্ত জনপ্রিয় মাধ্যম (plumbing)। একটি GitHub সার্ভার যুক্ত করলেই আপনার এজেন্ট পুল রিকোয়েস্ট (pull requests) খুলতে পারবে। একটি filesystem সার্ভার যোগ করলে এটি আপনার রিপোজিটরি স্ট্রাকচার পড়তে পারবে। ডেমোগুলো দেখতে জাদুকরী মনে হয়। কিন্তু কেউ যা দেখায় না তা হলো এর আসল খরচ।

খরচটি টুলগুলো যে API কল করে তাতে নয়। খরচটি হলো টুলগুলোর মধ্যেই।

প্রতিবার যখন আপনি একটি MCP সার্ভার রেজিস্টার করেন, আপনি কেবল একটি সক্ষমতা যোগ করছেন না। আপনি আপনার context window-তে একটি টেক্সট ব্লক যোগ করছেন, এবং সেই ব্লকের জন্য প্রতিটি টার্নে (turn) বিল দিতে হচ্ছে। এজেন্ট টুলটি ব্যবহার করুক বা না করুক, আপনাকে এর অস্তিত্বের জন্য অর্থ দিতে হচ্ছে। সার্ভারটি কানেক্ট হওয়ার মুহূর্ত থেকেই মিটার চলতে শুরু করে।

যে টুলগুলো আপনি কখনোই ব্যবহার করেন না, সেগুলোর জন্য ভাড়া দেওয়া

এখানে এমন একটি কৌশল রয়েছে যা সাধারণত এড়িয়ে যাওয়া হয়। একটি MCP সার্ভারের প্রতিটি টুল ডেফিনিশন (tool definition) একটি নাম, একটি বর্ণনা এবং একটি JSON schema সহ আসে, যা মডেলকে জানায় যে টুলটির জন্য কী কী আর্গুমেন্ট প্রয়োজন। এই পুরো পেলোডটি (payload) প্রতিটি টার্নের শুরুতে সিস্টেম কনটেক্সটে (system context) ইনজেক্ট করা হয়। মডেলটিকে পুরো ক্যাটালগটি দেখতে হয় যাতে সে সিদ্ধান্ত নিতে পারে কোনো টুল কল করতে হবে কি না, কিন্তু সেই দৃশ্যমানতার জন্য বিলটি আপনাকেই দিতে হচ্ছে।

প্রতি টুলের ওভারহেড (overhead) মোটেও সামান্য নয়। বাস্তবে, একটি মাত্র টুল ডেফিনিশন ৮০ থেকে ১৫০টি টোকেন খরচ করে। এর মানে হলো, মাত্র দশটি টুলের একটি সাধারণ সার্ভার আপনি একটি বাক্যও টাইপ করার আগেই নিঃশব্দে ৮০০ থেকে ১,৫০০ টোকেন খেয়ে ফেলে। আপনি কম্পিউটিংয়ের জন্য টাকা দিচ্ছেন না। আপনি কেবল অপশনটি পাওয়ার সুবিধার জন্য টাকা দিচ্ছেন।

এই বিষয়টি কীভাবে বাড়তে থাকে তা দেখার জন্য আমি একটি স্ট্যান্ডার্ড ২০-টার্নের সেশনের হিসাব করেছি।

কোনো MCP সার্ভার লোড না থাকলে ওভারহেড শূন্য। কনটেক্সট উইন্ডোতে কেবল আপনার কথোপকথন থাকে।

তিনটি নির্দিষ্ট কাজের জন্য তৈরি একটি কাস্টম মিনিমাল সার্ভার লোড করলে, প্রতি টার্নে ১৮০টি টোকেন ট্যাক্স হিসেবে দিতে হয়। ২০টি টার্ন জুড়ে এটি ৩,৬০০ টোকেন নষ্ট করে। এটি কোনো বিপর্যয় নয়, তবে এটি প্রকৃত অর্থ।

জনপ্রিয় filesystem সার্ভারটি, যা সাতটি টুল প্রদান করে, প্রতি টার্নে এই খরচ বাড়িয়ে ৬৪০ টোকেনে নিয়ে যায়। একই সেশনে, শুধুমাত্র কানেকশন বজায় রাখতে আপনি ১২,৮০০ টোকেন খরচ করে ফেলেছেন। আপনি এখনও একটি ফাইলও পড়েননি। আপনি এখনও কোনো ডিরেক্টরি লিস্ট করেননি। আপনি কেবল মেনুতে সার্ভারটিকে চালু রেখেছেন।

এরপর আছে GitHub সার্ভার। ২৬টি টুল রেজিস্টার করা থাকায় এটি প্রতি টার্নে ৩,১০০ টোকেন ঢেলে দেয়। ২০টি মেসেজ আদান-প্রদানের পর, মোট ওভারহেড দাঁড়ায় ৬২,০০০ টোকেন। Sonnet 4-এর প্রাইসিং অনুযায়ী, এটি হলো ০.১৯ ডলারের নিছক কনটেক্সট ট্যাক্স। এজেন্ট কোনো ইস্যু (issue) তৈরি করার কথা ভাবার আগেই আপনি ওভারহেডের জন্য ১৯ সেন্ট দিয়ে ফেলেছেন।

আলাদাভাবে দেখলে এই সংখ্যাটি ছোট মনে হতে পারে। কিন্তু আসলে তা নয়।

ওভারনাইট এজেন্ট সমস্যা (The Overnight Agent Problem)

আসল সমস্যাটি দেখা দেয় দীর্ঘস্থায়ী স্বায়ত্তশাসিত লুপের (autonomous loops) ক্ষেত্রে। আপনি যদি Claude Code-কে এমন একটি এজেন্ট হিসেবে ব্যবহার করেন যা নিজে নিজেই কাজ করতে থাকে, তবে প্রতি টার্নের এই ট্যাক্স মারাত্মকভাবে বৃদ্ধি পায়। GitHub সার্ভার লোড করা অবস্থায় একটি এজেন্ট যদি সারারাত ধরে ২,০০০ টার্ন চালায়, তবে তার ওভারহেড মাত্র ৬২,০০০ টোকেন নয়; বরং তা হয় ৬.২ মিলিয়ন টোকেন।

এর মানে হলো কোনো উৎপাদনশীল কাজ ছাড়াই ১৮.৬০ ডলার খরচ হয়ে গেল। এজেন্ট হয়তো একটি মাত্র GitHub টুল স্পর্শ না করেই সারা রাত ঘুমিয়ে কাটিয়েছে। সে হয়তো সম্পূর্ণভাবে লোকাল ফাইলের ভেতরেই কাজ করেছে। তবুও, সেই ২,০০০টি টার্নের প্রতিটিতে আপনাকে ২৬টি GitHub টুল ডেফিনিশনের জন্য চার্জ দিতে হচ্ছে কারণ সেগুলো সেশনে রেজিস্টার করা ছিল।

বিষয়টি গভীরভাবে বোঝার জন্য মূল পয়েন্টটি হলো: আপনি রেজিস্টার করা টুলের জন্য টাকা দিচ্ছেন, কল করা টুলের জন্য নয়। মডেলটি পরীক্ষা করে দেখে না যে সে আসলে কোন টুলগুলো ব্যবহার করছে এবং তারপর আপনার বিল কমিয়ে দেয়। যদি সার্ভারটি কানেক্টেড থাকে, তবে প্রতি সাইকেলে এর পুরো ম্যানিফেস্ট (manifest) পুনরায় কনটেক্সটে যুক্ত হয়। এটি কাজের জন্য নয়, বরং সম্ভাবনার (potential) ওপর একটি প্রতি-টার্ন ট্যাক্স।

যারা ইটারেটিভ কোডিং এজেন্ট, টেস্ট হারনেস (test harnesses) বা ব্যাচ রিভিউ জব চালান, তাদের জন্য এটি একটি নীরব বাজেট কিলার। ২০ টার্নের একটি মানুষের কথোপকথন হালকা। কিন্তু ২০০ বা ২,০০০ টার্নের একটি এজেন্টিক লুপের ক্ষেত্রে গণিতটি শাস্তিমূলক হয়ে দাঁড়ায়।

কীভাবে খরচ নিয়ন্ত্রণে রাখা যায়

MCP সত্যিই দরকারী। আপনার এটি ব্যবহার করা উচিত। তবে এটিকে একটি ইউটিলিটির মতো ব্যবহার করুন যা আপনি নির্দিষ্ট কাজের জন্য চালু করেন, প্রতিটি সেশনে স্থায়ীভাবে জুড়ে দেওয়ার মতো কিছু নয়।

কনফিগগুলোকে প্রজেক্ট এবং কাজের মধ্যে সীমাবদ্ধ রাখুন

ডিফল্টভাবে আপনার গ্লোবাল Claude Code কনফিগারেশনে সব সার্ভার লোড করবেন না। প্রজেক্ট-ভিত্তিক MCP কনফিগ তৈরি করুন যা আপনার বর্তমান কাজের সাথে সামঞ্জস্যপূর্ণ। আপনি যদি একটি লোকাল মডিউল রিফ্যাক্টর (refactoring) করেন, তবে সম্ভবত আপনার কেবল filesystem সার্ভারটি প্রয়োজন হবে, অন্য কিছু নয়। আপনি যদি ইস্যু ট্রায়াজ (triaging issues) করেন, তবে সেই নির্দিষ্ট কাজের জন্য GitHub সার্ভারটি লোড করুন এবং লোকাল ডেভেলপমেন্টে ফিরে এলে এটি ডিসকানেক্ট করে দিন।

এটিকে আপনার ফোনের অ্যাপ খোলা রাখার মতো ভাবুন। এক বা দুটি অ্যাপ খোলা থাকা ঠিক আছে। কিন্তু বিশটি অ্যাপ ব্যাকগ্রাউন্ডে চলতে থাকলে কোনো কারণ ছাড়াই ব্যাটারি শেষ হয়ে যায়।

কম টুলের সার্ভার পছন্দ করুন

Not all MCP servers are designed with the same discipline. Some expose a lean interface of two or three focused actions. Others ship a sprawling catalog of 25 or 30 tools, many of which you will never invoke. A server with three tools might cost you 180 tokens per turn. One with 26 tools can cost 3,100. That is a 17x jump in overhead for a capability gap that may not matter to you.

Before installing a server, look at its tool manifest. If it registers a dozen overlapping operations and you only need one, consider whether you can configure it down, fork it, or write a slimmer wrapper. Every tool definition you can strip out is a direct and permanent token saving on every future turn.

Trim Tool Descriptions

The 80 to 150 token range per tool is not a law of nature. It is a function of how verbose the descriptions and schemas are. A bloated 400-token description eats five times the context of an 80-token description, and that fivefold penalty applies on every single turn.

Audit the servers you rely on. If a tool description reads like marketing copy, rewrite it. Cut adjectives. Cut examples that do not clarify the schema. Tighten the JSON. The model needs to understand what the tool does, but it does not need a paragraph of preamble. Treat tool definitions like code: the shorter and clearer, the better.

The Real Takeaway

MCP extends what Claude Code can reach. It does not extend your context window for free. The overhead is deterministic, recurring, and entirely disconnected from whether the tools see action.

Load only the servers your current task demands. Disconnect them when you are done. Audit tool counts and description lengths like you would audit any other dependency. The rule is simple: if the tool is not adding value in this specific session, it should not be adding tokens to your bill.

Source measurements and methodology: I added MCP servers to Claude Code — here’s what they cost in tokens

Join the GyaanSetu AI learning community for more engineering breakdowns: t.me/GyaanSetuAi