MCP là gì? Giao thức 'USB-C' giúp Claude Code kết nối mọi công cụ
MCP (Model Context Protocol) là 'USB-C cho AI' — kết nối Claude Code với GitHub, Database, Slack chỉ bằng vài dòng lệnh. Không cần code tích hợp phức tạp.
Định nghĩa
MCP (Model Context Protocol) là giao thức mở chuẩn hóa do Anthropic phát triển, dùng JSON-RPC 2.0 để cho phép AI agent như Claude Code kết nối trực tiếp với bất kỳ nguồn dữ liệu hay công cụ bên ngoài nào — từ GitHub, PostgreSQL đến Slack — mà không cần viết code tích hợp riêng cho từng loại.
Giải thích chi tiết
Vấn đề N×M và giải pháp "USB-C cho AI"
Trước MCP, nếu có N loại AI và M loại công cụ (database, API, file system), bạn cần N×M đoạn code tích hợp riêng. MCP biến bài toán này thành N+M — AI chỉ cần "nói" một ngôn ngữ chuẩn (JSON-RPC), còn công cụ chỉ cần expose đúng một interface chuẩn để kết nối.
Điểm đột phá không phải là công nghệ mới mà là sự đảo ngược quyền kiểm soát (inversion of control): thay vì AI phải "học" cách dùng từng API riêng lẻ, giờ các công cụ tự "quảng cáo" khả năng của mình cho AI thông qua schema chuẩn. Giống như USB-C không cho bạn khả năng mới, nhưng biến mọi thiết bị thành có thể kết nối được.
Kiến trúc 3 lớp
- MCP Host: Ứng dụng AI chứa LLM (Claude Code, Cursor, VS Code...)
- MCP Client: Bộ dịch bên trong Host, điều phối yêu cầu đến đúng Server
- MCP Server: Wrapper chuyển đổi từ giao thức chuẩn sang API riêng của từng công cụ (GitHub API, SQL driver, Slack SDK...)
Transport layer có thể là stdio (local, dùng cho tool chạy trên máy như database nội bộ) hoặc Server-Sent Events/SSE (remote, dùng cho cloud service). Điều này có nghĩa là bạn có thể kết nối Claude với PostgreSQL trong mạng công ty qua stdio an toàn, hoặc với Slack bên ngoài qua SSE.
Discovery và Execution: AI tự biết cần gọi gì
Khác với API truyền thống cần tài liệu đọc trước, MCP Server tự "quảng cáo" khả năng qua endpoint tools/list — mô tả bằng JSON Schema chi tiết tên hàm, tham số đầu vào, và mô tả tự nhiên. Khi bạn hỏi "xem PR gần nhất", Claude đọc schema từ MCP GitHub server, tự động generate đúng lệnh gọi API mà không cần bạn viết prompt hướng dẫn chi tiết.
Quá trình này gồm 3 bước:
- Discovery: Claude hỏi server "bạn có thể làm gì?"
- Planning: Claude quyết định dùng tool nào dựa trên mô tả schema
- Execution: Gọi tool và đưa kết quả vào context window để tiếp tục suy luận
Bảo mật và những hạn chế
MCP cho phép AI "động chạm" đến production database và GitHub repo, nhưng đi kèm rủi ro:
- Tool poisoning: Server độc hại có thể inject prompt qua tool description để ép AI thực hiện hành động nguy hiểm
- Human-in-the-loop: Claude Code yêu cầu user approve mỗi lần gọi tool có tác động side-effect (write, delete), tạo lớp bảo vệ trước khi AI thực sự thay đổi dữ liệu
MCP khác với RAG (Retrieval-Augmented Generation) ở chỗ: RAG chỉ đọc dữ liệu tĩnh từ vector DB, còn MCP cho phép hai chiều — AI có thể đọc dữ liệu real-time và thực hiện hành động (tạo PR, post Slack, update database).
Ví dụ thực tế
MCP GitHub: Review PR không cần mở browser
Thay vì copy-paste code từ GitHub sang Claude, bạn cài MCP GitHub server và gõ đơn giản: "review PR #123 và suggest cải thiện". Claude tự động:
- Gọi
get_pull_requestđể đọc diff - Phân tích code với context của cả codebase
- Gọi
create_review_commentđể đăng comment inline trực tiếp lên GitHub - Cập nhật trạng thái check-run
Toàn bộ workflow diễn ra trong terminal, không cần chuyển tab hay copy-paste. Đặc biệt hữu ích khi review code của đồng đội trong team startup Việt Nam đang dùng GitHub — bạn không cần rời khỏi cửa sổ terminal đã quen thuộc.
MCP PostgreSQL: Data analyst trong terminal
Kết nối database chứa dữ liệu bán hàng từ Shopee hoặc đơn hàng VietQR qua MCP, bạn hỏi bằng tiếng Việt: "doanh thu tháng này ở chi nhánh Hà Nội so với TP.HCM thế nào?" — Claude tự:
- Introspect schema qua
describe_table - Viết SQL query tối ưu qua
execute_query - Vẽ biểu đồ phân tích trực tiếp trong terminal
Khác với BI tool, bạn không cần biết SQL hay cấu trúc bảng trước. AI tự khám phá schema giống như junior dev mới vào công ty tự mò tài liệu.
MCP Slack: CSKH tự động hóa
Setup MCP Slack để Claude đọc tin nhắn từ channel #support của công ty, tự động:
- Phân loại độ ưu tiên dựa trên sentiment analysis
- Truy vấn lịch sử ticket qua MCP database
- Post summary hàng ngày vào
#daily-standupvới các case cần chú ý
Điều này biến Claude từ "chatbot trả lời câu hỏi" thành "nhân viên CSKH" có quyền truy cập hệ thống thực tế — phù hợp cho các startup công nghệ Việt Nam đang dùng Slack làm hub giao tiếp.
Ứng dụng
Developer (Solo/Team)
Kết nối Claude với GitHub để tạo PR từ mô tả bằng tiếng Việt, hoặc query database để debug mà không cần switch context sang database client. Dùng MCP Filesystem để dọn dẹp code legacy của dự án cũ hoặc refactor hàng loạt file với semantic understanding.
PM/Data Analyst
Dùng MCP để Claude truy cập dữ liệu từ Google Sheets, Salesforce hay PostgreSQL chứa dữ liệu bán hàng từ các sàn TMĐT, tạo báo cáo tự động bằng cách hỏi bằng ngôn ngữ tự nhiên. Không cần viết SQL hay Python, chỉ cần mô tả insight cần tìm như "so sánh tỷ lệ chuyển đổi tháng này".
Doanh nghiệp (Enterprise)
Xây dựng MCP server nội bộ kết nối Claude với hệ thống legacy (ERP, CRM, ticketing system), cho phép nhân viên "chat" với dữ liệu công ty. Ví dụ: "tình hình chất lượng CSKH tuần này" → Claude tự query qua MCP kết nối Genesys/Zalo OA, trả về báo cáo real-time.
So sánh
| Tiêu chí | MCP | API truyền thống | RAG (Retrieval) |
|---|---|---|---|
| Hướng dữ liệu | Hai chiều (read + write) | Hai chiều (cần code riêng) | Một chiều (chỉ đọc) |
| Tích hợp | Plug-and-play, auto-discovery | Cần viết client code cho từng API | Không cần tích hợp |
| Hành động | Có thể tạo PR, post Slack, update DB | Có thể nhưng tốn công | Chỉ trả lời câu hỏi |
| Ngữ cảnh | Real-time, live connection | Static, cần polling | Static từ vector DB |
| Phù hợp | Tự động hóa workflow | Integration chặt chẽ | Tra cứu tài liệu |
Kết luận: MCP không thay thế API hay RAG, mà đứng giữa — linh hoạt hơn API tích hợp thủ công nhưng có khả năng "hành động" mà RAG không có. Nó là lớp abstraction giúp AI trở thành agent thực thụ trong hệ sinh thái công cụ hiện có.
Bài viết liên quan
Cùng cụm (MCP):
- Cài đặt MCP Server đầu tiên: Hướng dẫn từng bước — Cài đặt và cấu hình MCP server đầu tiên cho Claude Code
- MCP GitHub: Quản lý PR, issue, code review từ Claude — Tự động hóa workflow GitHub từ terminal
- MCP Database: Truy vấn PostgreSQL/SQLite từ Claude — Query database bằng ngôn ngữ tự nhiên
- MCP Slack: Đọc tin nhắn, post updates, tự động hoá — Kết nối Claude với workspace Slack
- MCP Playwright: Test trình duyệt tự động — Browser automation và E2E testing qua MCP
- MCP Filesystem: Quản lý file nâng cao — Đọc/ghi file an toàn qua standardized protocol
- Tự build MCP Server: Hướng dẫn cho developer — Xây dựng MCP server cho hệ thống nội bộ
Đọc tiếp:
- Skills là gì? Từ slash command đến auto-invoke — So sánh MCP (external tools) với Skills (internal capabilities) trong Claude Code
- Subagents là gì? 6 built-in agents giải thích — Kết hợp MCP với subagents để xử lý task song song với context isolation
Skill với Scripts và Templates: Tối ưu Token & độ tin cậy cho Claude Code
Kỹ thuật tạo Skill trong Claude Code kết hợp scripts thực thi và templates động, giảm 60-80% token và tăng độ tin cậy so với sinh code runtime.
Cài đặt MCP Server đầu tiên: Kết nối Claude Code với Database và GitHub trong 15 phút
Hướng dẫn thực chiến kết nối Claude Code với GitHub, Database, Slack qua Model Context Protocol. Từ cài đặt đến chạy query đầu tiên trong 15 phút.