Skip to Content
✨ AI Engineering🔌 MCP ProtocolOverview

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.

MCP Architecture


Vấn đề mà MCP giải quyết

Vấn đềTrước MCPSau MCP
IntegrationMỗi AI app viết riêngViết 1 server, dùng mọi nơi
MaintenanceAPI thay đổi = sửa N appsAPI thay đổi = sửa 1 server
Data SecurityGửi data lên cloudServer chạy local, data không rời máy
EcosystemMỗi app tự buildHà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”:

PrimitiveChức năngVí dụ
ResourcesDữ liệu để AI đọcFiles, DB records, API responses
ToolsHàm để AI gọisend_email(), query_db()
PromptsTemplates 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 user

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

  • 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

  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”

Verify

  • File summary.md xuất hiện trong folder
  • Nội dung đúng với yêu cầu

So sánh: MCP vs Plugins vs Function Calling

FeatureOpenAI PluginsFunction CallingMCP
Ai định nghĩa?OpenAIApp developerOpen standard
Chạy ở đâu?CloudCloudLocal/Cloud
Reusable?Plugin ≠ AppCode lại mỗi appMột server, nhiều apps
SecurityData đi qua providerData đi qua providerData 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
MCPChuẩn kết nối AI với data/tools
HostApp nơi user dùng (Claude Desktop)
ClientProtocol connector (trong Host)
ServerNơi cung cấp data/tools
ResourcesDữ liệu để đọc
ToolsHàm để gọi

Bài tiếp theo: MCP Hosts - Ứng dụng nào hỗ trợ MCP?

Last updated on