إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
يوفر Azure Functions طريقتين لاستضافة خوادم MCP البعيدة:
- خوادم MCP التي تم إنشاؤها باستخدام امتداد Functions MCP
- خوادم MCP المبنية باستخدام مجموعات SDK الرسمية ل MCP
مع الطريقة الأولى، يمكنك استخدام نموذج برمجة Azure Functions مع المشغلات والروابط لبناء خادم MCP. ثم يمكنك استضافة الخادم عن بعد عن طريق نشره في تطبيق وظيفة.
إذا كان لديك بالفعل خادم MCP منشأ باستخدام مجموعات تطوير MCP الرسمية وتريد فقط استضافته عن بعد، فمن المرجح أن يكون النهج الثاني مناسبا لاحتياجاتك. لا تحتاج إلى إجراء أي تغييرات في الكود على الخادم لاستضافته على Azure Functions. بدلا من ذلك، يمكنك إضافة القطع الأثرية المطلوبة للوظائف، والخادم جاهز للنشر. وبالتالي، يشار إلى هذه الخوادم باسم خوادم MCP المستضافة ذاتيا.
تقدم هذه المقالة نظرة عامة على خوادم MCP المستضافة ذاتيا وروابط لمقالات وعينات ذات صلة.
المعالجات المخصصة
تنشر خوادم MCP المستضافة ذاتيا على منصة Azure Functions كمعالجات مخصصة. المعالجات المخصصة هي خوادم ويب خفيفة الوزن تتلقى الأحداث من مضيف الوظائف. توفر هذه التطبيقات طريقة للعمل على تطبيقات منصة Functions المبنية بأطر عمل مختلفة عن نموذج برمجة Functions أو بلغات غير مدعومة من البداية مباشرة. لمزيد من المعلومات، اطلع على معالجات Azure Functions المخصصة.
عند نشر خادم قائم على MCP SDK على Azure Functions، يجب عليك تضمين host.json في مشروعك. الحد الأدنى host.json يبدو كالتالي:
{
"version": "2.0",
"configurationProfile": "mcp-custom-handler",
"customHandler": {
"description": {
"defaultExecutablePath": "python",
"arguments": ["Path to main script file, e.g. hello_world.py"]
},
"port": "<MCP server port>"
}
}
{
"version": "2.0",
"configurationProfile": "mcp-custom-handler",
"customHandler": {
"description": {
"defaultExecutablePath": "npm",
"arguments": ["run", "start"]
},
"port": "<MCP server port>"
}
}
{
"version": "2.0",
"configurationProfile": "mcp-custom-handler",
"customHandler": {
"description": {
"defaultExecutablePath": "dotnet",
"arguments": ["Path to the compiled DLL, e.g. HelloWorld.dll"]
},
"port": "<MCP server port>"
}
}
إشعار
نظرا لأن الحمولة التي تم نشرها على Azure Functions هي محتوى الدليل bin/output ، فإن المسار إلى DLL المترجم مرتبط بذلك الدليل، وليس بجذر المشروع.
مثال غير متوفر بعد.
استخدام configuration Profile قيمة ل mcp-custom-handler يقوم تلقائيا بتكوين إعدادات مضيف الوظائف هذه، والتي تكون مطلوبة لتشغيل خادم MCP الخاص بك في Azure Functions:
-
http.enableProxyingإلىtrue -
http.routesإلى[{ "route": "{*route}" }] -
extensions.http.routePrefixإلى""
يظهر هذا المثال ملف host.json يحتوي على خصائص معالج مخصصة إضافية مكافئة لاستخدام الملف mcp-custom-handler الشخصي:
{
"version": "2.0",
"extensions": {
"http": {
"routePrefix": ""
}
},
"customHandler": {
"description": {
"defaultExecutablePath": "",
"arguments": [""]
},
"http": {
"enableProxying": true,
"defaultAuthorizationLevel": "anonymous",
"routes": [
{
"route": "{*route}",
// Default authorization level is `defaultAuthorizationLevel`
},
{
"route": "admin/{*route}",
"authorizationLevel": "admin"
}
]
}
}
}
يشرح هذا الجدول خصائص ، customHandler.httpمع القيم الافتراضية:
| الخاصية | ما الذي يفعله | القيمة الافتراضية |
|---|---|---|
enableProxying |
يتحكم في كيفية تعامل مضيف Azure Functions مع طلبات HTTP إلى المعالجات المخصصة. عندما enableProxying يتم تعيين على true، يعمل مضيف الوظائف كوكيل عكسي ويعيد توجيه طلب HTTP بالكامل (بما في ذلك الرؤوس، والجسم، ومعلمات الاستعلام) مباشرة إلى المعالج المخصص. يمنح هذا الإعداد المعالج المخصص وصولا كاملا إلى تفاصيل طلب HTTP الأصلية. عندما enableProxying يكون ، falseيعالج مضيف الوظائف الطلب أولا ويحوله إلى صيغة طلب/استجابة دوال Azure قبل تمريره إلى المعالج المخصص. |
false |
defaultAuthorizationLevel |
يتحكم في متطلبات المصادقة للوصول إلى نقاط نهاية المعالج المخصصة. على سبيل المثال، function يتطلب مفتاح API خاص بالوظيفة للوصول إليه. لمزيد من المعلومات، راجع مستويات التفويض. |
function |
route |
يحدد نمط مسار URL الذي يستجيب له المعالج المخصص.
{*route} تطابق أي مسار URL (مثل /، /mcp، /api/tools، أو /anything/nested/path) ويعيد توجيه الطلب إلى المعالج المخصص. |
{*route} |
المصادقة المدمجة على الخادم
المصادقة والتفويض المعتمدة على OAuth التي توفرها منصة App Service تنفذ متطلبات مواصفة تفويض MCP، مثل إصدار تحدي 401 وكشف وثيقة بيانات المورد المحمي (PRM). عند تفعيل المصادقة المدمجة، يتم إعادة توجيه العملاء الذين يحاولون الوصول إلى الخادم إلى مزودي الهوية مثل Microsoft Entra ID للمصادقة قبل الاتصال.
لمزيد من المعلومات، راجع إعداد تفويض الخوادم المدمج (المعاينة)واستضافة خوادم MCP على Azure Functions.
Azure الذكاء الاصطناعي Foundry Agents
يمكن تكوين الوكلاء في Azure الذكاء الاصطناعي Foundry لاستخدام الأدوات في خوادم MCP المستضافة في Azure Functions.
سجل سيرفرك في Azure API Center
عند تسجيل خادم MCP في مركز واجهة برمجة تطبيقات Azure، فإنك تقوم بإنشاء كتالوج أدوات تنظيمي خاص. يوصى بهذا النهج لمشاركة خوادم MCP عبر مؤسستك مع حوكمة واكتشاف متسقة. لمزيد من المعلومات، راجع تسجيل خوادم MCP المستضافة في Azure Functions في Azure API Center.
دعم المعاينة العامة
القدرة على استضافة خوادم MCP الخاصة بك المبنية على SDK في Functions حاليا قيد المعاينة وتدعم هذه الميزات:
- خوادم بدون حالة تستخدم النقل القابل للبث عبر HTTP. إذا كنت بحاجة إلى أن يكون خادمك مليا للحالة، فكر في استخدام إضافة Functions MCP.
- خوادم منفذة باستخدام SDKs Python أو TypeScript أو C# أو Java MCP.
- عند تشغيل المشروع محليا، يجب عليك استخدام أدوات Azure Functions الأساسية (
func startالأمر). لا يمكنك حاليا استخدامهF5لبدء التشغيل باستخدام المصحح. - يجب استضافة الخوادم كتطبيقات خطة استهلاك مرنة .
Samples
- التشغيل السريع
- البرنامج التعليمي
- التشغيل السريع
- البرنامج التعليمي
- التشغيل السريع
- البرنامج التعليمي
لم تتوفر بعد.