Trong năm 2025, chúng ta đã vượt xa mô hình tương tác đơn giản kiểu "prompt và phản hồi" với AI. Việc chỉ gửi một prompt tới GPT để nhận về một đoạn văn bản không còn đủ nữa. Các nhà phát triển hiện nay muốn có AI agent có khả năng hành động — đọc file, cập nhật cơ sở dữ liệu, truy xuất nội dung web, thậm chí là commit mã lên GitHub.
Đó là lúc Model Context Protocol (MCP) ra đời — một tiêu chuẩn mới do Anthropic giới thiệu, nhanh chóng được OpenAI và Google chấp nhận. MCP hoạt động như một cầu nối phổ quát giữa mô hình AI và các công cụ, mở ra thế hệ ứng dụng điều khiển bởi AI tiếp theo.
Bài viết này sẽ giúp bạn:
- Hiểu MCP là gì
- Cách sử dụng MCP trong ứng dụng .NET
- Xây dựng một AI agent thực tế với các công cụ như SQL và GitHub
- Các thực tiễn tốt nhất khi sử dụng MCP một cách an toàn và hiệu quả
MCP là gì?
Model Context Protocol (MCP) là một tiêu chuẩn mở cho phép các mô hình AI tương tác với công cụ bên ngoài theo cách có cấu trúc, an toàn, và chuẩn hóa.
Với MCP:
- Mô hình AI có thể yêu cầu hành động (VD: "Đọc bảng dữ liệu này")
- Ứng dụng của bạn cung cấp giao diện công cụ để mô hình gọi
- Mô hình nhận phản hồi từ công cụ và tiếp tục thực hiện tác vụ
👉 Hãy hình dung MCP như một ngôn ngữ giao tiếp giữa AI và hệ sinh thái ứng dụng của bạn — một kiến trúc plug-and-play, nơi mô hình có thể “nói chuyện” với codebase, database, API, filesystem và nhiều hơn nữa.
Tại sao lập trình viên .NET nên quan tâm?
Ứng dụng .NET chiếm phần lớn hệ thống phần mềm doanh nghiệp, và giờ đây bạn có thể mở rộng chúng với các năng lực thông minh nhờ:
- Assistants API của OpenAI hỗ trợ MCP
- Azure OpenAI tích hợp tính năng gọi công cụ (tool calling)
- Các agent tự host tuân thủ đặc tả MCP
Nếu bạn đang xây dựng ứng dụng:
- Dựa trên microservice
- Tích hợp API doanh nghiệp
- Chạy DevOps pipeline
- Hoặc công cụ nội bộ
→ MCP có thể giúp AI hóa mọi lớp trong hệ thống của bạn.
Hướng dẫn sử dụng MCP trong .NET (Demo)
Hãy cùng tạo một AI Agent đơn giản có thể:
- Đọc dữ liệu khách hàng từ cơ sở dữ liệu
- Tóm tắt các vấn đề hỗ trợ gần đây
- Tạo báo cáo và đẩy lên GitHub
Yêu cầu cài đặt:
- .NET 8 hoặc .NET 10
- Azure OpenAI hoặc OpenAI API (GPT-4-turbo hỗ trợ tool-calling)
- Cơ sở dữ liệu SQL (MSSQL hoặc SQLite)
- GitHub PAT (Personal Access Token)
Các bước triển khai
1. Định nghĩa công cụ truy vấn cơ sở dữ liệu
public class CustomerQueryTool : ITool
{ public string Name => "query_customers"; public string Description => "Query recent support tickets from database"; public Task<string> ExecuteAsync(string input) { var issues = dbContext.SupportTickets .OrderByDescending(x => x.CreatedAt) .Take(5) .Select(x => x.Description) .ToList(); return Task.FromResult(JsonConvert.SerializeObject(issues)); }
}
2. Tạo công cụ ghi dữ liệu lên GitHub
public class GitHubWriterTool : ITool
{ public Task<string> ExecuteAsync(string inputJson) { var client = new GitHubClient(new ProductHeaderValue("MCPDemo")); client.Credentials = new Credentials("YOUR_PAT"); var content = JsonConvert.DeserializeObject<SummaryData>(inputJson); var newFile = client.Repository.Content.CreateFile( "your-user/your-repo", $"report-{DateTime.UtcNow:yyyyMMdd}.md", new CreateFileRequest("Auto-generated report", content.Text)); return Task.FromResult("Pushed to GitHub"); }
}
3. Đăng ký công cụ với AI Assistant
var assistant = new GptAgent("gpt-4", apiKey);
assistant.RegisterTool(new CustomerQueryTool());
assistant.RegisterTool(new GitHubWriterTool()); string result = await assistant.HandleQueryAsync("Summarize customer issues and create report.");
Console.WriteLine(result);
Bạn vừa tạo một agent có thể:
- Đọc dữ liệu từ cơ sở dữ liệu
- Tóm tắt nội dung bằng GPT
- Tạo báo cáo và đẩy lên GitHub
Bảo mật & Best practice
- Cách ly công cụ – Không nên cho AI truy cập toàn bộ hệ thống file hoặc bí mật hệ thống
- Giới hạn tần suất gọi công cụ – Tránh việc lạm dụng hoặc vòng lặp vô hạn
- Xác thực input/output – Không bao giờ tin tưởng hoàn toàn vào hành động do AI đề xuất
- Ghi log các lần gọi tool – Phục vụ kiểm tra, phân tích lỗi
- Tách riêng logic công cụ khỏi business logic – Dễ bảo trì và bảo mật hơn
Tương lai của MCP trong .NET
- Tích hợp sâu với Azure: API Azure sẽ sớm hỗ trợ native model agent trong Azure Functions
- Bộ công cụ MCP cho .NET: Một thư viện NuGet chuẩn có thể sẽ xuất hiện
- Workflow lai: Kết hợp AI và con người thông qua Power Automate, Logic Apps...
Tổng kết
MCP đang mở ra cách tiếp cận hoàn toàn mới cho việc tích hợp AI với công cụ thực tế — và .NET đang ở vị trí hoàn hảo để tận dụng làn sóng này.
Dù bạn đang xây dashboard nội bộ, CI bot, hay trợ lý thông minh, MCP cho phép bạn:
- Mở rộng GPT với quyền truy cập công cụ
- Duy trì ranh giới bảo mật
- Xây dựng dịch vụ AI dạng plug-and-play trong .NET
Cảm ơn các bạn đã theo dõi!