Model Context Protocol (MCP)
Khái niệm cơ bản
Tưởng tượng thế giới trước USB-C…
- Trước: Mỗi thiết bị cần dây sạc riêng (iPhone dùng Lightning, Android dùng Micro-USB, laptop dùng barrel plug).
- Sau USB-C: Một dây sạc cho tất cả. Mua dây một lần, dùng mọi nơi.
MCP = USB-C cho thế giới AI.
Trước MCP, mỗi ứng dụng AI phải tự viết code để kết nối với Google Drive, Slack, GitHub… Giờ đây, viết “driver” (MCP Server) một lần, dùng cho tất cả AI apps.

Vấn đề mà MCP giải quyết
| Vấn đề | Trước MCP | Sau MCP |
|---|---|---|
| Integration | Mỗi AI app viết riêng | Viết 1 server, dùng mọi nơi |
| Maintenance | API thay đổi = sửa N apps | API thay đổi = sửa 1 server |
| Data Security | Gửi data lên cloud | Server chạy local, data không rời máy |
| Ecosystem | Mỗi app tự build | Hàng trăm servers có sẵn |
Kiến trúc MCP (3 thành phần)
┌─────────────────────────────────────────────────────────────┐
│ MCP HOST │
│ (Claude Desktop, Zed Editor, Cursor, Gemini CLI...) │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Client 1 │ │ Client 2 │ │ Client 3 │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
└────────┼───────────────┼───────────────┼────────────────────┘
│ │ │
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ Server: │ │ Server: │ │ Server: │
│Filesystem│ │ Postgres │ │ Slack │
└──────────┘ └──────────┘ └──────────┘1. MCP Host
Ứng dụng nơi user tương tác (Claude Desktop, IDE). → Chi tiết
2. MCP Client
Protocol layer nằm trong Host, kết nối 1:1 với Server. → Chi tiết
3. MCP Server
Nơi cung cấp data (Resources), công cụ (Tools), và templates (Prompts). → Chi tiết
MCP Server cung cấp gì?
Mỗi server có thể expose 3 loại “primitives”:
| Primitive | Chức năng | Ví dụ |
|---|---|---|
| Resources | Dữ liệu để AI đọc | Files, DB records, API responses |
| Tools | Hàm để AI gọi | send_email(), query_db() |
| Prompts | Templates có sẵn | ”Summarize this”, “Debug code” |
Tại sao Developer nên quan tâm?
1. AI có thể truy cập local data
User: "Tóm tắt report Q4 trong folder Downloads"
Claude + MCP Filesystem Server:
→ Đọc file ~/Downloads/report_q4.pdf
→ Tóm tắt nội dung
→ Trả lời user2. Không cần chia sẻ API keys với AI provider
Server chạy local trên máy bạn. Claude Desktop chỉ gửi “lệnh” đến server, không thấy credentials.
3. Hệ sinh thái đã có sẵn
- File system - Đọc/ghi files
- PostgreSQL - Query database
- GitHub - Tạo PR, đọc code
- Slack - Đọc/gửi tin nhắn
- Google Drive - Access docs
- Sentry - Xem lỗi production
- Và hàng trăm server khác…
Quick Start (5 phút)
Bước 1: Cài Claude Desktop
Download từ claude.ai/download
Bước 2: Thêm server vào config
Mở file config:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/yourname/Documents"
]
}
}
}Bước 3: Restart Claude Desktop
Bạn sẽ thấy icon 🔌 trong khung chat. Hỏi: “Liệt kê các file trong Documents”
Bài tập thực hành: Setup MCP Filesystem
Mục tiêu
Cho Claude đọc và phân tích files trên máy bạn.
Bước thực hiện
- Cài Claude Desktop
- Tạo folder test:
~/mcp_test/ - Thêm vài files vào folder (txt, md, json)
- Config MCP server như hướng dẫn trên
- Restart Claude
- Hỏi:
- “Có bao nhiêu file trong mcp_test?”
- “Đọc nội dung file X và tóm tắt”
- “Tạo file mới tên summary.md với nội dung tóm tắt”
Verify
- File
summary.mdxuất hiện trong folder - Nội dung đúng với yêu cầu
So sánh: MCP vs Plugins vs Function Calling
| Feature | OpenAI Plugins | Function Calling | MCP |
|---|---|---|---|
| Ai định nghĩa? | OpenAI | App developer | Open standard |
| Chạy ở đâu? | Cloud | Cloud | Local/Cloud |
| Reusable? | Plugin ≠ App | Code lại mỗi app | Một server, nhiều apps |
| Security | Data đi qua provider | Data đi qua provider | Data stays local |
💡 MCP là hướng đi tương lai - Do Anthropic khởi xướng, được Google, OpenAI, và Microsoft quan tâm.
Tóm tắt
| Khái niệm | Ý nghĩa |
|---|---|
| MCP | Chuẩn kết nối AI với data/tools |
| Host | App nơi user dùng (Claude Desktop) |
| Client | Protocol connector (trong Host) |
| Server | Nơi cung cấp data/tools |
| Resources | Dữ liệu để đọc |
| Tools | Hàm để gọi |
Bài tiếp theo: MCP Hosts - Ứng dụng nào hỗ trợ MCP?