كيفية استخدام خوادم Azure Functions MCP (دليل للمبتدئين)

@apidog

@apidog

7 نوفمبر 2025

كيفية استخدام خوادم Azure Functions MCP (دليل للمبتدئين)

Apidog للمؤسسات

النشر على الخوادم المحلية

SSO و RBAC

متوافق مع SOC 2

استكشف Apidog للمؤسسات

بروتوكول سياق النموذج (MCP) هو معيار ناشئ يمكّن التطبيقات من توفير السياق والقدرات لنماذج اللغة الكبيرة (LLMs). تتمثل إحدى الميزات الرئيسية لـ MCP في قدرتها على تعريف الأدوات التي يمكن لوكلاء الذكاء الاصطناعي الاستفادة منها لإنجاز المهام. يربط Azure Functions MCP بين الحوسبة السحابية بدون خوادم وقدرات المساعدين الذكيين، مما يتيح للمطورين بناء أدوات قابلة للتوسع يمكن الوصول إليها من قبل وكلاء الذكاء الاصطناعي.

في هذا الدليل، سنستكشف ما هو Azure Functions MCP، وكيفية تثبيته، وكيفية بدء خادم MCP، وكيفية استخدامه مع GitHub Copilot. بنهاية هذا الدليل، سيكون لديك خادم MCP وظيفي يعمل يمكن لوكلاء الذكاء الاصطناعي الوصول إليه لأداء مهام مفيدة.

نصيحة احترافية: عند بناء خوادم MCP الخاصة بك، ستحتاج إلى اختبار نقاط النهاية لواجهة برمجة التطبيقات (API) بدقة. أوصي بشدة بتجربة Apidog - إنه أفضل بديل لبرنامج Postman الذي وجدته لاختبار وتطوير واجهات برمجة التطبيقات.

زر

على عكس أدوات واجهة برمجة التطبيقات التقليدية، يقدم Apidog خوادم وهمية مدمجة، واختبار تلقائي، ومساحة عمل تعاونية تكون مفيدة بشكل خاص عند العمل مع الهياكل المعتمدة على الأحداث مثل Azure Functions.

زر

ستكون القدرة على تصور تدفقات SSE في الوقت الفعلي ذات قيمة كبيرة أثناء تصحيح تطبيقات خادم MCP الخاصة بك. يمكنك الحصول عليها من apidog.com لتبسيط سير عمل تطويرك.

زر

ما هو خادم Azure Functions MCP؟

خادم Azure Functions MCP هو ميزة معاينة تجريبية تضيف دعم بروتوكول سياق النموذج (MCP) إلى Azure Functions، حل الحوسبة بدون خوادم من Microsoft. يقدم المشغلات وربطًا متخصصين مصممين خصيصًا لإنشاء أدوات يمكن لوكلاء الذكاء الاصطناعي استخدامها عبر MCP.

تسمح هذه التكاملات للمطورين ببناء خوادم MCP عن بعد بمقياس سحابي يمكن لوكلاء الذكاء الاصطناعي الاستفادة منها مثل تلك الموجودة في GitHub Copilot. يوفر Azure Functions MCP طريقة سلسة لتطوير أدوات مساعدة ذكية تعتمد على الأحداث وتقوم بالتوسع التلقائي عبر بيئات Python و Node.js (TypeScript) و .NET (C#).

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

كيفية تثبيت خادم Azure Functions MCP

دعونا نستعرض الخطوات لتثبيت وتكوين Azure Functions MCP:

المتطلبات الأساسية

  1. Visual Studio Code
  2. Tools Core لـ Azure Functions
  3. .NET SDK 6.0 أو أحدث (لتطوير C#)
  4. Node.js (لتطوير TypeScript)
  5. Python 3.8 أو أحدث (لتطوير Python)
  6. Azure CLI (للنشر إلى Azure)

خطوات التثبيت

إنشاء مشروع Azure Functions: ابدأ بإنشاء مشروع Azure Functions جديد بلغة تفضلها. يمكنك اتباع وثائق Azure Functions الخاصة بـ Visual Studio Code لإنشاء مشروع.

إضافة ملحق MCP:

لـ C#:

dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Mcp --version 1.0.0-preview.1

بالنسبة لـ Python و Node.js، ستحتاج إلى إضافة حزمة ملحق تجريبية إلى ملف host.json الخاص بك:

"extensionBundle": {
  "id": "Microsoft.Azure.Functions.ExtensionBundle.Experimental",
  "version": "[4.*, 5.0.0)"
}

تثبيت Azurite (للتطوير المحلي): حيث إن ملحق MCP يستخدم تخزين blob، ستحتاج إلى تشغيل Azurite، المحاكي لتخزين Azure، محليًا:

افتح لوحة الأوامر (Shift + Ctrl + P)

اختر "Azurite: Start"

قم بتحديث ملف local.settings.json لاستخدامه:

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated"
  }
}

كيفية بدء خادم Azure Functions MCP

الآن بعد أن قمت بتثبيت ملحق MCP، دعنا ننشئ ونشغل خادم MCP:

إنشاء أداة MCP

إليك مثال عن كيفية إنشاء أداة بسيطة للوقت في C#:

using Microsoft.Azure.Functions.Worker;
using Microsoft.Azure.Functions.Worker.Extensions.Mcp;
using System.Globalization;
using System.Text.Json;

namespace AzfuncMcp;

public class TimeUtil
{
    [Function(nameof(GetCurrentTime))]
    public string GetCurrentTime(
        [McpToolTrigger("getcurrenttime", "يحصل على الوقت الحالي. إذا لم يتم تحديد منطقة زمنية، ستعيد الأداة الوقت بتنسيق UTC.")] ToolInvocationContext context,
        [McpToolProperty("timezone", "string", "اسم المنطقة الزمنية.")] string timezone = "UTC")
    {
        try
        {
            TimeZoneInfo timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById(timezone);
            DateTime currentTime = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, timeZoneInfo);

            var response = new {
                timezone = timeZoneInfo.StandardName,
                time = currentTime.ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture),
                displayName = timeZoneInfo.DisplayName
            };

            return JsonSerializer.Serialize(response);
        }
        catch (TimeZoneNotFoundException)
        {
            return $"لم يتم العثور على المنطقة الزمنية '{timezone}'.";
        }
        catch (InvalidTimeZoneException)
        {
            return $"المنطقة الزمنية '{timezone}' غير صالحة.";
        }
        catch
        {
            return "لم أتمكن من الحصول على الوقت الحالي.";
        }
    }
}

تكوين Program.cs لـ MCP

قم بتحديث ملف Program.cs الخاص بك لتسجيل أداة MCP:

using Microsoft.Azure.Functions.Worker.Builder;
using Microsoft.Extensions.Hosting;
using AzfuncMcp;

var builder = FunctionsApplicationBuilder.CreateBuilder(args);
builder.ConfigureFunctionsWebApplication();
builder.EnableMcpToolMetadata();
builder.ConfigureMcpTool(nameof(TimeUtil.GetCurrentTime))
    .WithProperty("timezone", "string", "المنطقة الزمنية.");

builder.Build().Run();

بدء الخادم

لبدء خادم MCP محليًا:

تأكد من تشغيل Azurite.

افتح نافذة الأوامر في دليل مشروعك.

نفذ هذا الأمر:

func start

أو استخدم ميزات تصحيح Visual Studio Code:

بمجرد البدء، سيكون خادم MCP الخاص بك قابلًا للوصول على: http://localhost:7071/runtime/webhooks/mcp/sse

كيفية استخدام خادم Azure Functions MCP مع GitHub Copilot

الآن بعد أن يعمل خادم MCP الخاص بك، دعنا نوصله بـ GitHub Copilot:

تكوين GitHub Copilot لاستخدام خادم MCP الخاص بك

أضف خادم MCP الخاص بك إلى VS Code:

تحقق من التكوين: يجب أن يتم تحديث ملف settings.json في مساحة عمل VS Code الخاصة بك بشيء مثل:

"mcp": {
  "inputs": [],
  "servers": {
    "my-azfunc-mcp-server": {
      "type": "sse",
      "url": "<http://localhost:7071/runtime/webhooks/mcp/sse>"
    }
  }
}

قم بإزالة خوادم نموذجية إذا لزم الأمر: إذا كانت هناك أي خوادم نموذجية تم تكوينها مسبقًا (مثل "mcp-server-time")، قد ترغب في إزالتها لتفادي التعارض مع تطبيقك.

استخدام خادم MCP الخاص بك مع GitHub Copilot

  1. افتح دردشة GitHub Copilot:
  1. قم بتمكين خادم MCP الخاص بك:
  1. تفاعل مع أداتك:
  1. راقب وظيفتك في العمل: إذا كنت تعمل في وضع التصحيح، يمكنك تعيين نقاط توقف في وظيفتك ورؤيتها تُنفذ عندما يستدعي GitHub Copilot أداتك.

نشر إلى Azure

للاستخدام في الإنتاج، سترغب في نشر خادم MCP الخاص بك إلى Azure:

نشر تطبيق الوظيفة الخاصة بك باستخدام أدوات Azure Functions Core أو Azure Developer CLI:

func azure functionapp publish <اسم تطبيق الوظيفة الخاص بك>

أو

azd up

تكوين عميل MCP مع المصادقة: عند الوصول إلى وظيفة Azure التي تم نشرها، ستحتاج إلى تقديم المصادقة. قم بتحديث ملف settings.json الخاص بك:

"mcp": {
  "inputs": [
    {
      "type": "promptString",
      "id": "functions-mcp-extension-system-key",
      "description": "مفتاح نظام ملحق Azure Functions MCP",
      "password": true
    }
  ],
  "servers": {
    "my-azfunc-mcp-server": {
      "type": "sse",
      "url": "<اسم التطبيق الخاص بك>.azurewebsites.net/runtime/webhooks/mcp/sse",
      "headers": {
        "x-functions-key": "${input:functions-mcp-extension-system-key}"
      }
    }
  }
}

احصل على مفتاح الوظيفة الخاصة بك:

حالات استخدام المثال

يمكن استخدام Azure Functions MCP لمجموعة متنوعة من السيناريوهات:

  1. إدارة مقتطفات الشيفرة: إنشاء أدوات لحفظ واسترجاع مقتطفات الشيفرة
  2. استرجاع البيانات: الوصول إلى قواعد البيانات أو واجهات برمجة التطبيقات لجلب معلومات محددة
  3. عمليات حسابية: إجراء حسابات معقدة يصعب القيام بها من قبل LLM
  4. دمج النظام الخارجي: الاتصال بأنظمة أو واجهات برمجة تطبيقات أو خدمات المؤسسات

القيود والاعتبارات

الخاتمة

يوفر Azure Functions MCP طريقة قوية لتوسيع وكلاء الذكاء الاصطناعي بأدوات مخصصة يمكن أن تستفيد من القوة الكاملة لنظام Azure البيئي. من خلال اتباع هذا الدليل، تعلمت كيف تثبت وتكوّن وتستخدم Azure Functions MCP مع GitHub Copilot.

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

تذكر أن MCP معيار يتطور، وأن Azure Functions MCP في مرحلة المعاينة، لذا ترقب الوثائق الرسمية ومنتديات المجتمع للحصول على تحديثات وأفضل الممارسات.

الموارد

من خلال اتباع هذا الدليل، لديك الآن المعرفة للاستفادة من Azure Functions MCP لإنشاء أدوات قوية يمكن استخدامها من قبل وكلاء الذكاء الاصطناعي عبر GitHub Copilot وواجهات تدعم MCP الأخرى.

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات