Cơ bảnguide Claude Code

MCP là gì? Kiến trúc Model Context Protocol từ A đến Z

Nghe bài viết
00:00

Điểm nổi bật

Nhấn để đến mục tương ứng

  1. 1 Con số tăng theo cấp số nhân và trở nên không thể quản lý được.
  2. 2 Một request điển hình trông như thế này: { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "read_file", "arguments": { "path": "/src/index.ts" } } } Server trả về response cũng theo format JSON-RPC 2.0, giúp việc parse và xử lý trở nên nhất quán và dễ dàng.
  3. 3 Nơi tìm MCP Server Bạn có thể khám phá MCP Server tại: mcp.so — thư viện MCP Server lớn nhất, có search và filter theo category GitHub topic #mcp-server — tìm server mã nguồn mở Anthropic MCP Registry — danh sách server chính thức được Anthropic xác nhận 6.
  4. 4 Đây là phần quan trọng nhất cần hiểu: Tools — Hành động mà AI có thể thực hiện Tools là các function mà AI model có thể gọi để thực hiện hành động .
  5. 5 Direct API phù hợp cho programmatic integration — nơi bạn biết chính xác cần gọi gì.
the word ai spelled in white letters on a black surface

Bạn đã bao giờ tự hỏi tại sao AI assistant có thể đọc file trên máy tính, truy vấn database, hay thậm chí điều khiển trình duyệt? Câu trả lời nằm ở Model Context Protocol (MCP) — một giao thức mở do Anthropic phát triển, đang thay đổi cách AI tương tác với thế giới bên ngoài. Bài viết này sẽ giúp bạn hiểu MCP từ A đến Z, từ vấn đề nó giải quyết đến cách bắt đầu sử dụng ngay hôm nay.

1. MCP giải quyết vấn đề gì?

Trước khi MCP xuất hiện, việc kết nối AI model với các công cụ bên ngoài gặp một vấn đề nghiêm trọng gọi là bài toán M × N.

Hãy tưởng tượng: bạn có 5 AI model (Claude, GPT, Gemini, Llama, Mistral) và 10 công cụ bên ngoài (GitHub, Slack, Database, File System, Jira, Notion, Google Drive, AWS, Docker, Kubernetes). Để mỗi model làm việc được với mỗi công cụ, bạn cần xây dựng 5 × 10 = 50 integration riêng biệt. Mỗi integration có API khác nhau, authentication khác nhau, format dữ liệu khác nhau.

Khi thêm một model mới? Thêm 10 integration. Thêm một công cụ mới? Thêm 5 integration. Con số tăng theo cấp số nhân và trở nên không thể quản lý được.

MCP giải quyết bài toán này bằng cách tạo ra một giao thức chuẩn duy nhất — giống như USB-C cho phần cứng. Thay vì 50 integration, bạn chỉ cần:

  • Mỗi AI model implement một MCP Client (5 client)
  • Mỗi công cụ implement một MCP Server (10 server)
  • Tổng cộng: 5 + 10 = 15 implementation thay vì 50

Kết quả: bất kỳ MCP Client nào cũng giao tiếp được với bất kỳ MCP Server nào, không cần viết code riêng cho từng cặp. Đây chính là sức mạnh của chuẩn hóa.

2. Kiến trúc MCP: Client-Server Model

MCP được thiết kế theo mô hình Client-Server quen thuộc, với giao thức giao tiếp dựa trên JSON-RPC 2.0. Kiến trúc gồm 3 thành phần chính:

MCP Host

Host là ứng dụng mà người dùng tương tác trực tiếp — chính là nơi chạy AI model. Ví dụ: Claude Desktop, Claude Code, VS Code với Copilot, hay Cursor. Host chịu trách nhiệm quản lý vòng đời của các MCP Client và đưa ra quyết định về quyền truy cập.

MCP Client

Client nằm bên trong Host, đóng vai trò trung gian giữa AI model và MCP Server. Mỗi Client duy trì kết nối 1:1 với một Server cụ thể. Client gửi request và nhận response theo chuẩn JSON-RPC 2.0.

MCP Server

Server là thành phần cung cấp khả năng (capabilities) cho AI model. Mỗi Server expose một hoặc nhiều khả năng thông qua 3 primitives: Tools, Resources và Prompts. Server có thể là một process chạy local trên máy (qua stdio) hoặc một service chạy remote (qua HTTP + Server-Sent Events).

Giao thức JSON-RPC 2.0

Mọi giao tiếp giữa Client và Server đều sử dụng JSON-RPC 2.0 — một giao thức nhẹ, đơn giản và đã được chứng minh hiệu quả. Một request điển hình trông như thế này:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "read_file",
    "arguments": {
      "path": "/src/index.ts"
    }
  }
}

Server trả về response cũng theo format JSON-RPC 2.0, giúp việc parse và xử lý trở nên nhất quán và dễ dàng.

3. Ba primitives: Tools, Resources, Prompts

MCP định nghĩa 3 loại khả năng (primitives) mà Server có thể cung cấp. Đây là phần quan trọng nhất cần hiểu:

Tools — Hành động mà AI có thể thực hiện

Tools là các function mà AI model có thể gọi để thực hiện hành động. Đây là primitive được sử dụng nhiều nhất. Ví dụ:

  • read_file — đọc nội dung file
  • execute_query — chạy SQL query
  • create_issue — tạo issue trên GitHub
  • send_message — gửi tin nhắn trên Slack

Đặc điểm quan trọng: Tools được model điều khiển (model-controlled). AI model tự quyết định khi nào cần gọi tool nào dựa trên ngữ cảnh cuộc hội thoại. Tuy nhiên, mỗi lần gọi tool đều cần xác nhận từ người dùng (trừ khi đã được cấp quyền tự động).

Resources — Dữ liệu mà AI có thể đọc

Resources cung cấp dữ liệu có cấu trúc cho AI model, tương tự như GET endpoint trong REST API. Ví dụ:

  • file:///src/config.json — nội dung file cấu hình
  • db://users/schema — schema của bảng users
  • git://log?branch=main — lịch sử commit

Khác với Tools, Resources thường được ứng dụng điều khiển (application-controlled) — nghĩa là Host quyết định resource nào sẽ được đưa vào context, không phải AI model tự chọn. Resources không gây side-effect — chúng chỉ đọc dữ liệu, không thay đổi gì.

Prompts — Template hướng dẫn AI

Prompts là các template có tham số mà Server cung cấp để hướng dẫn AI model thực hiện tác vụ cụ thể. Ví dụ:

  • code-review — template để review code với các tiêu chí chuẩn
  • explain-error — template để giải thích error log
  • generate-test — template để sinh unit test

Prompts được người dùng điều khiển (user-controlled) — người dùng chọn prompt nào để sử dụng, thường thông qua slash command hoặc menu trong ứng dụng. Prompt giúp chuẩn hóa cách AI xử lý các tác vụ lặp đi lặp lại.

Tóm tắt 3 Primitives

Primitive Ai điều khiển Mục đích Ví dụ
Tools AI Model Thực hiện hành động Tạo file, chạy query
Resources Ứng dụng (Host) Cung cấp dữ liệu Đọc schema, xem log
Prompts Người dùng Template tác vụ Review code, giải thích lỗi

4. Claude Code sử dụng MCP như thế nào?

Claude Code là một trong những MCP Host mạnh nhất hiện tại. Ngay khi cài đặt, Claude Code đã tích hợp sẵn nhiều khả năng thông qua MCP:

  • File System: đọc, ghi, tìm kiếm file trên máy tính — tất cả thông qua MCP tools
  • Terminal: chạy lệnh bash, thực thi script — cũng là MCP tool
  • Search: tìm kiếm nội dung trong codebase bằng ripgrep — MCP tool

Bạn có thể mở rộng khả năng của Claude Code bằng cách thêm MCP Server. Ví dụ, thêm GitHub MCP Server để Claude Code có thể tạo PR, review code, quản lý issues trực tiếp. Thêm Database MCP Server để Claude Code truy vấn database khi cần.

Cấu hình MCP Server trong Claude Code cực kỳ đơn giản. Chỉ cần thêm vào file ~/.claude/settings.json hoặc file .mcp.json ở thư mục project:

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "ghp_your_token_here"
      }
    }
  }
}

Sau khi cấu hình, Claude Code tự động nhận diện và sử dụng các tools từ MCP Server mới mà không cần restart hay cấu hình thêm gì.

5. Hệ sinh thái MCP: 4000+ Servers

MCP ra mắt cuối năm 2024 và đã phát triển với tốc độ nhanh chóng. Tính đến đầu năm 2026, hệ sinh thái MCP có hơn 4000 server được cộng đồng xây dựng, bao phủ hầu hết mọi lĩnh vực.

Các MCP Server phổ biến nhất

  • Context7: cung cấp tài liệu kỹ thuật cập nhật cho AI. Thay vì dựa vào knowledge cutoff, Context7 cho phép AI truy cập documentation mới nhất của bất kỳ thư viện nào. Đặc biệt hữu ích khi làm việc với framework có API thay đổi thường xuyên.
  • Playwright: điều khiển trình duyệt để test tự động, scrape dữ liệu, hoặc tương tác với web application. AI có thể click, nhập liệu, chụp screenshot và kiểm tra kết quả — tất cả thông qua MCP.
  • PostgreSQL / MySQL: truy vấn database trực tiếp. AI có thể đọc schema, chạy SELECT query, và thậm chí suggest optimization cho slow queries.
  • GitHub: quản lý repository, tạo issue và PR, review code, quản lý workflow — biến AI thành trợ lý phát triển phần mềm toàn diện.
  • Slack / Discord: gửi và đọc tin nhắn, quản lý channel, tìm kiếm lịch sử hội thoại.
  • Filesystem: MCP server chính thức để đọc, ghi, tìm kiếm file với kiểm soát quyền truy cập chi tiết.

Nơi tìm MCP Server

Bạn có thể khám phá MCP Server tại:

  • mcp.so — thư viện MCP Server lớn nhất, có search và filter theo category
  • GitHub topic #mcp-server — tìm server mã nguồn mở
  • Anthropic MCP Registry — danh sách server chính thức được Anthropic xác nhận

6. Khi nào dùng MCP vs Direct API Integration?

MCP không phải giải pháp cho mọi trường hợp. Dưới đây là hướng dẫn để bạn quyết định:

Nên dùng MCP khi:

  • Bạn muốn AI tương tác với công cụ trong thời gian thực — ví dụ: AI đọc file, chạy test, tạo PR trong quá trình pair programming
  • Bạn cần tích hợp nhanh — đã có sẵn MCP Server, chỉ cần cấu hình là dùng được
  • Bạn muốn một giao thức chuẩn — dễ thay thế AI model hoặc công cụ mà không cần viết lại integration
  • Context-aware interaction — AI cần kết hợp nhiều nguồn dữ liệu để đưa ra câu trả lời

Nên dùng Direct API khi:

  • Bạn cần hiệu năng tối đa — MCP có overhead do thêm một lớp abstraction
  • Bạn chỉ cần một integration đơn giản, cố định — ví dụ: ứng dụng chỉ gọi Claude API để dịch văn bản
  • Bạn cần kiểm soát chi tiết — custom authentication, rate limiting, hoặc logic phức tạp
  • Production backend — server-to-server communication thường nên dùng API trực tiếp

Tóm lại: MCP phù hợp nhất cho interactive AI workflows — nơi AI cần linh hoạt truy cập nhiều công cụ khác nhau. Direct API phù hợp cho programmatic integration — nơi bạn biết chính xác cần gọi gì.

7. Mô hình bảo mật của MCP

Bảo mật là yếu tố quan trọng khi cho phép AI truy cập hệ thống bên ngoài. MCP được thiết kế với nhiều lớp bảo vệ:

Permission Model

Mỗi khi AI muốn gọi một tool, người dùng được hỏi xác nhận. Claude Code hiển thị rõ ràng tool nào sẽ được gọi, với tham số gì, và chờ bạn chấp thuận. Bạn có thể:

  • Allow once: cho phép một lần duy nhất
  • Allow for session: cho phép trong suốt phiên làm việc
  • Always allow: luôn cho phép tool này (cấu hình trong settings)

Sandboxing

MCP Server chạy trong môi trường bị giới hạn. Server chỉ truy cập được những tài nguyên mà nó được cấu hình để truy cập. Ví dụ: Filesystem MCP Server chỉ đọc/ghi file trong các thư mục bạn chỉ định, không phải toàn bộ hệ thống.

Transport Security

  • Local servers (stdio): giao tiếp qua standard input/output, không qua mạng — an toàn tự nhiên
  • Remote servers (SSE/HTTP): sử dụng OAuth 2.1 để xác thực, HTTPS để mã hóa dữ liệu truyền tải

Nguyên tắc bảo mật cần nhớ

  • Chỉ cài MCP Server từ nguồn đáng tin cậy
  • Kiểm tra source code của server trước khi sử dụng
  • Không cấp quyền "Always allow" cho tool có khả năng ghi/xóa dữ liệu quan trọng
  • Sử dụng token có phạm vi quyền tối thiểu (least privilege)
  • Theo dõi log để phát hiện hành vi bất thường

8. Bắt đầu: Cài đặt MCP Server đầu tiên trong Claude Code

Hãy thực hành ngay bằng cách cài đặt MCP Server cho Claude Code. Chúng ta sẽ cài Context7 — server cung cấp tài liệu kỹ thuật cập nhật.

Bước 1: Đảm bảo bạn đã cài Claude Code

Nếu chưa cài, chạy lệnh sau trong terminal:

npm install -g @anthropic-ai/claude-code

Bước 2: Thêm MCP Server bằng CLI

Claude Code cung cấp lệnh tiện lợi để thêm MCP Server:

claude mcp add context7 -- npx -y @anthropic-ai/context7-mcp@latest

Lệnh này sẽ tự động thêm cấu hình vào file settings của bạn.

Bước 3: Kiểm tra

Khởi chạy Claude Code và hỏi:

Hãy dùng Context7 để tìm tài liệu mới nhất về React Server Components

Nếu Claude Code hiển thị yêu cầu xác nhận sử dụng tool từ Context7, nghĩa là bạn đã cài đặt thành công.

Bước 4: Thêm MCP Server cho project cụ thể

Nếu bạn muốn MCP Server chỉ khả dụng cho một project, tạo file .mcp.json ở thư mục gốc:

{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@anthropic-ai/context7-mcp@latest"]
    },
    "playwright": {
      "command": "npx",
      "args": ["-y", "@anthropic-ai/mcp-playwright"]
    }
  }
}

Khi Claude Code mở project này, nó sẽ tự động load các MCP Server được cấu hình.

Một số MCP Server nên cài đầu tiên

  • Context7 — tài liệu kỹ thuật cập nhật, không bị giới hạn bởi knowledge cutoff
  • GitHub — quản lý code, PR, issues ngay trong Claude Code
  • Playwright — test UI tự động, scrape web
  • Sequential Thinking — giúp AI suy nghĩ có cấu trúc cho bài toán phức tạp

9. Tương lai MCP: Hướng đi trong 2026

MCP đang phát triển nhanh chóng với nhiều cải tiến đáng chú ý đang trong lộ trình:

Streamable HTTP Transport

Phiên bản mới nhất của MCP spec đã giới thiệu Streamable HTTP — thay thế SSE transport cũ. Transport mới hỗ trợ streaming hai chiều, giảm độ trễ và cải thiện khả năng mở rộng cho remote server.

Elicitation

Tính năng cho phép MCP Server hỏi ngược người dùng khi cần thêm thông tin. Ví dụ: khi AI gọi tool deploy nhưng chưa chọn environment, server có thể hỏi "Bạn muốn deploy lên staging hay production?" thay vì fail hoặc đoán.

OAuth 2.1 Authorization

Chuẩn hóa authentication cho remote MCP Server. Thay vì mỗi server tự implement auth riêng, tất cả sẽ sử dụng OAuth 2.1 — đơn giản cho developer, an toàn cho người dùng.

Agent-to-Agent Protocol

MCP đang tiến tới hỗ trợ AI agent giao tiếp với nhau. Một agent có thể gọi tool từ agent khác thông qua MCP, tạo nên hệ thống multi-agent mạnh mẽ. Đây là hướng phát triển quan trọng nhất của MCP trong năm 2026.

Registry và Discovery

Một hệ thống registry chuẩn giúp MCP Client tự động tìm và cài đặt server phù hợp. Tưởng tượng như npm cho MCP — bạn chỉ cần nói "tôi cần làm việc với Figma" và Claude Code tự tìm, cài đặt, cấu hình MCP Server tương ứng.

Tổng kết

MCP là bước tiến lớn trong cách AI tương tác với thế giới bên ngoài. Thay vì mỗi ứng dụng AI tự xây dựng integration riêng, MCP tạo ra một ngôn ngữ chung mà mọi AI model và công cụ đều hiểu.

Những điểm chính cần nhớ:

  • MCP giải quyết bài toán M × N bằng giao thức chuẩn, biến 50 integration thành 15
  • Kiến trúc Client-Server với JSON-RPC 2.0 — đơn giản, nhẹ, dễ implement
  • 3 primitives: Tools (hành động), Resources (dữ liệu), Prompts (template)
  • Bảo mật nhiều lớp: permission, sandboxing, OAuth 2.1
  • Hệ sinh thái 4000+ server và đang phát triển nhanh chóng

Bước tiếp theo, hãy cài đặt MCP Server đầu tiên và trải nghiệm trực tiếp. Bắt đầu với Context7 hoặc GitHub Server, và bạn sẽ thấy Claude Code trở nên mạnh mẽ hơn rất nhiều. Khám phá thêm về Claude Code và các công cụ phát triển tại Thư viện Nền tảng Claude.

Tính năng liên quan:MCP ArchitectureToolsResourcesPromptsServer

Bai viet co huu ich khong?

Bản quyền thuộc về tác giả. Vui lòng dẫn nguồn khi chia sẻ.

Bình luận (0)
Ảnh đại diện
Đăng nhập để bình luận...
Đăng nhập để bình luận
  • Đang tải bình luận...

Đăng ký nhận bản tin

Nhận bài viết hay nhất về sản phẩm và vận hành, gửi thẳng vào hộp thư của bạn.

Bảo mật thông tin. Hủy đăng ký bất cứ lúc nào. Chính sách bảo mật.