Bỏ qua để đến nội dung

🔌 MCP Protocol

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:#4caf50

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

Ứng dụng nơi user tương tác (Claude Desktop, IDE). → Chi tiết

Protocol layer nằm trong Host, kết nối 1:1 với Server. → Chi tiết

Nơi cung cấp data (Resources), công cụ (Tools), và templates (Prompts). → Chi tiết


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”

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 user

2. 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.

  • 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…

Download từ claude.ai/download

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ạn sẽ thấy icon 🔌 trong khung chat. Hỏi: “Liệt kê các file trong Documents”


Cho Claude đọc và phân tích files trên máy bạn.

  1. Cài Claude Desktop
  2. Tạo folder test: ~/mcp_test/
  3. Thêm vài files vào folder (txt, md, json)
  4. Config MCP server như hướng dẫn trên
  5. Restart Claude
  6. 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”
  • File summary.md xuất hiện trong folder
  • Nội dung đúng với yêu cầu

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.


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?