MCP tools add, not cut, your Claude Code input-token bill; every prompt you send through a cleaning tool ends up costing more tokens, and therefore more money. Developers chasing lower API costs often reach for MCP-based cleaners, assuming they’ll shrink the prompt before the model sees it.
لماذا يهم عداد الرموز (token meter)
يقوم Claude Code بحساب الرموز في اللحظة التي يصل فيها نصك إلى نافذة سياق النموذج (context window). يبدأ النموذج في قراءة المطالبة الخام، ثم يقرر ما إذا كان سيستدعي أداة MCP. تعمل أداة التنظيف بعد أن يصبح النص الأصلي بالفعل جزءًا من المحادثة، لذا يكون العداد قد سجل بالفعل تلك الرموز.
يبدو التدفق النموذجي كما يلي:
- يتم إرسال مطالبتك الخام – يبدأ عداد الرموز في العمل.
- يقرأ النموذج المطالبة ويقرر استدعاء أداة التنظيف.
- تعيد الأداة نسخة مختصرة.
- يحتوي السياق الآن على ثلاثة أشياء: المطالبة الأصلية، والبيانات الوصفية لاستدعاء الأداة (tool-call metadata)، والمطالبة المنظفة.
يتم محاسبتك على المدخلات الثلاثة جميعها. النسخة "المنظفة" لا تحل محل الأصلية؛ بل توضع بجانبها فحسب.
متى يساعد التنظيف عبر MCP فعليًا
توفر أداة MCP الرموز فقط عندما لا يدخل النص الخام أبدًا في سياق Claude Code الرئيسي. يحدث ذلك في الاستدعاءات اللاحقة (downstream calls) مثل:
- استعلامات التوليد المعزز بالاسترجاع (RAG) التي يمررها النموذج إلى محرك بحث أو قاعدة بيانات.
- التعليمات المرسلة إلى الوكلاء الفرعيين (sub-agents) الذين يعملون بشكل مستقل عن المحادثة الأساسية.
في هذه الحالات، يمرر النموذج الحمولة (payload) المنظفة مباشرة إلى النظام الخارجي، مما يبقي نص المستخدم الأصلي خارج حساب الرموز الأساسي.
كيف تقلل رموز الإدخال الخاصة بك فعليًا
إذا كنت تريد تقليل عدد الرموز التي تغذي بها Claude Code، فقم بتنظيف النص قبل أن يلمس النموذج. إليك ثلاثة نهج عملية تعمل اليوم:
- مفاتيح اختصار على مستوى النظام – في Windows استخدم سكربت AutoHotkey؛ وفي macOS استخدم Automator. يقوم السكربت بتحديد النص الذي أوشكت على إرساله، ويمرره إلى API خارجي يعيد نسخة منظفة، ثم يستبدل النص في المحرر. ولأن النسخة الخام لا تغادر جهازك أبدًا، يتم إرسال النسخة المنظفة فقط.
- التمرير عبر واجهة سطر الأوامر (CLI piping) – قم بتشغيل Claude Code من الطرفية (terminal) وقم بمعالجة مطالبتك مسبقًا باستخدام مرشح bash (مثل سكربت
sedأو Python) يقوم بإزالة المساحات البيضاء غير الضرورية، أو التعليقات، أو العبارات المكررة. المخرج المفلتر هو ما يتم تغذيته للنموذج. - استخدام MCP للاستدعاءات اللاحقة فقط – احتفظ بأدوات MCP لخطوات RAG أو الوكلاء الفرعيين المذكورة سابقًا. اترك النموذج يتعامل مع مطالبة المستخدم الأولية مباشرة، واجعل أداة التنظيف تعمل فقط على الحمولة التي تغادر المحادثة الرئيسية.
أخطاء شائعة يجب تجنبها
- افتراض أن أدوات MCP تختصر المطالبة الأصلية – فهي تضيف كتلة رموز لاستدعاء الأداة (tool-call token block) وتحافظ على النص الخام، مما يؤدي إلى تضخم العدد الإجمالي.
- الاعتماد على خطافات (hooks) Claude Code – يمكن للخطافات حقن سياق إضافي أو حظر المطالبات، لكنها لا تستطيع الكتابة فوق النص الموجود بالفعل في المحادثة.
- استخدام أوامر الشرطة المائلة (slash commands) مع التنظيف المضمن – حتى لو قام أمر بتشغيل سكربت تنظيف، تظل الوسائط (arguments) الخام جزءًا من سطر الأوامر الذي يسجله النموذج، لذا ستدفع ثمنها أيضًا.
يبدأ عداد الرموز في اللحظة التي تصل فيها أحرفك إلى نقطة نهاية API الخاصة بالنموذج. أي عملية تنظيف بعد تلك النقطة لا تؤدي إلا إلى زيادة الأعباء الإضافية (overhead).
ماذا يعني هذا للمطورين
تظهر تسعيرة الرموز كبند في معظم فواتير خدمات الذكاء الاصطناعي. الدفع الزائد لأن "المنظف" يضيف رموزًا مخفية يمكن أن يؤدي بسرعة إلى تآكل أي مدخرات كنت تأمل في تحقيقها. انقل خطوة التنظيف إلى جانب العميل (client side) للحفاظ على دقة عدد الرموز وجعل ميزانيتك قابلة للتنبؤ.
الخلاصة: أدوات MCP مفيدة للحمولات اللاحقة (downstream payloads)، لكنها لا تستطيع تقليل رموز المطالبة التي تكتبها. قم بالتنظيف قبل الإرسال، أو قصر التنظيف على الاستدعاءات التي لا تظهر أبدًا في السياق الرئيسي، إذا كنت تريد تقليلًا حقيقيًا في تكاليف رموز Claude Code.
