Model Context Protocol (MCP): Tiêu chuẩn kết nối tool
MCP là giao thức chuẩn giúp AI kết nối với database, API, file system dễ dàng như cắm USB. Tìm hiểu cách setup MCP server và xây dựng hệ thống tool cho AI ag...
Định nghĩa
Model Context Protocol (MCP) là giao thức mở do Anthropic phát triển, cho phép AI kết nối với nguồn dữ liệu và tool bên ngoài thông qua một interface chuẩn hóa — tương tự như cách USB chuẩn hóa kết nối thiết bị với máy tính, không cần loại cáp riêng cho từng hãng.
Giải thích chi tiết
Vấn đề MCP giải quyết
Trước MCP, nếu muốn cho Claude hoặc ChatGPT đọc file trong máy, query database PostgreSQL, hoặc gửi message Slack, developer phải viết code tích hợp riêng cho từng tool. Mỗi AI client (IDE, chatbot app) cũng phải implement lại từ đầu. MCP tạo ra "cổng kết nối chung" — một server chuẩn hóa có thể dùng cho nhiều AI host khác nhau.
Kiến trúc ba thành phần
MCP chia thành:
- MCP Hosts: Ứng dụng AI như Claude Desktop, Cursor, hoặc IDE tích hợp AI.
- MCP Clients: Thành phần trong host duy trì kết nối một-một với server.
- MCP Servers: Chương trình nhỏ cung cấp capability (tool, resource, prompt) cho AI.
Giao tiếp qua JSON-RPC 2.0, transport qua stdio (local) hoặc HTTP với SSE (remote).
Ba loại capability
- Tools: Hàm AI có thể gọi (function calling) — ví dụ:
query_database(),send_email(). - Resources: Dữ liệu chỉ đọc mà AI có thể tham khảo — ví dụ: file log, schema DB, tài liệu.
- Prompts: Template prompt có thể tái sử dụng được định nghĩa sẵn.
Lợi ích cốt lõi
- Vendor-agnostic: Server viết một lần, dùng cho Claude, OpenAI, Gemini đều được.
- Local-first: Chạy trên máy local, dữ liệu không qua cloud nếu không cần.
- Discovery: AI tự động "nhìn thấy" tool available và học cách dùng qua description.
Ví dụ thực tế
Claude Desktop + Database nội bộ
Cài MCP server postgres vào Claude Desktop config. Người dùng chat: "Tổng hợp doanh thu tháng này". Claude tự gọi tool query_database, lấy kết quả, rồi trả lời bằng tiếng Việt — không cần export CSV thủ công.
Workflow: Slack notification khi PR được merge
Dùng MCP server cho GitHub và Slack. Prompt: "Khi có PR merge vào main, gửi summary vào channel #dev-updates". AI sẽ dùng tool get_recent_merged_pr rồi gọi send_slack_message — tất cả qua một interface chuẩn.
Tự xây MCP server cho hệ thống nội bộ
Ví dụ công ty có API quản lý inventory. Viết MCP server bằng TypeScript:
// Simplified example
const server = new Server({
name: "inventory-server",
version: "1.0.0"
}, {
capabilities: { tools: {} }
});
server.setRequestHandler(ListToolsRequestSchema, async () => ({
tools: [{
name: "check_stock",
description: "Kiểm tra tồn kho sản phẩm",
inputSchema: { /* ... */ }
}]
}));Ứng dụng
Developer xây dựng AI agent
Thay vì viết wrapper API cho từng tool, developer chỉ cần implement MCP server một lần. Agent dùng Claude SDK có thể khám phá và gọi tool tự động, giảm 80% boilerplate code.
Doanh nghiệp tích hợp hệ thống legacy
Công ty có nhiều hệ thống cũ (ERP, CRM nội bộ). Viết MCP server cho từng hệ thống, AI assistant có thể truy cập dữ liệu thực tế mà không cần migrate hệ thống.
Data Analyst tự động hóa báo cáo
Kết nối MCP với BI tools hoặc database warehouse. Analyst hỏi AI: "Vẽ biểu đồ xu hướng bán hàng Q3", AI tự query, tạo visualization, lưu vào drive.
So sánh
| Đặc điểm | MCP | Function Calling truyền thống | OpenAI Plugins |
|---|---|---|---|
| Cách triển khai | Server độc lập, chạy local | Code nhúng trong app | Cloud API, vendor lock-in |
| Khả năng tương thích | Universal (Anthropic, OpenAI, v.v.) | Tích hợp từng provider | Chỉ OpenAI |
| Hướng data | 2 chiều: AI gọi tool + đọc resource | 1 chiều: AI gọi hàm | Chủ yếu 1 chiều |
| Bảo mật | Local-first, user kiểm soát | Phụ thuộc app | Cloud-based |
| Discovery | Tự động, AI nhìn thấy tool | Hard-coded | Pre-configured |
MCP không thay thế function calling — nó là lớp abstraction chuẩn hóa để function calling trở nên portable và reusable giữa các AI model khác nhau.
Bài viết liên quan
Cùng cụm
Function Calling: Cho AI dùng tools
Hiểu cơ chế AI gọi hàm trước khi triển khai MCP
Thiết kế Tool cho AI: Tên, mô tả, parameters
Cách đặt tên và mô tả tool để MCP server hiệu quả
Multi-tool Orchestration: AI dùng nhiều tool cùng lúc
Kết hợp nhiều MCP server để xây dựng workflow phức tạp
Đọc tiếp
Context Engineering thực chiến
Áp dụng MCP vào pipeline context thực tế trong sản phẩm
Tool & Permission Design
Lên Level 2: Thiết kế permission và bảo mật cho tool system
Thiết kế Tool cho AI: Tên, mô tả, parameters
Cách đặt tên tool, viết description và thiết kế parameters để AI gọi chính xác. Best practice từ OpenAI, Anthropic và thực chiến Function Calling.
Multi-tool Orchestration: AI dùng nhiều tool cùng lúc
Khi một tool không đủ, AI cần orchestrate nhiều tool liên tiếp hoặc song song. Tìm hiểu cách thiết kế workflow phức tạp với dependency và xử lý lỗi.