🔌 MCP Protocol
Khái niệm cơ bản
Phần tiêu đề “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.
flowchart TD subgraph HOST["🖥️ MCP HOST"] direction TB APP["📱 Claude Desktop / Cursor / Zed Editor"]
subgraph Clients["MCP Clients"] C1["🔌 Client 1"] C2["🔌 Client 2"] C3["🔌 Client 3"] end
APP --> Clients end
subgraph Servers["🌐 MCP Servers"] S1["📁 Filesystem<br/>Server"] S2["🗄️ PostgreSQL<br/>Server"] S3["💬 Slack<br/>Server"] end
C1 <-->|"JSON-RPC"| S1 C2 <-->|"JSON-RPC"| S2 C3 <-->|"JSON-RPC"| S3
style HOST fill:#e3f2fd,stroke:#2196f3 style Servers fill:#e8f5e9,stroke:#4caf50Vấn đề mà MCP giải quyết
Phần tiêu đề “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)
Phần tiêu đề “Kiến trúc MCP (3 thành phần)”1. MCP Host
Phần tiêu đề “1. MCP Host”Ứng dụng nơi user tương tác (Claude Desktop, IDE). → Chi tiết
2. MCP Client
Phần tiêu đề “2. MCP Client”Protocol layer nằm trong Host, kết nối 1:1 với Server. → Chi tiết
3. MCP Server
Phần tiêu đề “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ì?
Phần tiêu đề “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?
Phần tiêu đề “Tại sao Developer nên quan tâm?”1. AI có thể truy cập local data
Phần tiêu đề “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
Phần tiêu đề “2. 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
Phần tiêu đề “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)
Phần tiêu đề “Quick Start (5 phút)”Bước 1: Cài Claude Desktop
Phần tiêu đề “Bước 1: Cài Claude Desktop”Download từ claude.ai/download
Bước 2: Thêm server vào config
Phần tiêu đề “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
Phần tiêu đề “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
Phần tiêu đề “Bài tập thực hành: Setup MCP Filesystem”Mục tiêu
Phần tiêu đề “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
Phần tiêu đề “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
Phần tiêu đề “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
Phần tiê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
Phần tiêu đề “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?