عن المشروع

@mcp-z/client هي مكتبة عميل MCP برمجية لـ Node.js (تتطلب Node.js >= 22). وهي تدعم الاتصال بخوادم MCP متعددة ضمن عملية واحدة، وتشغيل أدوات MCP من السكربتات، وكتابة اختبارات التكامل لخوادم MCP. تشمل وسائل النقل المدعومة stdio و HTTP. يمكن تشغيل خوادم HTTP اختيارياً عبر ملحق كتلة `start` باستخدام خيار `dialects: ['start']`. كما تدعم المكتبة OAuth عبر Dynamic Client Registration (DCR) عندما يدعم خادم HTTP ذلك، مما يسمح بتمرير مخزن رموز (مثل Keyv) من خلال `dcrAuthenticator`. تتمحور واجهة برمجة التطبيقات الأساسية حول سجل خوادم يتم إنشاؤه عبر `createServerRegistry(config, options?)`. يوفر السجل طرقاً للاتصال بخوادم مسمى (`registry.connect`)، والبحث عن القدرات عبر الخوادم (`registry.searchCapabilities`)، وإغلاق جميع الاتصالات (`registry.close`). توفر العملاء المدارون طرقاً لاستدعاء الأدوات (`callTool`)، والحصول على المطالبات (`getPrompt`)، وقراءة الموارد (`readResource`)، وإدراج الأدوات أو الموارد أو المطالبات. كما تتوفر متغيرات لاستجابات SDK الخام (`callToolRaw` و `getPromptRaw` و `readResourceRaw`). توفر أغلفة الاستجابة طرقاً مساعدة: `json()` لتحليل المحتوى المهيكل، و `text()` لأول نتيجة نصية، و `raw()` لاستجابة MCP الخام. تتضمن خيارات السجل `cwd` لدليل العمل للعملية التي تم تشغيلها، و `env` لمتغيرات البيئة الأساسية، و `dialects` للتحكم في أنواع الخوادم التي سيتم تشغيلها (خوادم stdio، أو كتل start الخاصة بـ HTTP، أو كليهما). تتوفر وثائق واجهة برمجة التطبيقات في موقع وثائق المشروع.