Công cụ AI Coding

MCP là gì? Kết nối công cụ ngoài vào Claude Code (2026)

Aug 14, 202613 phút đọc

MCP (Model Context Protocol) là chuẩn mở do Anthropic công bố cuối 2024, giúp các ứng dụng AI như Claude Code kết nối an toàn với công cụ và dữ liệu bên ngoài - GitHub, database, filesystem, browser… Hãy hình dung MCP là "cổng USB-C cho AI": thay vì tích hợp riêng từng cặp công cụ, bạn dùng một chuẩn chung. Nhờ vậy Claude Code không chỉ trò chuyện mà còn đọc file, gọi API và hành động thật trên hệ thống của bạn.

MCP là gì? (Model Context Protocol)

MCP (Model Context Protocol) là một chuẩn mở giúp ứng dụng AI kết nối với hệ thống, công cụ và nguồn dữ liệu bên ngoài theo một cách thống nhất. Anthropic giới thiệu giao thức này cuối năm 2024 và mở mã nguồn để bất kỳ ai cũng có thể xây dựng server tương thích (Anthropic, "Introducing the Model Context Protocol", 25/11/2024).

Ẩn dụ dễ nhớ nhất: MCP giống cổng USB-C cho AI. Trước khi có USB-C, mỗi thiết bị cần một loại cáp riêng. Sau khi có USB-C, một cổng cắm được mọi thứ. MCP làm điều tương tự cho AI - một chuẩn kết nối duy nhất thay cho hàng loạt tích hợp rời rạc.

Vấn đề mà MCP giải quyết là bài toán M×N. Nếu có M ứng dụng AI và N công cụ, cách cũ đòi hỏi bạn viết M×N tích hợp riêng lẻ. Với MCP, mỗi công cụ chỉ cần một server MCP, mỗi ứng dụng chỉ cần biết nói "tiếng" MCP - bài toán rút về M+N. Đây chính là lý do MCP lan nhanh: viết một MCP server cho database của bạn, thì mọi ứng dụng hỗ trợ MCP (Claude Code, Claude Desktop, và nhiều IDE khác) đều dùng được ngay.

Nói ngắn gọn, MCP là lớp "kết nối AI với dữ liệu" tiêu chuẩn hoá. Trong bài này ta tập trung vào cách nó hoạt động trong Claude Code - nơi bạn thật sự gõ lệnh và thấy kết quả.

MCP nào? Phân biệt Model Context Protocol với các nghĩa khác

Lưu ý về acronym: "MCP" là từ viết tắt đa nghĩa. Trong bài này, MCP = Model Context Protocol - giao thức AI của Anthropic (cuối 2024). Nó KHÔNG phải Microsoft Certified Professional (chứng chỉ), Master Control Program (phim Tron), hay Multi-Chip Package (vi mạch). Nếu bạn tìm một trong các nghĩa đó thì đây không phải bài cần đọc.

Thêm một điểm cần rõ: nhiều bài hướng dẫn MCP tiếng Việt giải thích qua Claude Desktop. Bài này nói riêng về MCP cho Claude Code (CLI) - nơi bạn kết nối server bằng dòng lệnh và dùng ngay trong quy trình code.

Vì sao Claude Code cần MCP?

Mặc định, một mô hình AI chỉ biết những gì bạn dán vào cửa sổ chat. Nó không tự đọc file trong dự án, không truy cập được repo GitHub riêng, không truy vấn database và không mở trình duyệt. Mọi thứ ngoài đoạn văn bản bạn cung cấp đều là "vùng mù".

MCP xoá vùng mù đó. Khi bạn gắn một MCP server vào Claude Code, trợ lý có thể:

  • Đọc và ghi file ngoài thư mục làm việc hiện tại (Filesystem server).
  • Truy vấn database để trả lời bằng dữ liệu thật thay vì đoán (Postgres/SQLite server).
  • Thao tác repo: xem issue, tạo PR, đọc lịch sử commit (GitHub server).
  • Điều khiển trình duyệt: mở trang, điền form, chụp màn hình (Playwright server).
  • Tra cứu tài liệu mới hoặc tìm kiếm web (Context7, Brave/Exa server).

Đây là bước biến Claude Code từ một chatbot trả lời câu hỏi thành một AI agent hành động thật: nó không chỉ nói "bạn nên chạy migration", nó có thể tự truy vấn schema, viết migration và mở PR. MCP chính là lớp cho phép "kết nối công cụ ngoài" đó diễn ra một cách chuẩn hoá và có kiểm soát.

Một ví dụ minh hoạ (mang tính minh hoạ) để thấy khác biệt. Không có MCP: bạn hỏi "vì sao endpoint /orders chậm?", Claude Code chỉ đọc được code bạn dán vào và đoán dựa trên đó. Có MCP (Postgres server): Claude Code tự chạy EXPLAIN ANALYZE trên query thật, thấy bảng orders thiếu index, đề xuất migration cụ thể và mở PR qua GitHub server. Cùng một câu hỏi, nhưng câu trả lời đi từ phỏng đoán sang bằng chứng.

Điểm mấu chốt: MCP không thêm "trí thông minh" cho mô hình - nó thêm giác quan và bàn tay. Mô hình vẫn suy luận như cũ, nhưng giờ nó nhìn thấy dữ liệu thật và tác động được lên hệ thống thật, trong phạm vi quyền bạn cấp.

MCP hoạt động thế nào? Host - Client - Server

Kiến trúc MCP có ba vai chính. Hiểu ba vai này là hiểu toàn bộ giao thức.

  • Host - ứng dụng AI mà bạn dùng. Ở đây là Claude Code. Host điều phối toàn bộ, quyết định gọi tool nào và giữ quyền phê duyệt.
  • Client - nằm bên trong Host. Mỗi client quản lý đúng một kết nối tới một server. Nếu bạn gắn 3 server thì Host tạo 3 client.
  • Server - chương trình bên ngoài cung cấp năng lực. Mỗi server phơi ra ba loại thứ: tools (hành động AI gọi được, ví dụ "tạo issue"), resources (dữ liệu đọc được, ví dụ nội dung file) và prompts (mẫu prompt dựng sẵn).

Ánh xạ thẳng vào Claude Code: Claude Code là Host, và mỗi MCP server bạn thêm vào là một "connector" độc lập. Muốn thêm khả năng làm việc với GitHub? Gắn GitHub server. Muốn truy vấn database? Gắn Postgres server. Các connector không biết về nhau; Host là nơi tổng hợp.

Về giao tiếp: MCP dùng JSON-RPC để Host và Server trao đổi. Có hai kiểu transport chính bạn sẽ gặp:

  • Local (stdio) - server chạy như một tiến trình trên máy bạn, giao tiếp qua standard input/output. Phù hợp filesystem, database local, công cụ chạy máy cá nhân.
  • Remote (HTTP/SSE) - server chạy trên một endpoint từ xa. Phù hợp dịch vụ đám mây, server dùng chung cho cả team.

Luồng một yêu cầu điển hình: bạn ra lệnh trong Claude Code → Host quyết định cần tool nào → Client tương ứng gửi yêu cầu JSON-RPC tới Server → Server thực thi và trả kết quả (kèm resource nếu có) → Host đưa kết quả lại cho mô hình để tổng hợp câu trả lời. Trước khi tool thực sự chạy, Host chèn bước phê duyệt của bạn - đó là chỗ bạn kiểm soát mọi hành động ghi/xoá.

Kết nối MCP server đầu tiên vào Claude Code (ví dụ thật)

Lý thuyết đủ rồi. Đây là phần bạn gõ được ngay. Claude Code quản lý MCP server bằng lệnh claude mcp. Cú pháp thêm một server:

claude mcp add <tên> <lệnh chạy server> [tham số...]

Ví dụ 1 - thêm Filesystem server để Claude Code đọc/ghi được một thư mục cụ thể:

claude mcp add filesystem npx -y @modelcontextprotocol/server-filesystem /duong/dan/du-an

Ví dụ 2 - thêm GitHub server (cần token cá nhân qua biến môi trường, không hard-code vào lệnh):

claude mcp add github --env GITHUB_TOKEN=$GITHUB_TOKEN -- npx -y @modelcontextprotocol/server-github

Sau khi thêm, mở một phiên Claude Code và gõ lệnh /mcp để xem các server đã kết nối cùng trạng thái của chúng:

/mcp

Một điểm quan trọng về an toàn theo thiết kế: lần đầu Claude Code muốn gọi một tool từ MCP server, nó sẽ hỏi bạn phê duyệt (human-in-the-loop). Bạn thấy trước tool nào sắp chạy với tham số gì rồi mới đồng ý. Đừng bấm "approve" theo quán tính.

Về scope (phạm vi lưu cấu hình), Claude Code cho phép gắn server ở mức local (chỉ máy bạn), project (chia sẻ trong repo qua file cấu hình) hoặc user (mọi dự án của bạn) - chọn scope theo việc server đó nên dùng riêng hay dùng chung.

Sau khi /mcp báo server ở trạng thái connected, bạn có thể yêu cầu Claude Code làm việc bằng ngôn ngữ tự nhiên và nó sẽ tự chọn tool phù hợp - ví dụ "liệt kê 5 issue mở gần nhất" sẽ khiến nó gọi tool của GitHub server. Nếu server báo lỗi kết nối, nguyên nhân thường gặp là sai đường dẫn package, thiếu biến môi trường token, hoặc runtime chưa cài. Gỡ server bằng claude mcp remove <tên> rồi thêm lại là cách xử lý nhanh khi cấu hình lỡ sai.

Muốn đi sâu vào một server cụ thể, xem hướng dẫn kết nối GitHub MCP với Claude Code với ví dụ tạo PR đầu-cuối.

Các MCP server phổ biến nên biết (2026)

Hệ sinh thái MCP đã rất lớn. Dưới đây là những server đáng biết trước tiên, kèm gợi ý khi nào nên dùng:

ServerLàm gìKhi nào dùng
FilesystemĐọc/ghi file ngoài thư mục làm việc hiện tạiCho Claude Code truy cập tài liệu, config ở thư mục khác
GitHubXem/tạo issue, PR, đọc lịch sử repo (server chính thức ~28k★, 04/2026)Tự động hoá quy trình review, mở PR, tra cứu issue
Postgres / DatabaseTruy vấn database để trả lời bằng dữ liệu thậtDebug bằng dữ liệu thực, kiểm tra schema, thống kê nhanh
PlaywrightĐiều khiển trình duyệt: mở trang, điền form, chụp màn hìnhTest E2E, kiểm tra UI, tự động hoá thao tác web
Context7Kéo tài liệu thư viện/framework bản mới vào ngữ cảnhChống trả lời sai vì kiến thức mô hình đã cũ
Brave / ExaTìm kiếm web trực tiếp trong phiênCần thông tin mới hơn thời điểm huấn luyện
SlackĐọc/gửi tin nhắn kênh SlackBáo cáo trạng thái, thông báo cho team

Danh sách này chỉ là điểm khởi đầu. Muốn tìm thêm, các directory như Glama hoặc kho awesome-mcp-servers trên GitHub tổng hợp hàng trăm server theo danh mục. Xem chi tiết hơn về setup từng cái trong bài kết nối GitHub MCP với Claude Code.

MCP khác gì Skills, Subagents, Hooks?

Người mới rất hay nhầm bốn khái niệm này vì đều là cách "mở rộng" Claude Code. Phân biệt nhanh:

  • MCP = lớp kết nối tới công cụ/dữ liệu bên ngoài (GitHub, DB, browser).
  • Skills = năng lực đóng gói sẵn (hướng dẫn + script) để Claude làm tốt một loại việc.
  • Subagents = agent con chuyên biệt, chạy tác vụ riêng với ngữ cảnh riêng.
  • Hooks = tự động hoá kích hoạt theo sự kiện (ví dụ chạy lint sau khi sửa file).

Ranh giới đơn giản: MCP lo kết nối ra ngoài, ba cái còn lại lo cách Claude làm việc bên trong. Xem phân tích đầy đủ trong bài Skills, Subagents, Hooks, MCP khác nhau thế nào.

Rủi ro & lưu ý an toàn khi dùng MCP

Đây là phần hầu hết bài hướng dẫn bỏ qua, nhưng lại quan trọng nhất khi dùng thật. MCP rất mạnh, và "mạnh" đồng nghĩa với "cần cẩn trọng".

  • Prompt injection qua tool/resource: nội dung mà một MCP server trả về (issue, trang web, file) có thể chứa chỉ dẫn độc hại khiến AI hành động ngoài ý bạn. Đừng mặc định mọi dữ liệu server trả về đều an toàn.
  • Tin cậy server bên thứ ba: một MCP server là code chạy trên máy bạn hoặc có quyền với dữ liệu của bạn. Chỉ cài từ nguồn uy tín (chính thức, mã nguồn mở kiểm chứng được), đọc kỹ trước khi gắn.
  • Giữ human-in-the-loop: đừng tắt bước phê duyệt tool chỉ vì tiện. Với thao tác ghi/xoá (ghi file, chạy query, đẩy commit), luôn xem trước rồi mới đồng ý.
  • Đừng hard-code secret: truyền token, API key qua biến môi trường, không viết thẳng vào lệnh hay commit vào repo.

Một thói quen tốt: bắt đầu với ít server nhất có thể, mỗi server chỉ cấp phạm vi tối thiểu cần thiết (ví dụ Filesystem trỏ vào đúng thư mục dự án, không phải cả ổ đĩa). Với dữ liệu nhạy cảm, ưu tiên tài khoản/token chỉ-đọc khi bạn chỉ cần đọc.

Nói thẳng: MCP không an toàn tuyệt đối - an toàn phụ thuộc vào server bạn chọn và cách bạn cấp quyền. Coi mỗi server như một phần mềm bạn cài đặt, không phải một tính năng vô hại bật sẵn.

Tăng tốc: MCP dựng sẵn trong bộ kit

Cấu hình từng MCP server thủ công - tìm package, xử lý token, chọn scope, kiểm tra kết nối - tốn thời gian nếu bạn cần nhiều server. Một số bộ kit cho Claude Code đóng gói sẵn các MCP integration để bỏ qua bước dựng thủ công. Ví dụ, bộ kit Marketing có 12+ MCP dựng sẵn hướng tới các luồng như lead-gen và email/SEO. Nếu tò mò, có thể xem giá AgentKit (giảm 20% qua link) - Marketing Kit niêm yết $99, trang không nêu phí định kỳ.

Câu hỏi thường gặp (FAQ)

MCP có miễn phí không?

Bản thân giao thức MCP là chuẩn mở và miễn phí. Phần lớn MCP server phổ biến (Filesystem, GitHub, Postgres…) là mã nguồn mở, dùng không mất phí. Bạn chỉ có thể tốn chi phí ở dịch vụ mà server kết nối tới (ví dụ gói API của một dịch vụ đám mây).

MCP khác API thường thế nào?

API thường là tích hợp riêng cho từng cặp ứng dụng-dịch vụ. MCP là một chuẩn chung: viết một MCP server, mọi ứng dụng hỗ trợ MCP đều dùng được, không phải tích hợp lại từ đầu. Bên dưới, MCP server vẫn thường gọi các API đó - MCP là lớp chuẩn hoá phía trên.

MCP server chạy ở đâu - local hay remote?

Cả hai. Server local (stdio) chạy như tiến trình trên máy bạn, hợp với filesystem và database cá nhân. Server remote (HTTP/SSE) chạy ở endpoint từ xa, hợp với dịch vụ đám mây và server dùng chung cho team.

Cần biết code để cài MCP server không?

Không cần để dùng. Với các server có sẵn, bạn chỉ chạy một lệnh claude mcp add là xong. Bạn chỉ cần biết code nếu muốn tự viết một MCP server mới.

MCP có an toàn không?

An toàn phụ thuộc vào server bạn chọn và quyền bạn cấp. Rủi ro chính là prompt injection và server bên thứ ba không đáng tin. Chỉ cài từ nguồn uy tín, giữ bước phê duyệt tool, và không hard-code secret. MCP không an toàn tuyệt đối.

Claude Code hỗ trợ bao nhiêu MCP server?

Không có giới hạn cứng nêu công khai - bạn có thể gắn nhiều server cùng lúc, mỗi server là một client riêng. Thực tế nên giữ số server ở mức cần thiết để phiên gọn và dễ kiểm soát quyền.

Kết luận + bước tiếp theo

MCP là chuẩn mở biến Claude Code từ trợ lý chat thành AI agent kết nối được với thế giới thật: file, database, GitHub, browser. Bạn đã hiểu định nghĩa, kiến trúc Host-Client-Server, cách chạy claude mcp add và những rủi ro cần canh chừng. Bước tiếp theo tự nhiên nhất là thực hành: mở terminal và thử claude mcp add với một server. Sau đó đọc kết nối GitHub MCP với Claude Code để dựng luồng đầu-cuối, và phân biệt Skills, Subagents, Hooks và MCP để chọn đúng công cụ cho từng việc.

· Nguồn tham chiếu: modelcontextprotocol.io (docs, bản 2026-07-28) và Anthropic - Introducing MCP (25/11/2024).

J

Jasmine

Tác giả · Jasmine Daily

Người viết nên Jasmine Daily - ghi lại những suy nghĩ, trải nghiệm và những khoảnh khắc đời thường. Thật lòng, không vội vàng, không hoàn hảo.

Jasmine Daily

Vẫn còn nhiều điều đang chờ được đọc.

Nếu bài viết này chạm đến bạn, hãy ghé xem thêm vài trang khác trong cuốn nhật ký này.

Đọc tiếp

Bài viết liên quan