Bỏ qua điều hướng
Khái niệm

MCP là gì? Tất cả những gì bạn cần biết về Model Context Protocol

MCP (Model Context Protocol) là tiêu chuẩn mở giúp chuẩn hóa giao tiếp giữa ứng dụng AI và nguồn dữ liệu, tối ưu khả năng thực thi của các tác nhân AI (agent).

Tuan Tran Van
12 phút đọc
Mục lục (11 phần)
  1. MCP là gì?
  2. Vì sao MCP ra đời?
  3. Kiến trúc MCP: Host, Client, Server
  4. Ba nguyên mẫu cốt lõi: Resources, Tools, Prompts
  5. MCP hoạt động như thế nào?
  6. MCP khác gì API, function calling và RAG?
  7. Bảo mật khi dùng MCP
  8. Hệ sinh thái và ứng dụng thực tế
  9. Bắt đầu với MCP và tương lai
  10. Các câu hỏi thường gặp
  11. Tài liệu tham khảo

Model Context Protocol (MCP) là một tiêu chuẩn mở (open standard) dùng để kết nối các ứng dụng AI với dữ liệu và công cụ bên ngoài một cách nhất quán.

Giao thức này định nghĩa cách các mô hình ngôn ngữ lớn (LLM) giao tiếp với những hệ thống lưu trữ, cho phép AI truy cập ngữ cảnh thực tế mà không cần xây dựng tích hợp riêng cho từng nguồn dữ liệu.

Nếu bạn đang triển khai hạ tầng AI, MCP cung cấp một lớp giao diện thống nhất để quản lý các tương tác hướng tác vụ. Thay vì duy trì hàng loạt đoạn mã kết nối (glue code) riêng lẻ cho từng mô hình, bạn dùng MCP để chuẩn hóa cách mô hình truy xuất tài liệu, thực thi mã hoặc truy vấn cơ sở dữ liệu. Hệ thống nhờ đó linh hoạt và dễ mở rộng hơn trong môi trường doanh nghiệp.

Minh hoạ MCP như cổng USB-C cho AI, kết nối một mô hình AI tới nhiều nguồn dữ liệu và công cụ qua một chuẩn chung

MCP là gì?

Model Context Protocol (MCP) là một giao thức truyền thông hai chiều, mã nguồn mở, được Anthropic giới thiệu vào tháng 11/2024. Về bản chất, đây là tiêu chuẩn kỹ thuật cho phép nhà phát triển xây dựng các kết nối an toàn giữa nguồn dữ liệu và những công cụ hỗ trợ AI. Thay vì tái cấu trúc mã nguồn cho mỗi lần đổi mô hình, MCP thiết lập một ngôn ngữ chung để các bên tương tác.

Phép ẩn dụ "cổng USB-C cho AI" phản ánh chính xác vai trò của MCP. Trước khi có chuẩn USB-C, mỗi thiết bị ngoại vi cần một loại cổng và trình điều khiển riêng. Tương tự, trước khi có MCP, việc kết nối một mô hình AI với các kho lưu trữ như GitHub, Google Drive hay hệ quản trị cơ sở dữ liệu Postgres đòi hỏi cách triển khai đặc thù, gây phân mảnh và khó quản trị.

MCP chuẩn hóa việc tích hợp bằng một giao diện nhất quán. Khi một ứng dụng hỗ trợ MCP, nó kết nối động với bất kỳ dịch vụ nào có MCP Server tương ứng. Giao thức không dừng ở việc đọc dữ liệu mà còn cho phép AI tương tác có kiểm soát với các công cụ kinh doanh và môi trường phát triển.

Vì sao MCP ra đời?

Sự ra đời của MCP giải quyết trực tiếp "bài toán tích hợp N × M". Trong hạ tầng AI truyền thống, nếu bạn có N trợ lý AI và M nguồn dữ liệu, bạn cần tới N × M lần tích hợp. Khi N và M cùng tăng, chi phí bảo trì nhanh chóng vượt tầm kiểm soát. MCP đổi phương trình này thành N + M: bạn chỉ xây một Client cho ứng dụng AI và một Server cho nguồn dữ liệu, rồi chúng tự tương thích qua giao thức chung.

So sánh bài toán tích hợp: mạng lưới chằng chịt N × M trước MCP và mô hình hub gọn gàng N + M sau khi có MCP

Vấn đề thứ hai là sự cô lập của mô hình ngôn ngữ lớn (LLM). Các mô hình hiện nay bị giới hạn bởi thời điểm cắt dữ liệu huấn luyện (knowledge cutoff) và thiếu khả năng tương tác trực tiếp với dữ liệu thực tế tại thời điểm chạy (runtime). Khi không có một tiêu chuẩn chung, việc cung cấp ngữ cảnh cho mô hình trở nên rời rạc, buộc kỹ sư xây dựng những đường ống dữ liệu (data pipeline) phức tạp và tốn kém.

Thay các tích hợp phân mảnh bằng một tiêu chuẩn duy nhất, MCP cho phép hệ thống AI giữ ngữ cảnh nhất quán khi di chuyển giữa các công cụ. Cách làm này loại bỏ công việc lặp lại, để đội ngũ hạ tầng tập trung tối ưu hiệu suất thay vì viết lại adapter cho mỗi nguồn dữ liệu mới.

Kiến trúc MCP: Host, Client, Server

Sơ đồ kiến trúc MCP ba lớp: Host chứa Client duy trì kết nối 1:1 tới các Server bên ngoài qua JSON-RPC

Hệ sinh thái MCP tách thành ba thành phần cốt lõi để bảo đảm tính module hóa:

  • MCP Host: môi trường người dùng tương tác, chịu trách nhiệm điều phối toàn bộ luồng công việc. Ví dụ điển hình là Claude Desktop, các IDE như Cursor hoặc VS Code, hay tác nhân AI (AI Agent) tự xây dựng. Host quyết định khi nào cần gọi dữ liệu bên ngoài dựa trên yêu cầu của người dùng.
  • MCP Client: một thành phần bên trong Host, đóng vai trò lớp chuyển đổi và quản lý vòng đời phiên làm việc. Client duy trì kết nối 1:1 với Server và thực hiện quá trình bắt tay (handshake) để khám phá khả năng của Server.
  • MCP Server: adapter nhẹ đóng vai trò "lớp vỏ" (wrapper) bao bọc các dịch vụ sẵn có như Postgres hay GitHub. Server chuyển yêu cầu MCP thành thao tác bản địa (native operation) của hệ thống đích — ví dụ chuyển một lệnh đọc tài nguyên thành truy vấn REST API hoặc SQL.

Tầng vận chuyển (transport layer) dùng JSON-RPC 2.0 làm định dạng thông điệp, với ba loại: Requests (yêu cầu cần phản hồi), Responses (trả lời) và Notifications (thông báo một chiều, không cần phản hồi). MCP hỗ trợ hai phương thức vận chuyển chính:

  1. stdio: dùng đầu vào/đầu ra tiêu chuẩn, tối ưu cho tài nguyên cục bộ.
  2. SSE (Server-Sent Events): dùng cho tài nguyên từ xa — Client gửi thông điệp qua HTTP POST và nhận phản hồi từ Server qua luồng SSE.

Ví dụ cấu hình một Server trong claude_desktop_config.json:

json
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "your_token" }
    }
  }
}

Ba nguyên mẫu cốt lõi: Resources, Tools, Prompts

Ba primitive cốt lõi của MCP Server: Resources (dữ liệu chỉ đọc), Tools (hàm thực thi) và Prompts (mẫu hướng dẫn tái sử dụng)

Các MCP Server quảng bá (advertise) khả năng của mình qua cơ chế khám phá (discovery) dựa trên ba nguyên mẫu (primitive) cơ bản:

  • Resources: dữ liệu chỉ đọc (read-only) cung cấp ngữ cảnh cho mô hình. Tài nguyên thường được định danh qua URI và có thể là nội dung tệp, lược đồ cơ sở dữ liệu (schema) hay tài liệu kỹ thuật.
  • Tools: các hàm thực thi có tác dụng phụ (side effect), cho phép AI thực hiện hành động. Mỗi Tool được Server định nghĩa kèm tên, mô tả và sơ đồ nhập/xuất (input/output schema) — ví dụ gửi email, chạy mã lệnh hay cập nhật bản ghi CRM.
  • Prompts: các mẫu hướng dẫn tái sử dụng, chuẩn hóa những quy trình phức tạp bằng khung có sẵn để AI điền tham số.

Khi kết nối được thiết lập, Server gửi cho Client một danh mục máy đọc được (machine-readable catalog). Nhờ đó AI Host biết chính xác mình làm được gì mà lập trình viên không phải cập nhật mã nguồn thủ công mỗi khi Server thêm tính năng mới.

MCP hoạt động như thế nào?

Luồng hoạt động năm bước của MCP: xác định nhu cầu, khám phá năng lực, yêu cầu có cấu trúc, thực thi bản địa và phản hồi ngữ cảnh

Quy trình thực thi một tác vụ qua MCP đi theo các bước chặt chẽ:

  1. Xác định nhu cầu: AI Host nhận yêu cầu và xác định rằng cần thông tin hoặc hành động từ hệ thống bên ngoài.
  2. Khám phá năng lực: Client bắt tay với Server để lấy danh sách nguyên mẫu khả dụng qua các lệnh như tools/list hoặc resources/list.
  3. Yêu cầu có cấu trúc: mô hình tạo một yêu cầu có cấu trúc (ví dụ tools/call) kèm tham số khớp với schema mà Server đã quảng bá.
  4. Thực thi bản địa: Server nhận thông điệp JSON-RPC, đóng vai trò wrapper để chuyển yêu cầu thành lệnh gọi API hoặc truy vấn SQL thực tế đến hệ thống đích.
  5. Phản hồi ngữ cảnh: kết quả được Server định dạng lại theo chuẩn MCP và gửi về Client; mô hình dùng dữ liệu này để tổng hợp câu trả lời cuối cùng.

MCP khác gì API, function calling và RAG?

So sánh MCP với API truyền thống và RAG theo cơ chế khám phá, tính tương tác và mức độ chuẩn hóa

Đặc tínhModel Context Protocol (MCP)API truyền thống (REST)RAG
Cơ chế khám pháKhám phá động (dynamic discovery) lúc chạyCố định, cần cập nhật mã nguồn thủ côngTruy xuất thụ động qua vector search
Tính tương tácChủ động, thực hiện hành động (action-oriented)Đa dạng nhưng thiếu chuẩn hóa cho AITruy xuất dữ liệu tĩnh, không thực thi tác vụ
Tiêu chuẩn hóaThống nhất trên nhiều nhà cung cấp mô hìnhMỗi API có cấu trúc và xác thực riêngLà kỹ thuật/framework, không phải giao thức
Bản chấtLớp giao diện bao bọc các APIPhương thức kết nối trực tiếp cấp thấpKỹ thuật giảm ảo giác bằng ngữ cảnh

Khác với function calling (vốn phụ thuộc định dạng riêng của từng nhà cung cấp mô hình), MCP đưa ra một chuẩn chung: kỹ sư xây dựng công cụ một lần và dùng được trên nhiều nền tảng AI khác nhau.

Bảo mật khi dùng MCP

Triển khai MCP đòi hỏi thận trọng, vì nó cho phép AI tác động trực tiếp đến dữ liệu và hệ thống. Những nguyên tắc bảo mật chính gồm:

  • Sự chấp thuận của người dùng (user consent): người dùng phải phê duyệt rõ ràng trước khi AI thực hiện hành động nhạy cảm hoặc truy cập vùng dữ liệu cụ thể.
  • Bảo mật chuỗi cung ứng (supply chain security): độ tin cậy của MCP Server là yếu tố then chốt. Kỹ sư cần kiểm tra nguồn gốc Server và không tin tưởng mù quáng vào mô tả công cụ từ những Server lạ, để tránh tấn công tiêm lệnh (prompt injection) qua phần mô tả Tool.
  • Kiểm soát quyền truy cập: MCP hiện là giao thức bất khả tri về tầng vận chuyển (transport-agnostic) và không tích hợp sẵn cơ chế xác thực đa người dùng. Việc quản lý danh tính và quyền hạn phải xử lý ở cấp ứng dụng hoặc Gateway.
  • Cô lập thực thi: các Server có khả năng chạy mã lệnh nên được vận hành trong môi trường sandbox để hạn chế rủi ro cho hệ thống chính.

Hệ sinh thái và ứng dụng thực tế

Hệ sinh thái MCP đang mở rộng nhanh với sự tham gia của các đối tác lớn như Block (được CTO Dhanji R. Prasanna ủng hộ), Apollo, ReplitSourcegraph.

Bản đồ hệ sinh thái MCP với ba nhóm ứng dụng: sáng tạo và thiết kế, phát triển phần mềm, và doanh nghiệp

  • Sáng tạo & thiết kế: tích hợp Ableton Live dùng Python remote script để AI soạn nhạc, hay Blender dùng socket connection để AI dựng cảnh 3D bằng câu lệnh tự nhiên.
  • Phát triển phần mềm: các công cụ như Cursor và Claude Code dùng MCP để quản lý GitHub PR, đọc lịch sử commit và thay đổi mã nguồn trực tiếp trong luồng làm việc.
  • Doanh nghiệp: kết nối Slack, Google Drive hoặc hơn 8.000 ứng dụng qua Zapier MCP, cho phép xây dựng tác nhân tự chủ chạy các quy trình kinh doanh phức tạp.

Bắt đầu với MCP và tương lai

Để bắt đầu, bạn có thể dùng các SDK chính thức cho Python và TypeScript do Anthropic cung cấp để xây Server riêng. Với người dùng cuối, cài các Server tiền chế qua Claude Desktop là cách nhanh nhất để trải nghiệm giao thức này.

Tầm nhìn dài hạn của MCP hướng tới sự tự chủ hoàn toàn của AI Agent. Các bước tiếp theo gồm chuẩn hóa cơ chế xác thực mạnh hơn và sự xuất hiện của những MCP Gateway để quản lý quyền truy cập tập trung. Thay vì chỉ là tiện ích bổ sung, MCP đang dần trở thành thành phần tích hợp sẵn (native) trong kiến trúc ứng dụng hiện đại, mở đường cho sự cộng tác thực sự giữa người và máy.

Các câu hỏi thường gặp

MCP có thay thế hoàn toàn REST API không? Không. MCP thường đóng vai trò lớp vỏ (wrapper) bao quanh REST API, chuyển các endpoint phức tạp thành những primitive mà LLM dễ dàng khám phá và sử dụng.

Tôi có cần xây server riêng cho mỗi mô hình AI khác nhau không? Không. MCP là tiêu chuẩn chung: một khi bạn xây MCP Server, bất kỳ AI Client nào hỗ trợ giao thức đều kết nối và dùng được.

Làm thế nào để kiểm soát chi phí khi AI tự động gọi Tool qua MCP? Bạn nên đặt giới hạn hạn mức (rate limiting) và yêu cầu con người xác nhận ở cấp Client trước khi những Tool tốn kém hoặc tác động lớn được thực thi.

Tài liệu tham khảo

Đọc tiếp

Chia sẻ bài viết

X / TwitterFacebookLinkedIn