Kết nối MCP và bảo mật
Hiểu kiến trúc MCP, phương thức truyền tải và ranh giới quyền, đồng thời kết nối an toàn với MCP Server bên thứ ba hoặc tự xây dựng.
Model Context Protocol (MCP) là giao thức mở kết nối ứng dụng AI với hệ thống bên ngoài. Máy khách tương thích có thể lấy ngữ cảnh, gọi công cụ hoặc dùng lời nhắc định sẵn qua MCP Server mà không cần thiết kế giao thức kết nối riêng cho từng nguồn dữ liệu.
MCP và API mô hình là hai lớp kết nối khác nhau
AGTCloud API xử lý việc gọi mô hình; MCP Server cung cấp công cụ và ngữ cảnh cho máy khách tương thích. Khi kết nối MCP, hãy dùng lệnh cài đặt, URL và phương thức xác thực do nhà phát hành hoặc quản trị viên Server cung cấp; không dùng địa chỉ API mô hình AGTCloud làm MCP Server Endpoint.
MCP hoạt động như thế nào
Một MCP Host có thể kết nối với nhiều MCP Server và tạo MCP Client riêng cho từng Server.
| Thành phần | Trách nhiệm chính | Hình thức phổ biến |
|---|---|---|
| MCP Host | Chạy ứng dụng AI, quản lý kết nối, quyền và xác nhận của người dùng | Tác tử lập trình, IDE, trợ lý trên máy tính |
| MCP Client | Thiết lập kết nối riêng với một MCP Server và cung cấp khả năng của Server cho Host | Thường được tích hợp trong Host |
| MCP Server | Cung cấp công cụ, dữ liệu hoặc mẫu lời nhắc cụ thể | Tiến trình con cục bộ, dịch vụ từ xa |
MCP gồm lớp dữ liệu và lớp truyền tải: lớp dữ liệu định nghĩa thông điệp JSON-RPC, khám phá khả năng và Primitives; lớp truyền tải xử lý cách truyền thông điệp giữa các tiến trình cục bộ hoặc qua mạng. Máy khách thường đóng gói các chi tiết này; khi kết nối, hãy ưu tiên dùng mục cấu hình MCP do máy khách cung cấp.
Server có thể cung cấp những gì
MCP Server chủ yếu cung cấp ba loại Primitives:
| Primitive | Cách kiểm soát | Vai trò | Nội dung cần kiểm tra khi kết nối |
|---|---|---|---|
| Tools | Mô hình có thể chọn gọi; Host quản lý chính sách thực thi và cấp quyền | Thực hiện thao tác hoặc truy vấn, như gọi API, ghi tệp, truy vấn cơ sở dữ liệu | Schema đầu vào, thao tác ghi, tác động bên ngoài, yêu cầu phê duyệt thủ công |
| Resources | Do ứng dụng lựa chọn và quản lý | Cung cấp ngữ cảnh cho mô hình, như tệp, bản ghi và phản hồi API | Phạm vi dữ liệu, thông tin nhạy cảm, tần suất cập nhật, độ tin cậy của nội dung |
| Prompts | Thường do người dùng chủ động chọn | Cung cấp mẫu tương tác và tham số có thể tái sử dụng | Nguồn mẫu, ý nghĩa tham số, chỉ dẫn bên ngoài có trong mẫu |
Server khai báo các khả năng hỗ trợ, sau đó máy khách khám phá Tools, Resources và Prompts khả dụng. Server cung cấp một khả năng không có nghĩa máy khách chắc chắn sẽ bật nó; hành vi cuối cùng còn phụ thuộc vào phiên bản Host, chính sách quyền và lựa chọn của người dùng.
Coi nội dung Server trả về là đầu vào bên ngoài
Resource, kết quả Tool và Prompt có thể chứa nội dung không đáng tin cậy. Không tự động cho phép chỉ dẫn trong đó truy cập tệp khác, thông tin xác thực hoặc dịch vụ hệ thống chỉ vì chúng được trả về qua MCP.
Chọn phương thức truyền tải
Đặc tả MCP hiện tại định nghĩa hai phương thức truyền tải chuẩn: stdio và Streamable HTTP.
| Phương thức | Cách hoạt động | Phù hợp hơn với | Rủi ro chính |
|---|---|---|---|
stdio | Máy khách khởi chạy tiến trình con Server cục bộ, trao đổi thông điệp JSON-RPC theo từng dòng qua đầu vào và đầu ra chuẩn | Công cụ trên máy cục bộ, thư mục có kiểm soát, Server không cần triển khai qua mạng | Lệnh khởi chạy tương đương thực thi chương trình trên máy; Server kế thừa quyền tiến trình và một phần thông tin môi trường |
| Streamable HTTP | Máy khách gửi HTTP POST đến một MCP Endpoint duy nhất; Server trả về JSON hoặc luồng SSE trong phạm vi yêu cầu hiện tại | Dịch vụ từ xa, khả năng dùng chung trong nhóm, Server cần xác thực qua mạng | Danh tính dịch vụ, OAuth hoặc Token, ranh giới mạng, dữ liệu gửi ra ngoài và tác động từ xa |
Với stdio, stdout của Server chỉ được xuất thông điệp MCP; nhật ký phải ghi vào stderr. Khi kết nối thất bại, có thể kiểm tra nhật ký stderr do máy khách thu thập, nhưng không gửi nhật ký đầy đủ chứa thông tin xác thực cho bên thứ ba.
Streamable HTTP hiện dùng một POST Endpoint duy nhất, không cần cấu hình riêng địa chỉ GET hoặc HTTP+SSE kiểu cũ. Phương thức xác thực do Server quyết định; nếu Server cung cấp OAuth, hãy ưu tiên xác thực qua trang cấp quyền thay vì ghi thông tin xác thực dài hạn trực tiếp vào cấu hình dùng chung.
Hiểu cấu trúc cấu hình
Tên trường và vị trí cấu hình có thể khác nhau giữa các máy khách. Các ví dụ dưới đây chỉ minh họa cấu trúc phổ biến và không thể chạy trực tiếp; hãy thay tất cả giá trị giữ chỗ bằng lệnh, tham số, URL và phương thức xác thực thực tế do nhà phát hành Server cung cấp.
{
"mcpServers": {
"replace-with-server-name": {
"command": "/absolute/path/to/server-command",
"args": [
"--replace-with-required-argument"
],
"env": {
"SERVICE_API_KEY": "replace-with-client-supported-secret-reference"
}
}
}
}commandlà chương trình máy khách thực sự chạy; phải kiểm tra đường dẫn đầy đủ và nguồn phát hành trước khi kết nối;argscó thể chứa thư mục được phép truy cập, tệp cấu hình hoặc tham số Server;envchỉ truyền các biến môi trường tối thiểu cần thiết cho Server. Cú pháp tham chiếu thông tin xác thực khác nhau theo máy khách.
Không sao chép trực tiếp lệnh khởi chạy chưa rõ nguồn
command và args trong cấu hình MCP cục bộ sẽ chạy trên máy tính của bạn. Không chạy lệnh cài đặt một bước không rõ nguồn, và không dùng toàn bộ thư mục người dùng, thư mục SSH hoặc thư mục hệ thống làm phạm vi truy cập mặc định.
Các bước kết nối an toàn
1. Kiểm tra hỗ trợ của máy khách
Xác nhận máy khách hỗ trợ MCP và kiểm tra phương thức được hỗ trợ: stdio hay Streamable HTTP. Dùng định dạng cấu hình của phiên bản máy khách hiện tại, không đoán trường từ ví dụ của máy khách khác.
2. Kiểm tra danh tính Server
Lấy phương thức cài đặt từ kho mã chính thức, bảng điều khiển nhà cung cấp hoặc quản trị viên tổ chức. Kiểm tra nhà phát hành, phiên bản, lịch sử cập nhật, phụ thuộc và cách gỡ cài đặt; với Server từ xa, kiểm tra thêm tên miền, HTTPS và quy trình xác thực.
3. Kiểm kê khả năng và quyền
Trước khi bật, xem Tools, Resources và Prompts mà Server cung cấp. Ghi lại đầu vào, phạm vi đọc, thao tác ghi và tác động bên ngoài của từng Tool; tắt khả năng không liên quan đến tác vụ hiện tại.
4. Cấu hình phạm vi tối thiểu
Server cục bộ chỉ được truy cập thư mục và biến môi trường cần thiết; Server từ xa dùng tài khoản hoặc Scope có quyền tối thiểu. Không gửi API Key mô hình cho Server không rõ nguồn như một thông tin xác thực MCP dùng chung.
5. Tải lại và kiểm tra
Tải lại cấu hình theo hướng dẫn máy khách, xác nhận Server kết nối được và danh sách khả năng hiển thị đúng như dự kiến. Kết nối thành công không có nghĩa nên bật mọi Tool.
6. Bắt đầu bằng thao tác chỉ đọc
Trước tiên liệt kê khả năng, đọc một Resource không nhạy cảm hoặc gọi Tool không gây tác động phụ. Sau khi kiểm tra đầu vào, đầu ra và nhật ký, mới cho phép từng thao tác ghi tệp, sửa dữ liệu hoặc gọi hệ thống bên ngoài.
Danh sách kiểm tra quyền
| Phạm vi | Kiểm tra trước khi kết nối |
|---|---|
| Tệp cục bộ | Server có thể đọc và ghi thư mục nào, có đi theo liên kết tượng trưng hoặc truy cập tệp ngoài thư mục hay không |
| Thực thi lệnh | Tool chạy chương trình nào, tham số có được điều khiển trực tiếp bởi mô hình hoặc nội dung bên ngoài không |
| Truy cập mạng | Server truy cập tên miền, dịch vụ nội bộ và API bên thứ ba nào |
| Thông tin xác thực | Key hoặc Token được lưu ở đâu, truyền cho tiến trình hoặc tên miền nào, có thể thu hồi riêng không |
| Xử lý dữ liệu | Đầu vào và kết quả có rời máy cục bộ không, nhà cung cấp lưu nhật ký và dữ liệu gọi như thế nào |
| Thao tác ghi | Có xác nhận rõ ràng trước khi sửa, xóa, gửi thay đổi, thanh toán hoặc gửi tin nhắn không |
| Cập nhật | Khi gói Server hoặc khả năng từ xa thay đổi, máy khách có hiển thị lại quyền không |
Với Server từ xa, chỉ kết nối địa chỉ HTTPS đáng tin cậy và cấp quyền theo quy trình xác thực. Với Server cục bộ, ưu tiên đường dẫn lệnh tuyệt đối, thư mục cách ly và quyền người dùng thông thường; không chạy bằng quyền quản trị chỉ để thuận tiện.
Câu hỏi thường gặp
| Hiện tượng | Kiểm tra trước | Cách xử lý |
|---|---|---|
| Server không khởi động | Đường dẫn lệnh, môi trường chạy, tham số và thư mục làm việc | Kiểm tra chương trình tồn tại trong terminal thông thường, nhưng không bỏ qua máy khách để chạy trực tiếp lệnh không rõ nguồn |
| Máy khách báo đã kết nối nhưng không có Tool | Khả năng của Server, quyền và phiên bản máy khách | Tải lại danh sách khả năng, xác nhận máy khách hỗ trợ Primitive đó |
stdio ngắt ngay sau khi kết nối | Server có xuất nhật ký thông thường ra stdout không | Ghi nhật ký vào stderr, đảm bảo stdout chỉ chứa thông điệp MCP |
Endpoint từ xa trả về 401 hoặc 403 | Xác thực, Token và Scope của Server | Cấp quyền lại theo tài liệu Server, không dùng Token của dịch vụ khác |
Endpoint từ xa trả về 404 | URL có đường dẫn MCP đầy đủ không | Dùng Endpoint do nhà phát hành Server cung cấp, không tự nối đường dẫn API mô hình |
| Tool đọc được nhưng không ghi được | Quyền Tool, phạm vi thư mục và xác nhận thủ công | Chỉ mở rộng quyền khi thực sự cần và thử lại bằng thao tác có thể hoàn tác |
| Hành vi Tool không khớp mô tả | Phiên bản Server, Tool Schema và đầu vào bên ngoài | Tắt Tool ngay, lưu bằng chứng đã loại thông tin nhạy cảm và liên hệ nhà phát hành Server |
| Xuất hiện yêu cầu bên ngoài ngoài dự kiến sau khi kết nối | Quyền mạng của Server và hướng dữ liệu | Ngắt Server, thu hồi thông tin xác thực và kiểm tra nhật ký cùng hoạt động mạng của máy |
Khuyến nghị khi sử dụng lâu dài
- Định kỳ kiểm tra lại Server đã kết nối, phiên bản, danh sách Tool và phạm vi cấp quyền;
- Dùng thông tin xác thực riêng, có thể thu hồi và có quyền tối thiểu cho từng Server;
- Giữ xác nhận thủ công, đặc biệt với việc xóa, ghi, thanh toán, gửi tin nhắn và thao tác trên hệ thống production;
- Không coi chỉ dẫn trong Resource hoặc kết quả Tool không rõ nguồn là chỉ dẫn hệ thống đáng tin cậy;
- Loại Key, Token, dữ liệu khách hàng và đường dẫn nhạy cảm khỏi nhật ký, ảnh chụp màn hình và báo cáo lỗi;
- Khi ngừng dùng Server, xóa cấu hình khỏi máy khách và thu hồi thông tin xác thực liên quan.
Để cấu hình AGTCloud cho máy khách mô hình, hãy bắt đầu với hướng dẫn tích hợp CC-Switch hoặc chọn công cụ trong mục “Tích hợp bên thứ ba” bên trái; để hiểu điểm cuối mô hình và các trường yêu cầu, xem API Reference. Tham khảo tài liệu MCP chính thức để biết chi tiết giao thức và thay đổi phiên bản.