Giao thức Ngữ cảnh Mô hình (MCP) là một tiêu chuẩn đang nổi lên cho phép các ứng dụng cung cấp ngữ cảnh và khả năng cho các mô hình ngôn ngữ lớn (LLMs). Một tính năng chính của MCP là khả năng định nghĩa các công cụ mà các tác nhân AI có thể tận dụng để hoàn thành các nhiệm vụ. Azure Functions MCP thu hẹp khoảng cách giữa điện toán đám mây không máy chủ và khả năng trợ lý AI, cho phép các nhà phát triển xây dựng các công cụ có thể mở rộng mà các tác nhân AI có thể truy cập.
Trong hướng dẫn này, chúng ta sẽ khám phá Azure Functions MCP là gì, cách cài đặt nó, cách khởi động máy chủ MCP và cách sử dụng nó với GitHub Copilot. Đến cuối hướng dẫn này, bạn sẽ có một máy chủ MCP hoạt động mà các tác nhân AI có thể truy cập để thực hiện các nhiệm vụ hữu ích.
Mẹo Pro: Khi xây dựng các máy chủ MCP của bạn, bạn sẽ cần kiểm tra kỹ lưỡng các điểm cuối API đó. Tôi rất khuyến nghị bạn thử Apidog—đây là lựa chọn tốt nhất mà tôi đã tìm thấy cho việc kiểm tra và phát triển API.

Khác với các công cụ API truyền thống, Apidog cung cấp các máy chủ giả lập tích hợp, kiểm tra tự động và một không gian làm việc hợp tác rất hữu ích khi làm việc với các kiến trúc dựa trên sự kiện như Azure Functions.

Khả năng hình dung các luồng SSE theo thời gian thực sẽ rất quý giá khi bạn gỡ lỗi các triển khai máy chủ MCP của mình. Bạn có thể tải nó từ apidog.com để tối ưu hóa quy trình phát triển của mình.
Azure Functions MCP Server là gì?
Azure Functions MCP Server là một tính năng xem trước thử nghiệm thêm hỗ trợ Giao thức Ngữ cảnh Mô hình (MCP) vào Azure Functions, giải pháp điện toán không máy chủ của Microsoft. Nó giới thiệu các kích hoạt và ràng buộc chuyên dụng, được thiết kế đặc biệt để tạo ra các công cụ mà các tác nhân AI có thể sử dụng qua MCP.

Tích hợp này cho phép các nhà phát triển xây dựng các máy chủ MCP từ xa quy mô đám mây với các sự kiện gửi từ máy chủ (SSE) mà có thể được các mô hình AI như GitHub Copilot tận dụng. Azure Functions MCP cung cấp một cách liền mạch để phát triển các công cụ hỗ trợ AI tự động mở rộng, dựa trên sự kiện trên các môi trường Python, Node.js (TypeScript) và .NET (C#).
Thành phần chính là kích hoạt công cụ MCP, cho phép các hàm hoạt động như các công cụ với các thuộc tính đã được xác định mà các tác nhân AI có thể khám phá và gọi dựa trên ngữ cảnh.
Cách Cài đặt Azure Functions MCP Server
Hãy cùng đi qua các bước để cài đặt và cấu hình Azure Functions MCP:
Yêu cầu trước
- Visual Studio Code
- Các công cụ lõi Azure Functions
- .NET SDK 6.0 hoặc mới hơn (cho phát triển C#)
- Node.js (cho phát triển TypeScript)
- Python 3.8 hoặc mới hơn (cho phát triển Python)
- Azure CLI (cho triển khai lên Azure)
Các bước cài đặt
Tạo một dự án Azure Functions: Bắt đầu bằng cách tạo một dự án Azure Functions mới trong ngôn ngữ bạn ưa thích. Bạn có thể theo dõi tài liệu Azure Functions cho Visual Studio Code để tạo một dự án.
Thêm phần mở rộng MCP:
Đối với C#:
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Mcp --version 1.0.0-preview.1
Đối với Python và Node.js, bạn sẽ cần thêm một gói phần mở rộng thử nghiệm vào tệp host.json của bạn:
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Experimental",
"version": "[4.*, 5.0.0)"
}
Cài đặt Azurite (cho phát triển địa phương): Vì phần mở rộng MCP sử dụng lưu trữ blob, bạn sẽ cần chạy Azurite, trình mô phỏng lưu trữ Azure, trên máy bạn:
Mở bảng điều khiển lệnh (Shift + Ctrl + P)
Chọn "Azurite: Bắt đầu"
Cập nhật tệp local.settings.json của bạn để sử dụng nó:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated"
}
}
Cách Khởi động Azure Functions MCP Server
Bây giờ bạn đã cài đặt phần mở rộng MCP, hãy tạo và chạy một máy chủ MCP:
Tạo một Công cụ MCP
Dưới đây là một ví dụ về việc tạo một công cụ tiện ích thời gian đơn giản trong 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", "Lấy thời gian hiện tại. Nếu không có múi giờ nào được chỉ định, công cụ sẽ trả về thời gian ở UTC.")] ToolInvocationContext context,
[McpToolProperty("timezone", "string", "Tên của múi giờ.")] 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 $"Múi giờ '{timezone}' không được tìm thấy.";
}
catch (InvalidTimeZoneException)
{
return $"Múi giờ '{timezone}' không hợp lệ.";
}
catch
{
return "Không thể lấy thời gian hiện tại.";
}
}
}
Cấu hình Program.cs cho MCP
Cập nhật tệp Program.cs của bạn để đăng ký công cụ 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", "Múi giờ.");
builder.Build().Run();
Khởi động máy chủ
Để khởi động máy chủ MCP trên địa phương:
Đảm bảo Azurite đang chạy.
Mở một terminal trong thư mục dự án của bạn.
Chạy lệnh này:
func start
Hoặc sử dụng tính năng gỡ lỗi của Visual Studio Code:
- Mở chế độ "Chạy và Gỡ lỗi"
- Chọn "Gắn vào .NET Functions"
- Nhấn F5 hoặc nhấp vào nút phát xanh
Khi đã khởi động, máy chủ MCP của bạn sẽ có thể truy cập tại: http://localhost:7071/runtime/webhooks/mcp/sse
Cách Sử dụng Azure Functions MCP Server với GitHub Copilot
Bây giờ máy chủ MCP của bạn đang chạy, hãy kết nối nó với GitHub Copilot:
Cấu hình GitHub Copilot để Sử dụng Máy chủ MCP của Bạn
Thêm máy chủ MCP của bạn vào VS Code:
- Mở Bảng điều khiển lệnh (Shift + Ctrl + P)
- Nhập và chọn "MCP: Thêm Máy chủ"

- Chọn tùy chọn "HTTP (sự kiện gửi từ máy chủ)"

- Nhập URL:
http://localhost:7071/runtime/webhooks/mcp/sse
- Đặt tên cho máy chủ của bạn (ví dụ, "my-azfunc-mcp-server")
Xác minh cấu hình: Tệp settings.json trong không gian làm việc của bạn trong VS Code nên được cập nhật với một cái gì đó giống như:
"mcp": {
"inputs": [],
"servers": {
"my-azfunc-mcp-server": {
"type": "sse",
"url": "<http://localhost:7071/runtime/webhooks/mcp/sse>"
}
}
}
Xóa máy chủ mẫu nếu cần: Nếu có bất kỳ máy chủ mẫu nào đã được cấu hình trước (như "mcp-server-time"), bạn có thể muốn xóa chúng để tránh xung đột với triển khai của bạn.
Sử dụng Máy chủ MCP của Bạn với GitHub Copilot
- Mở GitHub Copilot Chat:
- Đảm bảo chế độ được đặt ở chế độ "Agent" (điều này rất quan trọng cho chức năng MCP)
- Kích hoạt máy chủ MCP của bạn:
- Nhấp vào biểu tượng cài đặt MCP (biểu tượng cờ lê và tua vít)
- Đảm bảo máy chủ MCP đã thêm của bạn đang được bật
- Tương tác với công cụ của bạn:
- Trong cửa sổ trò chuyện, hỏi một câu hỏi sẽ yêu cầu công cụ MCP của bạn
- Ví dụ, với công cụ tiện ích thời gian của chúng tôi, bạn có thể hỏi "Bây giờ là mấy giờ?" hoặc "Bây giờ là mấy giờ ở Tokyo?"
- GitHub Copilot sẽ nhắc bạn cho phép sử dụng công cụ MCP bên ngoài
- Sau khi nhấp vào "Tiếp tục", Copilot sẽ gọi công cụ MCP của bạn và hiển thị kết quả
- Theo dõi chức năng của bạn đang hoạt động: Nếu bạn đang chạy trong chế độ gỡ lỗi, bạn có thể đặt điểm dừng trong chức năng của mình và thấy chúng được kích hoạt khi GitHub Copilot gọi công cụ của bạn.
Triển khai lên Azure
Đối với sử dụng sản xuất, bạn sẽ muốn triển khai máy chủ MCP của mình lên Azure:
Triển khai ứng dụng hàm của bạn sử dụng Azure Functions Core Tools hoặc Azure Developer CLI:
func azure functionapp publish <your-function-app-name>
hoặc
azd up
Cấu hình khách hàng MCP với xác thực: Khi truy cập một Azure Function đã triển khai, bạn sẽ cần cung cấp xác thực. Cập nhật tệp settings.json của bạn:
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "functions-mcp-extension-system-key",
"description": "Khóa Hệ thống Mở rộng Azure Functions MCP",
"password": true
}
],
"servers": {
"my-azfunc-mcp-server": {
"type": "sse",
"url": "<your-app-name>.azurewebsites.net/runtime/webhooks/mcp/sse",
"headers": {
"x-functions-key": "${input:functions-mcp-extension-system-key}"
}
}
}
}
Lấy khóa hàm của bạn:
- Đi tới ứng dụng hàm của bạn trong Azure Portal
- Truy cập vào Ứng dụng Khóa
- Sao chép khóa hệ thống
mcp_extension
Các Trường Hợp Sử Dụng Ví Dụ
Azure Functions MCP có thể được sử dụng cho nhiều kịch bản khác nhau:
- Quản lý đoạn mã: Tạo công cụ để lưu trữ và lấy các đoạn mã
- Lấy dữ liệu: Truy nhập cơ sở dữ liệu hoặc API để lấy thông tin cụ thể
- Tính toán: Thực hiện các phép tính phức tạp không dễ dàng thực hiện bởi LLM
- Tích hợp hệ thống bên ngoài: Kết nối với các hệ thống doanh nghiệp, API hoặc dịch vụ
Giới Hạn và Cân Nhắc
- Đây là một bản xem trước thử nghiệm sớm, vì vậy mong đợi các thay đổi gây ảnh hưởng khi tính năng phát triển.
- Tại thời điểm viết, hosting Azure Functions trên Windows có thể gặp sự cố với MCP; việc hosting trên Linux được khuyến nghị.
- Mặc dù MCP hiện hỗ trợ các công cụ, các tính năng khác như các nhắc nhở sẽ được thêm theo thời gian.
- Vì đây là một tính năng xem trước, nó chưa đủ điều kiện cho các kế hoạch hỗ trợ tiêu chuẩn của Azure.
Kết Luận
Azure Functions MCP cung cấp một cách mạnh mẽ để mở rộng các tác nhân AI với các công cụ tùy chỉnh có thể tận dụng toàn bộ sức mạnh của hệ sinh thái Azure. Bằng cách làm theo hướng dẫn này, bạn đã học cách cài đặt, cấu hình và sử dụng Azure Functions MCP với GitHub Copilot.
Khi MCP ngày càng được áp dụng rộng rãi, việc có những kỹ năng này sẽ giúp bạn xây dựng các ứng dụng AI ngày càng tinh vi hơn, kết hợp khả năng suy luận của các mô hình ngôn ngữ lớn với khả năng thực thi của mã tùy chỉnh của bạn.
Hãy nhớ rằng MCP là một tiêu chuẩn đang phát triển, và Azure Functions MCP hiện đang trong giai đoạn xem trước, vì vậy hãy theo dõi tài liệu chính thức và các diễn đàn cộng đồng để nhận thông tin cập nhật và các thực tiễn tốt nhất.
Tài Nguyên
- Thông báo chính thức về Azure Functions MCP
- Ví dụ Azure Functions MCP trên GitHub
- Ví dụ triển khai máy chủ MCP
- Tài liệu Azure Functions
- Tài liệu GitHub Copilot
Bằng cách làm theo hướng dẫn này, bạn giờ đây có kiến thức để tận dụng Azure Functions MCP để tạo ra các công cụ mạnh mẽ có thể được các tác nhân AI sử dụng thông qua GitHub Copilot và các giao diện tương thích MCP khác.