MCP Là Gì? Cách Nối Claude Với Công Cụ Ngoài
Model Context Protocol giải thích dễ hiểu: cách cấu hình server MCP đầu tiên cho Claude và những rủi ro cần biết trước khi cắm một MCP lạ.
Bài viết có thể chứa liên kết tiếp thị (affiliate) — Kudomax có thể nhận hoa hồng khi bạn mua hàng qua các liên kết này, không phát sinh thêm chi phí cho bạn. Xem chính sách minh bạch.
Cắm MCP đầu tiên vào Claude, mình mất gần một tiếng chỉ vì không hiểu MCP thật ra đang làm gì phía sau. Đọc tài liệu chính thức xong vẫn mơ hồ. Cách hiểu dễ nhất hoá ra đơn giản: MCP là cổng USB cho AI.

MCP là gì
MCP (Model Context Protocol) là một chuẩn giao tiếp mở, cho phép Claude gọi tới công cụ hoặc nguồn dữ liệu bên ngoài, như Google Drive, database nội bộ, hay một API riêng của công ty, theo cùng một cách chuẩn hoá, thay vì mỗi công cụ phải viết tích hợp riêng.
📌 Chưa chắc nên chọn gì? Đọc trước Học AI: Dùng Claude, ChatGPT, Gemini Đúng Việc — hướng dẫn tổng hợp của Kudomax về học ai.
Trước MCP, muốn Claude đọc được file trong Google Drive thì nhà phát triển phải tự viết một lớp tích hợp riêng cho từng cặp AI - công cụ. Có MCP, một server MCP viết một lần có thể dùng chung cho bất kỳ AI nào hỗ trợ chuẩn này.
Về cấu trúc, MCP có ba vai. Host là ứng dụng AI bạn đang dùng, ví dụ Claude Desktop hay Claude Code. Server là chương trình nhỏ đại diện cho một công cụ, như Google Drive, Postgres hay GitHub. Client là phần trung gian host tự tạo ra để nói chuyện với từng server. Người dùng chỉ cần quan tâm hai đầu: mình đang dùng host nào và muốn cắm server nào vào.
Một server cung cấp cho Claude ba thứ: tool là hành động Claude được phép gọi, như tìm file hay chạy truy vấn; resource là dữ liệu Claude được phép đọc; prompt là mẫu câu lệnh dựng sẵn cho việc lặp lại. Server có thể chạy ngay trên máy bạn qua stdio, hoặc chạy từ xa qua HTTP kèm đăng nhập OAuth. Người mới hầu như luôn bắt đầu với server chạy trên máy vì dễ kiểm soát hơn hẳn.
Cấu hình server MCP đầu tiên
- Xác định công cụ bạn muốn nối, ví dụ Google Drive, Slack, hay một database Postgres.
- Tìm MCP server tương ứng, thường có sẵn dạng gói cài qua npx hoặc uvx, không cần tự viết từ đầu.
- Thêm cấu hình server đó vào file cấu hình MCP của Claude, gồm lệnh khởi chạy và các biến môi trường cần thiết như API key.
- Khởi động lại phiên làm việc để Claude nạp server mới, rồi thử một câu lệnh đơn giản để xác nhận kết nối chạy đúng.
Ví dụ cụ thể: nối Claude Desktop với một thư mục tài liệu trên máy qua server filesystem chính thức. Mở Settings, vào mục Developer, bấm Edit Config để mở file claude_desktop_config.json, rồi thêm đoạn sau:
{
"mcpServers": {
"tai-lieu": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "D:/tai-lieu"]
}
}
}
Máy cần cài sẵn Node.js vì lệnh npx đi kèm Node. Lưu file xong phải thoát hẳn Claude Desktop, chọn Quit chứ không phải chỉ đóng cửa sổ, rồi mở lại. Thấy biểu tượng công cụ xuất hiện dưới khung chat là server đã nạp thành công. Thử ngay bằng câu "liệt kê các file trong thư mục tài liệu" để xác nhận.
Với Claude Code trong terminal thì gọn hơn, một lệnh là xong:
claude mcp add tai-lieu -- npx -y @modelcontextprotocol/server-filesystem D:/tai-lieu
Sau đó gõ /mcp ngay trong phiên làm việc để xem server đang chạy hay báo lỗi. Lệnh /mcp và những lệnh đáng dùng khác mình đã gom lại trong bài 60+ slash command hữu ích cho Claude Code.
Tình huống dùng thật
Ba tình huống mình dùng hằng tuần, bạn có thể bê nguyên về áp dụng:
- Nối database đơn hàng qua server Postgres với quyền chỉ đọc: thay vì viết SQL tay, hỏi thẳng "tuần này bao nhiêu đơn trên 500 nghìn, nhóm theo kênh". Claude tự sinh truy vấn, chạy qua server rồi trả về bảng kết quả.
- Nối GitHub: đọc issue mới, tóm tắt nội dung khách báo lỗi, soạn sẵn mô tả pull request. Hợp cho ai quản dự án nhưng không muốn mở trình duyệt liên tục.
- Nối thư mục tài liệu: bảo Claude đọc hợp đồng cũ để đối chiếu điều khoản, hoặc gom số liệu rải rác trong nhiều file báo cáo về một bảng duy nhất.
Lỗi người mới hay gặp
Phần lớn lỗi khi cắm MCP nằm ở môi trường chứ không phải ở Claude. Năm lỗi dưới đây chiếm gần hết số lần mình phải ngồi gỡ:
- Sửa config xong không thoát hẳn ứng dụng: Claude Desktop chỉ nạp lại danh sách server khi khởi động, đóng cửa sổ rồi mở lại là chưa đủ.
- Chưa cài Node.js: server khai báo bằng npx sẽ báo failed ngay lập tức. Gõ node -v trong terminal để kiểm tra trước khi đổ lỗi cho cấu hình.
- Đường dẫn Windows sai cú pháp: trong file JSON, dấu gạch chéo ngược đơn làm hỏng cấu hình. Dùng gạch chéo xuôi kiểu D:/tai-lieu là an toàn nhất.
- Thiếu API key trong phần env: server vẫn hiện ra bình thường nhưng gọi tool là dính lỗi xác thực. Đọc README của server xem nó cần biến môi trường nào.
- Cắm một lúc cả chục server: mô tả tool của từng server đều chiếm chỗ trong ngữ cảnh, Claude dễ chọn nhầm tool và phiên khởi động chậm hẳn đi. Bắt đầu với một tới hai server đúng nhu cầu là đủ.
Khi nào dùng MCP, khi nào viết tích hợp trực tiếp
Dùng MCP khi bạn muốn Claude tự quyết định lúc nào cần lấy dữ liệu; viết script gọi API trực tiếp khi luồng việc đã cố định và không cần AI suy luận giữa chừng. Chốt nhanh:
- Dùng MCP nếu: việc thay đổi theo từng câu hỏi, bạn cần hỏi đáp linh hoạt trên dữ liệu, công cụ đã có server dựng sẵn, hoặc muốn một kết nối dùng lại được cho nhiều ứng dụng AI.
- Dùng script hoặc workflow nếu: việc chạy định kỳ với các bước giống hệt nhau mỗi lần, cần kiểm soát chi phí từng request, hoặc bạn đã có sẵn hệ thống tự động như n8n.
Hai hướng này ghép được với nhau chứ không loại trừ nhau. Mình vẫn để n8n lo phần chạy định kỳ, còn MCP lo phần hỏi đáp tuỳ biến trên cùng dữ liệu đó. Cách nối hai thế giới này có trong bài nối Claude Code với n8n để tự động hoá content.
Rủi ro cần biết trước khi cắm MCP lạ
Một MCP server có thể đọc và ghi dữ liệu thay mặt bạn với đúng quyền hạn bạn cấp cho nó. Cắm một server không rõ nguồn gốc nghĩa là trao quyền đó cho code bạn chưa kiểm tra. Chỉ cài từ nguồn chính thức hoặc mã nguồn mở đã xem qua, và luôn kiểm tra danh sách quyền server yêu cầu trước khi bật.
Có một rủi ro ít người để ý: mọi thứ server trả về, từ mô tả tool tới nội dung dữ liệu, đều đi thẳng vào ngữ cảnh của Claude. Một server độc hại có thể giấu chỉ dẫn trong đó để lái Claude làm việc khác với lệnh của bạn, kiểu tấn công gọi là prompt injection. Vì vậy quyền cấp cho server nên hẹp nhất có thể: cần đọc thì đừng cấp quyền ghi, cần một thư mục thì đừng trỏ vào cả ổ đĩa.
Nếu bạn mới bắt đầu, đọc thêm MCP server là gì và vì sao AI nào cũng cần để hiểu vì sao chuẩn này được nhiều nền tảng cùng áp dụng, trước khi tính chuyện tự viết server riêng.
Bắt đầu từ đâu
Bước tiếp theo của bạn: cài Node.js, cắm server filesystem trỏ vào một thư mục tài liệu không nhạy cảm, rồi bảo Claude tóm tắt một file bất kỳ trong đó. Toàn bộ mất chừng mười lăm phút và không đụng tới dữ liệu quan trọng nào. Đừng cắm server vào database công ty trong ngày đầu tiên, dù thấy chạy ngon tới đâu. Để việc đó cho tuần thứ hai, khi bạn đã hiểu rõ mình đang cấp quyền gì cho ai.




