
MCP (Model Context Protocol) là chuẩn mở kết nối ứng dụng AI (Claude, ChatGPT, Cursor, VS Code…) với nguồn dữ liệu bên ngoài — file cục bộ, cơ sở dữ liệu, API, công cụ tìm kiếm, workflow tự động. MCP đóng vai trò như cổng USB-C cho AI: một giao diện chuẩn để mô hình ngôn ngữ lớn (LLM) truy cập ngữ cảnh thực tế và thực thi hành động, thay vì chỉ dựa vào dữ liệu huấn luyện tĩnh.
Tại sao cần MCP?
LLM đơn lẻ chỉ biết thông tin đến ngày cắt dữ liệu huấn luyện, không truy cập được file riêng, lịch Google Calendar, database doanh nghiệp, hay điều khiển Blender/3D printer. Trước MCP, mỗi tích hợp cần code tùy biến (custom plugin, function calling riêng) — tốn thời gian, khó bảo trì, không tái dùng. MCP thống nhất giao diện: viết một lần, tích hợp mọi nơi.

Kiến trúc Client – Server
MCP tuân theo mô hình Host – Client – Server:
- MCP Host: Ứng dụng AI điều phối (Claude Code, Claude Desktop, VS Code, Cursor, ChatGPT Desktop…).
- MCP Client: Thành phần trong Host, mỗi kết nối đến một MCP Server duy nhất.
- MCP Server: Chương trình cung cấp ngữ cảnh/công cụ — chạy cục bộ (STDIO transport) hoặc từ xa (Streamable HTTP).
Ví dụ: VS Code (Host) kết nối Sentry MCP Server (remote, HTTP) và Filesystem MCP Server (local, STDIO) — hai MCP Client riêng biệt, cùng một Host.
Hai lớp giao thức
| Lớp | Chức năng | Cơ chế |
|---|---|---|
| Data Layer (bên trong) | JSON-RPC 2.0: discovery, primitives (tools, resources, prompts), notifications | Stateless, mỗi request mang version + metadata |
| Transport Layer (bên ngoài) | Kênh truyền, framing, auth | Stdio (local) hoặc Streamable HTTP + SSE (remote, OAuth) |

Ba primitive cốt lõi của Server
- Tools (Công cụ): Hàm thực thi AI có thể gọi — đọc/ghi file, query database, gọi API, chạy shell. Ví dụ:
read_file,query_sql,search_web. - Resources (Nguồn tài nguyên): Dữ liệu ngữ cảnh tĩnh hoặc động — nội dung file, schema database, phản hồi API. Client dùng
resources/listvàresources/read. - Prompts (Mẫu prompt): Template tương tác có sẵn — system prompt, few-shot examples, quy trình chuyên biệt. Giúp chuẩn hoá cách LLM dùng tools/resources.
Transport: STDIO vs Streamable HTTP
- STDIO: Stdin/Stdout giữa process cha-con trên cùng máy — hiệu năng cao, không network overhead. Dùng cho local server (filesystem, git, sqlite, ripgrep…).
- Streamable HTTP: POST request cho client→server, Server-Sent Events (SSE) cho server→client streaming. Hỗ trợ OAuth, API key, bearer token — phù hợp server remote (Sentry, GitHub, database cloud…).
Hệ sinh thái & Ứng dụng thực tế
| MCP Client (Host) | MCP Server nổi bật | Use case |
|---|---|---|
| Claude Code / Desktop | Filesystem, Git, GitHub, PostgreSQL, SQLite, Sentry, Browserbase | Code assistant truy cập repo, DB, debug production |
| VS Code (Copilot Chat) | Sentry, Docker, Kubernetes, Azure, AWS, Figma | DevOps, deploy, thiết kế → code |
| Cursor | Filesystem, Git, Linear, Notion, Slack | Vibe coding với context dự án đầy đủ |
| ChatGPT Desktop | Google Calendar, Notion, Web Search, Calculator | Trợ lý cá nhân truy cập lịch, note, tìm kiếm |
Ví dụ thực tế: Claude Code + Filesystem MCP Server
- Cài server:
npx @modelcontextprotocol/server-filesystem /path/to/project - Cấu hình
claude_desktop_config.jsonthêm serverfilesystemvới commandnpxargs. - Khởi động lại Claude Code → nó tự discover tools:
read_file,write_file,list_directory,search_files. - Prompt: “Đọc file package.json, tìm dependency cũ, nâng cấp lên phiên bản mới nhất” → Claude gọi tools tự động, không cần copy-paste.
Bảo mật & Quyền kiểm soát
- MCP server cục bộ chỉ truy cập thư mục được cấp phép (sandbox qua args đường dẫn).
- Server remote dùng OAuth — user tự cấp quyền (scope) cho từng server.
- Elicitation: server có thể yêu cầu xác nhận từ người dùng trước hành động nhạy cảm (xoá file, deploy production).
- Không có sampling (đã deprecated v2026-07-28) — server không yêu cầu LLM completion, tránh rò rỉ prompt.
So sánh MCP vs Function Calling truyền thống
| Tiêu chí | Function Calling (OpenAI/Anthropic) | MCP |
|---|---|---|
| Chuẩn hoá | Riêng từng provider | Chuẩn mở, cross-provider |
| Tái dùng server | Khó (custom function mỗi app) | Dễ (viết 1 server, dùng nhiều client) |
| Transport | HTTP API tuỳ chỉnh | STDIO + Streamable HTTP chuẩn |
| Discovery động | Cần schema tĩnh trước | tools/list, resources/list runtime |
| Auth | Tuỳ ứng dụng | OAuth chuẩn, bearer token |
Cách bắt đầu với MCP
Để thử nghiệm, cài Claude Desktop, vào Settings → Developer → Add Custom Server. Chọn npx @modelcontextprotocol/server-filesystem ~/Documents → restart. Claude sẽ tự detect tools read_file, write_file, list_directory — bạn có thể yêu cầu Claude đọc/sửa file ngay trong conversation. Để build server riêng, dùng SDK TypeScript/Python từ GitHub.
Tóm tắt
MCP biến LLM từ trợ lý biết nhiều thành nhân viên có tay chân: đọc file, query DB, gọi API, điều khiển phần mềm — tất cả qua một giao thức mở, bảo mật, tái dùng. Với sự hỗ trợ từ Anthropic, OpenAI, Microsoft (VS Code), Cursor và hàng trăm server cộng đồng, MCP đang trở thành lớp kết nối chuẩn cho kỷ nguyên AI agent.
Nguồn: modelcontextprotocol.io | MCP Architecture | MCP Reference Servers
