McpToolServerConfigurationService الفصل
يوفر خدمات لإدارة تكوين خادم أداة MCP.
تعالج هذه الخدمة اكتشاف وتكوين خوادم أدوات MCP (بروتوكول سياق النموذج) من مصادر متعددة:
- التطوير: ملفات ToolingManifest.json المحلية
- الإنتاج: نقاط نهاية بوابة الأدوات البعيدة
الدالمنشئ
McpToolServerConfigurationService()
المعلمات
| الاسم | الوصف |
|---|---|
|
logger
|
القيمة الافتراضية: None
|
الأساليب
| __init__ |
تهيئة خدمة تكوين خادم أداة MCP. |
| __new__ | |
| list_tool_servers |
يحصل على قائمة خوادم MCP التي تم تكوينها للعامل. عند
|
| send_chat_history |
يرسل محفوظات الدردشة إلى النظام الأساسي ل MCP للحماية من التهديدات في الوقت الفعلي. ملحوظة حتى إذا كان chat_history_messages فارغا، فسيتم إرسال الطلب إلى النظام الأساسي MCP. يضمن هذا رسالة المستخدم من turn_context.activity.text مسجل بشكل صحيح للحماية من التهديدات في الوقت الحقيقي. |
__init__
__new__
__new__(**kwargs)
list_tool_servers
يحصل على قائمة خوادم MCP التي تم تكوينها للعامل.
عند authorizationتوفير auth_handler_nameو و turn_context ، يتم الحصول على رموز OAuth المميزة لكل جمهور لكل خادم بعد الاكتشاف:
- تشترك خوادم V1 (بدون
audienceحقل) في الرمز المميز المشترك ATG (تبادل واحد). - تتلقى كل خوادم V2 رمزا مميزا محدد النطاق لجمهورها GUID.
async list_tool_servers(agentic_app_id: str, auth_token: str | None = None, options: ToolOptions | None = None, authorization: Authorization | None = None, auth_handler_name: str | None = None, turn_context: TurnContext | None = None) -> List[MCPServerConfig]
المعلمات
| الاسم | الوصف |
|---|---|
|
agentic_app_id
مطلوب
|
معرف تطبيق Agentic للعامل. |
|
auth_token
|
رمز المصادقة المميز المستخدم لاكتشاف البوابة. القيمة الافتراضية: None
|
|
options
|
مثيل ToolOptions الاختياري الذي يحتوي على معلمات اختيارية. القيمة الافتراضية: None
|
|
authorization
|
سياق التخويل الاختياري لتبادل الرمز المميز لكل جمهور. القيمة الافتراضية: None
|
|
auth_handler_name
|
اسم معالج المصادقة الاختياري المستخدم مع القيمة الافتراضية: None
|
|
turn_context
|
اختياري TurnContext المستخدم مع القيمة الافتراضية: None
|
المرتجعات
| النوع | الوصف |
|---|---|
|
إرجاع قائمة خوادم MCP التي تم تكوينها، كل منها مع |
استثناءات
| النوع | الوصف |
|---|---|
|
إذا كانت المعلمات المطلوبة غير صالحة أو فارغة. |
|
|
إذا كان هناك خطأ في الاتصال ببوابة الأدوات أو فشل تبادل الرمز المميز لكل جمهور. |
send_chat_history
يرسل محفوظات الدردشة إلى النظام الأساسي ل MCP للحماية من التهديدات في الوقت الفعلي.
ملحوظة
حتى إذا كان chat_history_messages فارغا، فسيتم إرسال الطلب إلى
النظام الأساسي MCP. يضمن هذا رسالة المستخدم من turn_context.activity.text
مسجل بشكل صحيح للحماية من التهديدات في الوقت الحقيقي.
async send_chat_history(turn_context: TurnContext, chat_history_messages: List[ChatHistoryMessage], options: ToolOptions | None = None) -> OperationResult
المعلمات
| الاسم | الوصف |
|---|---|
|
turn_context
مطلوب
|
TurnContext من Agents SDK التي تحتوي على معلومات المحادثة. يجب أن يكون لديك نشاط صالح مع conversation.id activity.id و activity.text. |
|
chat_history_messages
مطلوب
|
قائمة كائنات ChatHistoryMessage التي تمثل محفوظات الدردشة. قد تكون فارغة - ستظل القائمة الفارغة ترسل طلبا إلى النظام الأساسي ل MCP مع محفوظات دردشة فارغة. |
|
options
|
مثيل ToolOptions الاختياري الذي يحتوي على معلمات اختيارية. القيمة الافتراضية: None
|
المرتجعات
| النوع | الوصف |
|---|---|
|
<xref:OperationResult>
|
OperationResult يشير إلى النجاح أو الفشل. عند النجاح، ترجع OperationResult.success(). عند الفشل، ترجع OperationResult.failed() مع تفاصيل الخطأ. |
استثناءات
| النوع | الوصف |
|---|---|
|
إذا كان turn_context هو بلا، chat_history_messages هو بلا، turn_context.activity هو بلا، أو أي من الحقول المطلوبة (conversation.id أو activity.id أو activity.text) مفقودة أو فارغة. |
أمثلة
>>> from datetime import datetime, timezone
>>> from microsoft_agents_a365.tooling.models import ChatHistoryMessage
>>>
>>> history = [
... ChatHistoryMessage("msg-1", "user", "Hello", datetime.now(timezone.utc)),
... ChatHistoryMessage("msg-2", "assistant", "Hi!", datetime.now(timezone.utc))
... ]
>>>
>>> service = McpToolServerConfigurationService()
>>> result = await service.send_chat_history(turn_context, history)
>>> if result.succeeded:
... print("Chat history sent successfully")