# البحث عن الأدوات في Claude Code: كيف يعثر الوكيل على أداة MCP التي يحتاج إليها

> كيف يعمل البحث عن الأدوات في Claude Code: ما يُحمَّل في السياق فورًا، ومتى تتوقف الآلية عن العمل، وكيفية إعداد ENABLE_TOOL_SEARCH وalwaysLoad.

Source: https://ailoot.ai/blog/ar/claude-code-tool-search-mcp-limit/
Canonical: https://ailoot.ai/blog/ar/claude-code-tool-search-mcp-limit/
Language: ar
Publisher: Ailoot (https://ailoot.ai/)
Translation: guide-055
Revision: sha256-7f776e7ec316e07f0aea65dacb10cd8184691423d346b5f579f28ef1a383189d


إذا كنت قد ربطت عدة خوادم MCP بـ Claude Code، يتيح له البحث عن الأدوات تحميل الأدوات التي يحتاج إليها عند الطلب، من دون تحميل جميع التعريفات مسبقًا. عند بدء التشغيل، يتلقى الوكيل أسماء الأدوات المؤجَّل تحميلها وتعليمات الخوادم، ثم يبحث في الفهرس عما يحتاج إليه. وهذا يساعده على العمل مع مجموعة كبيرة من الأدوات: تذكر وثائق Anthropic أن دقة الاختيار تنخفض عند تحميل أكثر من 30-50 أداة في المرة الواحدة. هذه إرشادات عامة وليست قياسًا لجلسة استخدامك. يكون البحث عن الأدوات مفعّلًا افتراضيًا عندما يدعمه النموذج، لكن يمكن للمنصة أو الوكيل الوسيط أو الإعدادات تعطيله.

[وثائق Ailoot: واجهة API والمفاتيح والإعداد](https://ailoot.ai/docs/).

## ما يحدث للسياق عند إيقاف البحث عن الأدوات

يضيف كل خادم MCP متصل أدواته إلى قائمة الأدوات التي يمكن للوكيل استدعاؤها. من دون البحث عن الأدوات، تُحمَّل تعريفاتها — الاسم والوصف ومخطط المعلمات — إلى السياق مسبقًا. وتتصل الخوادم في الخلفية عند بدء الجلسة. إذا احتاجت الجلسة إلى أداة من خادم لم يكتمل اتصاله بعد، ينتظر Claude Code باستخدام الأداة الداخلية `WaitForMcpServers`. يمكنك تقييم عدد الأدوات والرموز التي يضيفها خادم معين على حدة لكل اتصال.

تذكر الوثائق الرسمية لـ Anthropic رقمين تقريبيين (أرقام عامة من دون ذكر طريقة القياس):

- قد تستهلك 50 أداة ما بين 10-20 ألف رمز من السياق؛
- تنخفض دقة اختيار الأداة المناسبة عند تحميل أكثر من 30-50 أداة في المرة الواحدة.

## كيفية تقييم حالة البحث عن الأدوات من الإعدادات

لمعرفة ما إذا كان البحث عن الأدوات ينبغي أن يعمل في الجلسة الحالية، تحقق من الشروط التالية:

- النموذج الذي يجيب — إذا كان Sonnet/Haiku/Opus 4.5 أو أحدث، فالآلية متاحة؛ أما النماذج الأقدم فلا تدعمها؛
- ما إذا كان `ANTHROPIC_BASE_URL` مضبوطًا على مضيف غير قياسي — في هذه الحالة تكون الآلية متوقفة افتراضيًا ما لم تُفعَّل صراحةً عبر `ENABLE_TOOL_SEARCH`؛
- قيمة المتغير `ENABLE_TOOL_SEARCH` — تؤدي `false` إلى تعطيل الآلية بالكامل؛ أما `auto`/`auto:N` فتفعّلها فقط عندما يصل حجم التعريفات إلى حد معين؛
- ما إذا كان `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` مضبوطًا — من دون إعدادات المؤسسة المُدارة، يُبقي هذا المتغير البحث عن الأدوات متوقفًا حتى لو ضبط المستخدم `ENABLE_TOOL_SEARCH`؛
- ما إذا كانت أداة `ToolSearch` محظورة عبر `permissions.deny` في الإعدادات — إذ يؤدي هذا التقييد إلى تعطيل البحث؛
- المنصة المستخدمة — الآلية غير متاحة في عمليات نشر Microsoft Foundry على Azure، بينما يعتمد سلوكها على إصدار Claude Code والنموذج في Google Cloud Agent Platform.

يتيح لك هذا التحقق تقييم الحالة من الإعدادات، لكنه لا يتيح لك ملاحظتها داخل الجلسة. لا يصف قسم MCP ولا قسم البحث عن الأدوات في وثائق Agent SDK مؤشرًا مباشرًا في الواجهة يعرض «البحث عن الأدوات: مفعّل/متوقف». وعدم ذكر هذا المؤشر في هاتين الوثيقتين لا يثبت عدم وجوده في أي موضع آخر.

يمكنك ضبط المتغير قبل بدء الجلسة، مثل `ENABLE_TOOL_SEARCH=auto:15 claude`. ولضمان تحميل أدوات خادم معين دائمًا، استخدم الحقل `alwaysLoad: true` في إعدادات ذلك الخادم. وهو متاح لجميع أنواع الخوادم؛ وترد الشروط والقيود في قسم alwaysLoad أدناه.

## كيفية عمل البحث عن الأدوات

عند تفعيل البحث عن الأدوات، لا يُحمَّل إلى السياق عند بدء الجلسة سوى أسماء الأدوات المؤجَّل تحميلها وتعليمات الخادم. وتوضح تعليمات الخادم المهام التي يفيد فيها. عندما تتطلب مهمة قدرة غير موجودة بعد في السياق، يبحث الوكيل بنفسه في الفهرس عن أداة مناسبة.

تشرح وثائق Agent SDK آلية البحث بمزيد من التفصيل: يحمّل البحث الواحد افتراضيًا ما يصل إلى خمس أدوات هي الأكثر صلة من الفهرس. وتظل هذه الأدوات متاحة في الأدوار اللاحقة من الجلسة إلى أن يضغط SDK الرسائل التي عثر الوكيل فيها عليها. بعد الضغط، قد تختفي الأدوات المكتشفة سابقًا من السياق، فيبحث عنها الوكيل مجددًا عند الحاجة إليها في المرة التالية. يدعم الفهرس ما يصل إلى 10 000 أداة. ولا تذكر وثائق MCP الخاصة بـ Claude Code هذه الأرقام تحديدًا، لكنها تصف المبدأ نفسه، وهو التحميل المؤجَّل.

وفقًا لوثائق Agent SDK، يضيف كل بحث دورة اتصال إضافية ذهابًا وإيابًا. ولا تحدد الوثائق بدقة ما تتضمنه هذه الدورة. وبالنسبة إلى Claude Code، تصف وثائق MCP أيضًا اختلافًا في الإبلاغ عن الأخطاء: من دون البحث عن الأدوات، لا يُبلغ Claude Code النموذج بفشل اتصالات الخوادم. وعند تفعيل البحث، يتلقى النموذج معلومات عن الخادم الذي تعذر الاتصال به وعن الخطأ الذي وقع.

لا يفرض Claude Code حدًا ثابتًا لعدد الأدوات التي يمكن أن تأتي من خادم واحد. والحد العملي هو ميزانية نافذة السياق للجلسة المعنية.

يُعد إعداد الأدوات إحدى المهام المرتبطة بإدارة سياق وكيل الذكاء الاصطناعي.



## متى يكون البحث عن الأدوات متوقفًا افتراضيًا

تكون الآلية مفعّلة افتراضيًا، لكن تشغيلها يعتمد على النموذج ومضيف API والمنصة.

**النموذج.** يتطلب البحث عن الأدوات نموذجًا يدعم كتل tool_reference: Claude Sonnet 4.5 أو Claude Haiku 4.5 أو Claude Opus 4.5 أو إصدارًا أحدث. أما في النماذج الأقدم، فيحمّل Claude Code تعريفات الأدوات مسبقًا.

**مضيف API.** يعطّل Claude Code البحث عن الأدوات عندما يشير المتغير `ANTHROPIC_BASE_URL` إلى مضيف تابع لجهة خارجية، لأن معظم الوكلاء الوسيطين لا يمررون كتل tool_reference الخاصة. ينطبق ذلك عند الاتصال بـ Claude عبر بوابة أو خادم وكيل وسيط خاص بك بدلًا من الاتصال مباشرةً بعنوان Anthropic. سبب التعطيل هو استخدام قيمة غير قياسية لـ `ANTHROPIC_BASE_URL`؛ أما طريقة دفع قيمة الاشتراك فلا تسبب ذلك بحد ذاتها. يمكنك ضبط `ENABLE_TOOL_SEARCH` صراحةً لتجاوز هذا السلوك. وإذا كان الوكيل الوسيط نفسه لا يدعم كتل tool_reference، فسيؤدي فرض تشغيل الآلية إلى خطأ في الطلب. ولن يعود Claude Code في هذه الحالة إلى تحميل التعريفات مسبقًا.

**منصة النشر.** لا يعمل البحث عن الأدوات في عمليات نشر Microsoft Foundry المستضافة على Azure: يرفض الخادم الطلب، ولا يتجاوز `ENABLE_TOOL_SEARCH` هذا القيد. أما في Google Cloud Agent Platform، فقبل إصدار Claude Code 2.1.221 كانت الآلية متوقفة لجميع النماذج ما لم يُضبط `ENABLE_TOOL_SEARCH=true` صراحةً. وابتداءً من ذلك الإصدار، تكون مفعّلة افتراضيًا في Opus/Sonnet/Haiku 4.5 والإصدارات الأحدث. أما النماذج الأقدم على المنصة، فيواصل Claude Code تحميل جميع الأدوات مسبقًا لأن البنية التحتية للخادم ترفض الترويسة الداخلية المطلوبة.

للمتغير `ENABLE_TOOL_SEARCH` خمسة إعدادات ممكنة:

- غير مضبوط — السلوك القياسي، مع الاستثناءات المذكورة أعلاه؛
- `true` — تُفعّل الآلية في النماذج التي تدعمها، باستثناء حالتين: Azure Foundry ونماذج Agent Platform الأقدم؛ وستفشل الطلبات المرسلة عبر وكيل وسيط لا يدعم كتل tool_reference؛
- `auto` — يحمّل Claude Code الأدوات مسبقًا ما دامت تعريفاتها مجتمعة تشغل أقل من 10% من نافذة السياق، ثم ينتقل إلى التحميل المؤجَّل عند بلوغ هذا الحد؛
- `auto:N` — المبدأ نفسه، مع تحديد النسبة المئوية للحد يدويًا؛
- `false` — تُعطّل الآلية بالكامل وتُحمَّل جميع الأدوات مسبقًا.

يوجد أيضًا المتغير `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`: إذا كان مضبوطًا، يظل البحث عن الأدوات متوقفًا، ولا يغيّر إعداد المستخدم لـ `ENABLE_TOOL_SEARCH` ذلك. ويُستثنى من ذلك إبقاء المؤسسة البحث عن الأدوات مفعّلًا عبر الإعدادات المُدارة، وهي متاحة ابتداءً من إصدار Claude Code 2.1.227.

## وظيفة alwaysLoad وتأثيره في السياق وبدء التشغيل

يتاح الحقل `alwaysLoad: true` في إعدادات الخادم لجميع أنواع الخوادم. وعند استخدامه، تُحمَّل جميع أدوات ذلك الخادم إلى السياق عند بدء التشغيل بصرف النظر عن إعداد `ENABLE_TOOL_SEARCH`. ولا يحتاج الوكيل إلى البحث عنها قبل استخدامها.

يترتب على تحميل الأدوات دائمًا أمران. تشغل كل أداة تُحمَّل مسبقًا جزءًا من السياق الذي كان يمكن أن يتاح للمهمة نفسها. وإضافةً إلى ذلك، ينتظر بدء الجلسة اتصال هذا الخادم ضمن المهلة القياسية البالغة خمس ثوانٍ.

يُستثنى من ذلك الخادم البعيد الذي لديه مُدخل صالح في ذاكرة التخزين المؤقت: إذ يوفّر الأدوات من الذاكرة المؤقتة من دون اتصال، ولا يؤخر بدء التشغيل. تكون ذاكرة التخزين المؤقت للاكتشاف متوقفة افتراضيًا ما لم تكن قد فُعّلت بالفعل للحساب خلال الإطلاق التدريجي للميزة. ويمكنك أيضًا تفعيلها صراحةً عبر `MCP_DISCOVERY_CACHE=1`. وينطبق استثناء بدء التشغيل السريع عندما تكون الذاكرة المؤقتة نشطة وتحتوي على مُدخل صالح. وتظل الأدوات التي تستخدم `alwaysLoad` تشغل مساحة من السياق باستمرار، بصرف النظر عما إذا كان الوكيل سيحتاج إليها عند العمل باستخدام البحث.

لمن يكتبون خوادم MCP الخاصة بهم: تساعد تعليمات الخادم Claude على فهم الوقت المناسب للبحث عن أدواته، على نحو يشبه Skills. يقتطع Claude Code افتراضيًا وصف كل أداة وتعليمات كل خادم إلى 2048 حرفًا، لذا ضع التفاصيل المهمة في البداية.

يعتمد اختيار طريقة توسيع Claude Code على أكثر من عدد خوادم MCP المتصلة. يتناول الدليلان [Claude Code: كم إضافة ينبغي إبقاؤها في الوقت نفسه](https://ailoot.ai/blog/ar/claude-code-skills-subagents-mcp-plugins/) و[ما الذي تختاره في Claude Code: Skills أم Subagents أم MCP أم Plugins](https://ailoot.ai/blog/ar/skills-subagents-mcp-plugins-claude-code/) استخدام Skills وSubagents وMCP وPlugins في مهام مختلفة. وللحصول على إعدادات خطوة بخطوة لخوادم MCP محددة، راجع [خوادم MCP لـ Claude Code: مجموعات جاهزة](https://ailoot.ai/blog/ar/mcp-servers-claude-code/).

## ما الخطوة التالية

تذكر وثائق Agent SDK أنه بالنسبة إلى مجموعة تضم أقل من نحو 10 أدوات تتسع تعريفاتها في السياق بسهولة، يكون تحميلها كلها دفعة واحدة أسرع عادةً. ومع ذلك، في السلوك الافتراضي لـ Claude Code، عندما لا يكون المتغير مضبوطًا ولا ينطبق أي من القيود المذكورة أعلاه، يكون البحث عن الأدوات مفعّلًا ويُؤجَّل تحميل أدوات MCP إلى حين البحث، باستثناء الخوادم التي تستخدم `alwaysLoad`.

في هذه الحالة، يمكنك ضبط `ENABLE_TOOL_SEARCH=auto` صراحةً: ستُحمَّل التعريفات مسبقًا ما دام حجمها المشترك أقل من 10% من نافذة السياق، وسيُفعّل البحث عند بلوغ الحد. وثمة خيار آخر هو `ENABLE_TOOL_SEARCH=false` إذا كنت تعرف أن المجموعة لن تكبر. وفي هذه الحالة، سيتوقف Claude Code عن إبلاغ النموذج بفشل اتصالات الخوادم، كما هو موضح أعلاه.

في الحالات الأخرى، أعد التحقق من شروط التشغيل عند تغيّر البيئة:

- انتقل إلى Sonnet/Haiku/Opus 4.5 أو إصدار أحدث إذا كانت الجلسة تستخدم نموذجًا أقدم؛
- إذا كان الاتصال يستخدم قيمة غير قياسية لـ `ANTHROPIC_BASE_URL`، فلا تضبط `ENABLE_TOOL_SEARCH=true` صراحةً إلا إذا كان الوكيل الوسيط نفسه يمرر كتل tool_reference؛
- تأكد من أن منصة النشر ليست ضمن قائمة الاستثناءات: Azure Foundry أو نماذج Google Cloud Agent Platform الأقدم.

إذا استوفيت الشروط ولم تمنع الإعدادات البحث، يمكنك توصيل خوادم MCP التي تحتاج إليها. استخدم `alwaysLoad` فقط للخوادم التي تحتاج أدواتها في كل دور من الجلسة؛ واترك تحميل الأدوات الأخرى ليتم عبر البحث.

<div class="section" role="doc-bibliography" aria-label="Sources">

### المصادر

- [MCP في Claude Code، قسم “Scale with MCP tool search” — الوثائق الرسمية لـ Anthropic](https://code.claude.com/docs/en/mcp.md)
- [البحث عن الأدوات في Agent SDK — الوثائق الرسمية لـ Anthropic](https://code.claude.com/docs/en/agent-sdk/tool-search.md)

</div>



إذا كنت بحاجة إلى الوصول إلى نماذج الذكاء الاصطناعي عبر Ailoot، فألقِ نظرة على [Ailoot](https://ailoot.ai/).

## أسئلة شائعة

### لماذا قد يفشل البحث عن الأدوات خلف وكيل وسيط رغم تفعيله؟

يجب أن يدعم مضيف API الخارجي كتل tool_reference. فرض تفعيل ENABLE_TOOL_SEARCH لا يضيف هذا الدعم؛ وقد يرفض الوكيل الوسيط غير المتوافق الطلب بدل الرجوع إلى التحميل المسبق.

### متى أضبط alwaysLoad لخادم MCP؟

استخدمه عندما تحتاج إلى أدوات الخادم في كل دورة. عندئذ تشغل جميع تعريفات أدواته سياق بدء التشغيل، وقد ينتظر التشغيل الاتصال ما لم ينطبق إدخال صالح من ذاكرة اكتشاف الأدوات المؤقتة.


## Ailoot · الشركة ومحفظة مشاريعها

تستند Ailoot إلى خبرة تشغيلية متراكمة وقاعدة عملاء واسعة وخدمة مستقرة ومراقبة مستمرة لمؤشرات الأداء KPI.

الشركة ومحفظة مشاريعها: ملايين العملاء؛ مبيعات بالمليارات شهريًا.

توظف Ailoot هذه الخبرة التشغيلية لإتاحة الوصول عبر API إلى قدرات الذكاء الاصطناعي في منتجات العملاء ووكلائهم وتطبيقاتهم وعمليات الأتمتة.
