MCP (Model Context Protocol) là gì? Chuẩn kết nối AI với công cụ

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.

Minh họa kiến trúc MCP: AI assistant kết nối qua MCP server đến nhiều data source như file system, database, API, công cụ

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)

Minh họa luồng JSON-RPC giữa MCP Host, Client và Server qua STDIO/HTTP

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/listresources/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

  1. Cài server: npx @modelcontextprotocol/server-filesystem /path/to/project
  2. Cấu hình claude_desktop_config.json thêm server filesystem với command npx args.
  3. Khởi động lại Claude Code → nó tự discover tools: read_file, write_file, list_directory, search_files.
  4. 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

Tôi là một lập trình viên IOS. Code chính là IOS nhưng thỉnnh thoảng vẫn đá sang Android hoặc web. Mặc dù không quá thông thạo nhưng tôi sẽ chia sẻ những kiến thức mà mình đã tìm hiểu, áp dụng qua.

Bài viết liên quan

Học Kotlin lập trình Android từ cơ bản đến nâng cao

Kotlin hiện là ngôn ngữ chính thức cho phát triển Android được Google khuyến nghị từ năm 2019. Nếu bạn mới bắt đầu lập trình Android hoặc đang dùng Java…

Xem thêm

gRPC là gì? Protocol truyền thông RPC hiệu năng cao cho microservices

Tailwind CSS là gì? Tailwind CSS là framework CSS tiện ích (utility-first) cho phép xây dựng giao diện người dùng trực tiếp trong HTML bằng các class có sẵn. Khác…

Xem thêm

Rust là gì? Tổng quan ngôn ngữ lập trình hệ thống hiện đại

Rust là gì? Tổng quan ngôn ngữ lập trình hệ thống hiện đại Rust là ngôn ngữ lập trình đa mô hình hiện đại được phát triển bởi Mozilla, tập…

Xem thêm
0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest
0 Comments
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất