إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
تساعد وحدة الأدوات المطورين على اكتشاف وتكوين ودمج خوادم بروتوكول السياق النموذجي (MCP) في سير عمل الوكلاء الذكاء الاصطناعي. تعرض خوادم MCP القدرات الخارجية كأدوات يمكن للوكلاء الذَّكَاءُ الاصْطِنَاعِيُّ استدعاءها. للحصول على نظرة عامة على خوادم الأدوات المتوفرة، راجع خوادم أدوات Agent 365.
نظرة عامة
يتبع تكامل أدوات العامل 365 سير العمل هذا:
- تكوين خوادم MCP - استخدم Agent 365 CLI لاكتشاف خوادم MCP وإضافتها
-
إنشاء بيان - ينشئ
ToolingManifest.jsonCLI في مجلد المشروع الخاص بك مع تكوينات الخادم. -
تطبيق الأذونات على المخطط - يمنح المسؤول العام أذونات OAuth2 لمخطط العامل عن طريق تشغيل
a365 setup all(الإعداد لأول مرة) أوa365 setup permissions mcp(إذا كان المخطط موجودا بالفعل). وفي كلتا الحالتينToolingManifest.json، يقرأ الأمر ويتطلب موافقة المسؤول. هذه الخطوة دائما منفصلة عن إضافة خوادم إلى البيان. - التكامل في التعليمات البرمجية - تحميل مكونات البرنامج وتسجيل الأدوات مع المنسق الخاص بك.
- استدعاء الأدوات - يستدعي العامل أدوات أثناء التنفيذ لتنفيذ العمليات.
المتطلبات الأساسية
قبل تكوين خوادم MCP، تأكد من أن لديك:
- تم تثبيت وتكوين Agent 365 CLI
- .NET 8.0 SDK أو أعلى - تنزيل
- امتيازات المسؤول العام في مستأجر Microsoft 365
إعداد هوية العامل
إذا كنت تستخدم المصادقة الوكيلة، فأكمل عملية تسجيل العامل لإنشاء هوية العامل قبل تكوين خوادم MCP. تنشئ هذه العملية معرف عامل Entra ومستخدم العامل الذي يمكن العامل الخاص بك من مصادقة أدوات MCP والوصول إليها.
إعداد مصادقة OBO
إذا كنت تستخدم مصادقة On-Behalf-Of (OBO) بدلا من المصادقة الوكيلة، يمكن للعامل الوصول إلى أدوات MCP باستخدام أذونات المستخدم المفوضة دون هوية مستخدم عامل. في تدفق OBO، يقوم الوكيل بتبادل الرمز المفوض للمستخدم لأداء الإجراءات نيابة عنه.
لمزيد من المعلومات حول كيفية عمل تدفق OBO، راجع تدفقات المصادقة. للحصول على مثال تنفيذ كامل، راجع نموذج تخويل OBO في Microsoft 365 Agents SDK.
إعداد كيان الخدمة
شغل هذا السكريبت لمرة واحدة لإنشاء مبدأ الخدمة لأدوات Agent 365 في المستأجر الخاص بك.
Important
تتطلب هذه العملية لمرة واحدة لكل مستأجر صلاحيات المسؤول العام.
افتح PowerShell كمسؤول واذهب إلى مجلد السكريبت.
قم بتشغيل البرنامج النصي.
.\New-Agent365ToolsServicePrincipalProdPublic.ps1سجل دخولك باستخدام بيانات اعتماد Azure الخاصة بك عندما يُطلب منك ذلك.
بعد الانتهاء، يكون المستأجر الخاص بك جاهزا لتطوير العامل وتكوين خَادِم MCP.
تكوين خوادم MCP
استخدم Agent 365 CLI لاكتشاف خوادم MCP وإضافتها وإدارتها لوكيلك. للحصول على قائمة كاملة بخوادم MCP المتوفرة وقدراتها، راجع كتالوج خَادِم MCP.
اكتشاف الخوادم المتوفرة
قم بإدراج جميع خوادم MCP التي يمكنك تهيئتها:
a365 develop list-available
إضافة خوادم MCP
أضف خَادِما واحدا أو أكثر من خوادم MCP إلى تكوين العامل الخاص بك:
a365 develop add-mcp-servers mcp_MailTools
Important
هذا الأمر يقوم فقط بتحديث ToolingManifest.json في مجلد المشروع الخاص بك، ولكنه لا يمنح أي أذونات للمخطط. تعتمد كيفية تطبيق الأذونات على مكان تواجدك في عملية الإعداد:
-
قبل الإعداد الأولي: قم بتشغيل
a365 develop add-mcp-serversأولا، ثم تابع معa365 setup all.setup allيتضمن الأمر خطوة أذونات MCP كجزء من إنشاء المخطط. -
بعد وجود المخطط بالفعل: يجب تشغيل
a365 setup permissions mcpالمسؤول العام بشكل منفصل. يجب أن يشيرa365.config.jsonالمسؤولdeploymentProjectPathإلى مجلد المشروع الذي يحتوي على المحدثToolingManifest.json. حتى تكتمل هذه الخطوة، لا تكون أذونات خادم MCP الجديدة مرئية في المخطط.
قائمة الخوادم المُعَدَّة
عرض خوادم MCP المكونة حاليا:
a365 develop list-configured
إزالة خوادم MCP
إزالة خَادِم MCP من التكوين الخاص بك:
a365 develop remove-mcp-servers mcp_MailTools
للحصول على مرجع CLI الكامل، انظر a365 development command.
استخدم خادم أدوات المحاكاة للاختبار
للاختبار والتطوير، استخدم خادم أدوات CLI التجريبي Agent 365 بدلا من الاتصال بخوادم MCP الفعلية. يقوم الخادم الوهمي بمحاكاة تفاعلات خوادم MCP، مما يسمح لك باختبار الوكيل محليًا دون الاعتماد على تبعيات خارجية مثل المصادقة.
يقدم خادم النماذج الفوائد التالية للتطوير المحلي والاختبار:
- التطوير غير المتصل: اختبر وكيلك بدون اتصال بالإنترنت أو تبعيات خارجية.
- اختبار متسق: استلام ردود متوقعة لاختبار الحالات النادرة.
- تصحيح الأخطاء: عرض جميع الطلبات والردود في الوقت الحقيقي
- التكرار السريع: لا حاجة للانتظار لاستدعاءات واجهة برمجة التطبيقات الخارجية أو إعداد بيئات اختبار معقدة.
ابدأ خادم الأدوات التجريبية باستخدام a365 develop start-mock-tooling-server الأمر.
تعلم إعداد وتكوين خادم الأدوات الوهمية.
ملاحظة
الأقسام التالية لتكوين القوائم ودمج الأدوات مع وكيلك تعمل بنفس الطريقة سواء كنت تستخدم خادم الأدوات التجريبية أو خوادم MCP الفعلية. قم بتعيين متغير البيئة ليشير MCP_PLATFORM_ENDPOINT إلى خادم المحاكاة (على سبيل المثال: http://localhost:5309) بدلا من نقطة الإنتاج.
فهم بيان الأدوات
عند تشغيل a365 develop add-mcp-servers، ينشئ CLI ملفا ToolingManifest.json يحتوي على تكوين لكافة خوادم MCP. يستخدم وقت تشغيل العامل هذا البيان لفهم الخوادم المتوفرة وكيفية المصادقة معها.
بنية البيان
مثال ToolingManifest.json:
{
"mcpServers": [
{
"mcpServerName": "mcp_MailTools",
"mcpServerUniqueName": "mcp_MailTools",
"scope": "McpServers.Mail.All",
"audience": "api://05879165-0320-489e-b644-f72b33f3edf0"
}
]
}
المعلمات الظاهرة
يحتوي كل إدخال خَادِم MCP على:
| المعلمة | الوصف |
|---|---|
| mcpServerName | اسم العرض لخادم MCP. |
| mcpServerUniqueName | المعرف الفريد لمثيل خادم MCP. |
| نطاق | نطاق OAuth المطلوب للوصول إلى قدرات خادم MCP (على سبيل المثال: McpServers.Mail.All لعمليات البريد). تسترجع add-mcp-servers هذه القيمة من كتالوج خادم MCP. |
| الجمهور | Microsoft Entra ID URI الذي يحدد مورد واجهة برمجة التطبيقات الهدف. تسترجع add-mcp-servers هذه القيمة من كتالوج خادم MCP. |
ملاحظة
يقوم CLI الوكيل 365 تلقائيا بملء قيم scope و audience عند إضافة خادم MCP. تأتي هذه القيم من كتالوج خَادِم MCP وتحدد الأذونات المطلوبة للوصول إلى كل خَادِم MCP.
دمج الأدوات في المندوب الخاص بك
بعد إنشاء بيان الأدوات، قم بدمج خوادم MCP المكونة في التعليمات البرمجية للعامل الخاص بك. يغطي هذا القسم خطوة الفحص الاختيارية وخطوات التكامل المطلوبة.
خوادم أدوات القوائم (اختياري)
Tip
هذه الخطوة اختيارية. استخدم خدمة تكوين خَادِم الأدوات لفحص خوادم الأدوات المتوفرة من بيان الأدوات قبل إضافتها إلى المنسق.
استخدم خدمة تكوين خَادِم الأدوات لاكتشاف خوادم الأدوات المتوفرة للعامل الخاص بك من بيان الأدوات. يسمح لك هذا الأسلوب ب:
- استخلص جميع خوادم MCP المكونة من ملف
ToolingManifest.json. - استرجاع بيانات تعريف الخادم وقدراته.
- تحقق من توفر الخادم قبل التسجيل.
يتوفر أسلوب سرد خوادم الأدوات في حزم الأدوات الأساسية:
# Use McpToolServerConfigurationService.list_tool_servers
from microsoft.agents.a365.tooling import McpToolServerConfigurationService
config_service = McpToolServerConfigurationService()
tool_servers = await config_service.list_tool_servers(agentic_app_id, auth_token)
البارامترات:
| المعلمة | Type | الوصف | القيمة المتوقعة | مطلوب / اختياري |
|---|---|---|---|---|
agentic_app_id |
str | المعرف الفريد لمثيل تطبيق العامل | سلسلة معرف تطبيق عامل صالحة | مطلوب |
auth_token |
str | الرمز المميز للحامل للمصادقة باستخدام بوابة خادم MCP | رمز حامل OAuth صالح | مطلوب |
الحزمة: microsoft_agents_a365.tooling
تسجيل الأدوات مع المنسق الخاص بك
استخدم أسلوب الملحق الخاص بإطار العمل لتسجيل جميع خوادم MCP مع إطار عمل التنسيق الخاص بك:
-
AddToolServersToAgentAsync(.NET) -
add_tool_servers_to_agent(Python) -
addToolServersToAgent(Node.js)
هذه الأساليب:
- تسجيل جميع الأدوات من خوادم MCP المكونة مع المنسق الخاص بك
- إعداد تفاصيل المصادقة والاتصال تلقائيا
- جعل الأدوات متاحة على الفور لوكيلك لاستدعاء
اختر ملحق المنسق الخاص بك
توفر وحدة أدوات Agent 365 حزم ملحقة مخصصة لأطر عمل تنسيق مختلفة:
- microsoft_agents_a365.tooling: وظيفة الأدوات الأساسية
- microsoft_agents_a365.tooling.extensions.agentframework: تكامل إطار عمل العامل
- microsoft_agents_a365.tooling.extensions.azureaifoundry: تكامل منصة Azure للذكاء الاصطناعي
- microsoft_agents_a365.tooling.extensions.openai: تكامل OpenAI
- microsoft_agents_a365.tooling.extensions.semantickernel: تكامل نواة دلالية
ملاحظة
عند تشغيل a365 develop add-mcp-servers، يسترد CLI تلقائيا نطاقات OAuth وقيم الجمهور من كتالوج خادم MCP ويكتبها إلى ToolingManifest.json. تستخدم أساليب الملحق هذه القيم لإعداد المصادقة في وقت التشغيل — لا يلزم تكوين يدوي في التعليمات البرمجية للعامل. ومع ذلك، يجب على المسؤول العام منح هذه الأذونات لمخطط العامل قبل أن يتمكن الوكيل من استخدامها في الإنتاج: عبر a365 setup all (الإعداد لأول مرة) أو a365 setup permissions mcp (إذا كان المخطط موجودا بالفعل).
للحصول على أمثلة تنفيذ مفصلة، راجع عينات Agent 365.
أمثلة التنفيذ
توضح الأمثلة التالية كيفية دمج أدوات الوكيل 365 مع أطر تنسيق مختلفة.
Python مع OpenAI
يوضح هذا المثال كيفية دمج أدوات MCP مع OpenAI في تطبيق Python.
1. إضافة عبارات الاستيراد
أضف عمليات الاستيراد المطلوبة للوصول إلى وحدة الأدوات وملحقات OpenAI:
from microsoft.agents.a365.tooling import McpToolServerConfigurationService
from microsoft.agents.a365.tooling.extensions.openai import mcp_tool_registration_service
2. تهيئة خدمات الأدوات
إنشاء مثيلات من خَدَمَات التكوين وتسجيل الأدوات:
# Create configuration service and tool service with dependency injection
self.config_service = McpToolServerConfigurationService()
self.tool_service = mcp_tool_registration_service.McpToolRegistrationService()
3. تسجيل أدوات MCP مع عامل OpenAI
add_tool_servers_to_agent استخدم الأسلوب لتسجيل جميع أدوات MCP المكونة مع عامل OpenAI الخاص بك. يعالج هذا الأسلوب كلا من سيناريوهات المصادقة الوكيلة وغير الوكيلة.
async def setup_mcp_servers(self, auth: Authorization, context: TurnContext):
"""Set up MCP server connections"""
try:
use_agentic_auth = os.getenv("USE_AGENTIC_AUTH", "false").lower() == "true"
if use_agentic_auth:
self.agent = await self.tool_service.add_tool_servers_to_agent(
agent=self.agent,
agentic_app_id=agentic_app_id,
auth=auth,
context=context,
)
else:
self.agent = await self.tool_service.add_tool_servers_to_agent(
agent=self.agent,
agentic_app_id=agentic_app_id,
auth=auth,
context=context,
auth_token=self.auth_options.bearer_token,
)
except Exception as e:
logger.error(f"Error setting up MCP servers: {e}")
معاملات الدالة
يوضح الجدول التالي المعلمات التي يجب اِسْتِخْدَامها مع add_tool_servers_to_agent.
| المعلمة | الوصف |
|---|---|
agent |
مثيل عامل OpenAI لتسجيل الأدوات به. |
agentic_app_id |
المعرف الفريد للعامل (معرف التطبيق العامل). |
auth |
سياق التخويل للمستخدم. |
context |
تحول المحادثة الحالية السياق من Agents SDK. يوفر هوية المستخدم وبيانات تعريف المحادثة وسياق المصادقة لتسجيل الأداة الآمنة. |
auth_token |
(اختياري) رمز الحامل لسيناريوهات المصادقة غير الوكيلية. |
4. الاتصال أثناء التهيئة
تأكد من استدعاء أسلوب الإعداد أثناء التهيئة قبل تشغيل العامل:
# Setup MCP servers during initialization
await self.setup_mcp_servers(auth, context)
طريقة add_tool_servers_to_agent تلقائيا:
- يقوم بتحميل جميع خوادم MCP من ملف ToolingManifest.json.
- يسجل أدواتهم لدى وكيل OpenAI.
- يقوم بإعداد المصادقة بناء على تكوين البيان.
- يتيح الأدوات لوكيلك للاستدعاء.
للحصول على أمثلة عمل كاملة، راجع مستودع Agent 365 Samples.
طرق أخرى للوصول إلى خوادم العميل 365 MCP
بالإضافة إلى حزمة تطوير Agent 365، يمكنك الوصول إلى خوادم Agent 365 MCP من خلال تجارب تطوير أخرى:
- تعليمة Visual Studio برمجية - اتصل مباشرة بخوادم MCP لسير عمل التطوير المخصص.
- Microsoft Copilot Studio - دمج خوادم MCP في تدفقات المحادثة باستخدام تجربة تعليمات برمجية منخفضة.
- منصة Azure للذكاء الاصطناعي - استخدم خوادم MCP مع دعم SDK كامل وقدرات تنسيق متقدمة.
للحصول على نظرة شاملة على خوادم MCP المتاحة وخيارات التكامل عبر هذه المنصات، راجع نظرة عامة على خوادم أدوات Agent 365.
اختبار وكيلك
بعد دمج أدوات MCP في وكيلك، اختبر استدعاءات الأدوات للتأكد من أنها تعمل بشكل صحيح وتتعامل مع سيناريوهات مختلفة. اتبع دليل الاختبار لإعداد بيئتك. ثم ركز بشكل أساسي على قسم استدعاءات أدوات الاختبار للتحقق من أن أدوات MCP تعمل كما هو متوقع. أيضا، تحقق من خادم الأدوات الوهمية لاختبار اتصال خادم MCP واستدعاءات الأدوات دون التعامل مع المصادقة.
اضافة إمكانية المراقبة
أضف قابلية الملاحظة إلى وكيلك لمراقبة وتتبع استدعاءات أداة MCP الخاصة بوكيلك. من خلال إضافة قدرات الملاحظة، يمكنك تتبع الأداء، وتصحيح المشاكل، وفهم أنماط استخدام الأدوات. تعرف أكثر على تنفيذ التتبع والمراقبة.
استكشاف الأخطاء وإصلاحها
يسرد هذا القسم المشاكل الشائعة عند تكوين واستخدام خوادم وأدوات MCP.
Tip
يحتوي دليل استكشاف أخطاء العميل 365 على توصيات عالية المستوى لحل المشاكل، وأفضل الممارسات، وروابط لمحتوى استكشاف الأخطاء لكل جزء من دورة تطوير الوكيل 365.
مشاكل خادم MCP والأدوات
الأعراض:
- فشل استدعاء الأدوات.
- أخطاء "لم يتم العثور على خادم MCP".
- تم رفض الإذن وتظهر أخطاء عند استدعاء الأدوات.
السبب الجذري:
- خادم MCP غير مهيأ.
- الأذونات المفقودة.
- مدير الخدمة غير معد.
- ارتباك بين خوادم التمثيل والإنتاج.
الحلول: جرب الحلول التالية لمعالجة المشكلة.
تحقق من تكوين خوادم MCP
قم بإدراج الخوادم المهيأة وأضف أي خوادم مفقودة.
# List configured servers a365 develop list-configured # If empty, add required servers (example: Mail MCP server) a365 develop add-mcp-servers mcp_MailToolsتحقق من وجود مبدأ الخدمة
تأكد من إنشاء مبدأ الخدمة المطلوب للأدوات الجاهزة.
# Run the one-time setup script # https://github.com/microsoft/Agent365-devTools/blob/main/scripts/cli/Auth/New-Agent365ToolsServicePrincipalProdPublic.ps1للتطوير والاختبار المبكر، استخدم خوادم تجريبية
استخدم خادم الأدوات التجريبية للتطوير المحلي المبكر والاختبار إذا كنت تريد اختبار بقية وكيلك بدون مكونات أدوات الإنتاج.
# Start mock tooling server a365 develop start-mock-tooling-server # Update your .env MCP_PLATFORM_ENDPOINT=http://localhost:5309تحقق من الأذونات في مركز الإدارة
تأكد من أن وكيلك لديه صلاحيات MCP اللازمة.
- تحقق من أن أذونات واجهة برمجة التطبيقات لمخطط العامل في مدخل Azure تعرض جميع أذونات خادم MCP.
التحقق:
# Test a tool call in Agents Playground # Should execute without permission errors