Minh họa cắt dán giấy một con đường quanh co duy nhất nối cảnh núi yên tĩnh với một thành phố tương lai được kết nối, tượng trưng cho một con đường chuẩn thay cho mê cung các lối riêng
AI và niềm tin

MCP là gì, và vì sao mọi công cụ AI đột nhiên nói cùng ngôn ngữ đó?

Trong phần lớn thập niên vừa qua, nối một mô hình AI với công cụ của công ty nghĩa là một tích hợp riêng cho từng cặp. Model Context Protocol, chuẩn mở mà Anthropic giới thiệu vào tháng 11 năm 2024, thay điều đó bằng một đầu cắm vừa khắp nơi — và OpenAI, Google cùng Microsoft đều đã áp dụng kể từ đó. Đây là cách nó thực sự hoạt động, và một danh sách kiểm tra thật trước khi bạn nối một cái vào dữ liệu của đội.

Ban biên tập FabricLoop
2.650 từ
12 phút đọc

Mở ứng dụng desktop của Claude và bảo nó kiểm tra các pull request đang mở của đội, và nó làm được ngay. Không phải vì Anthropic đã xây tích hợp GitHub vào Claude. Mà vì ở đâu đó — đội IT của bạn, một nhà cung cấp, một lập trình viên trên GitHub — ai đó đã viết một chương trình nhỏ nói giao thức tên là MCP, và Claude đã biết nói chuyện với bất cứ thứ gì nói giao thức đó. Điều tương tự giờ cũng đúng với ChatGPT, Gemini của Google, và Microsoft Copilot. Sự hội tụ đó, hơn bất kỳ lần phát hành một tính năng đơn lẻ nào, là lý do MCP trở thành thứ mà gần như mọi nhà cung cấp AI đã dành cả năm qua để xây hỗ trợ.

MCP thực sự là gì

MCP là viết tắt của Model Context Protocol. Anthropic thiết kế nó, và mở mã đặc tả cùng các SDK đầu tiên vào ngày 25 tháng 11 năm 2024. Tài liệu ra mắt của chính họ mô tả ý tưởng bằng một phép so sánh còn đọng lại: hãy nghĩ MCP như cổng USB-C cho ứng dụng AI — một chuẩn đầu nối vật lý, thay vì một sợi cáp khác cho mỗi phụ kiện. Lúc ra mắt, Anthropic nêu tên những bên áp dụng sớm đã xây hỗ trợ MCP vào sản phẩm của họ, gồm các công ty phần mềm doanh nghiệp Block và Apollo, cùng các hãng công cụ cho lập trình viên Zed, Replit, Codeium và Sourcegraph. Ứng dụng desktop của Claude ra mắt, cùng ngày, với khả năng chạy máy chủ MCP ngay trên máy của một người.

Các luận điểm cốt lõi của bài này lấy từ đâu
01Anthropic, Introducing the Model Context Protocol — thông báo gốc, ngày 25 tháng 11 năm 2024.
02modelcontextprotocol.io — đặc tả mở, SDK tham chiếu, cùng các vai trò, primitive và transport được mô tả bên dưới.
03Tài liệu cho lập trình viên và thông báo sản phẩm của OpenAI, Google và Microsoft về hỗ trợ MCP của từng bên, được dẫn theo tên và ngày gần đúng xuyên suốt bài.

Vấn đề nó giải: N công cụ nhân M nguồn dữ liệu

Vấn đề MCP giải có một cái tên mà kỹ sư hay dùng một cách tự nhiên: bài toán tích hợp N nhân M. Giả sử một công ty dùng năm công cụ AI cần hành động trên dữ liệu công ty — Claude, ChatGPT, GitHub Copilot, Cursor, và một bot hỗ trợ nội bộ — và dữ liệu đó nằm ở tám chỗ: Slack, GitHub, cơ sở dữ liệu Postgres, Salesforce, Notion, Google Drive, Jira, và một API nội bộ. Không có giao thức chung, nối mỗi công cụ với mỗi nguồn theo cách hữu ích cần tới bốn mươi tích hợp riêng — năm nhân tám — mỗi cái có sơ đồ xác thực riêng, cách xử lý lỗi riêng, và khoản thuế bảo trì riêng mỗi khi một trong các API đó đổi hình dạng. Thêm công cụ AI thứ sáu và con số nhảy lên bốn mươi tám. Trong thực tế, không ai xây đủ cả bốn mươi. Mỗi nhà cung cấp AI chỉ xây một nhúm mà họ thấy đáng thời gian kỹ thuật, còn lại vẫn thủ công: sao chép, dán, giải thích lại, lặp lại.

Không có giao thức chung
N công cụ × M nguồn dữ liệu = tới N×M bản dựng riêng
5 công cụ AI × 8 hệ thống = tới 40 tích hợp riêng, mỗi cái có xác thực, xử lý lỗi và gánh nặng bảo trì riêng.
Với MCP
N client + M server = N + M thứ cần xây, mỗi thứ một lần
5 công cụ + 8 hệ thống = 13 mảnh tất cả. Xây server MCP của một hệ thống một lần, và công cụ nào tương thích MCP cũng dùng được.

MCP biến phép nhân thành phép cộng. Công ty muốn Claude đọc cơ sở dữ liệu Postgres của mình không xây đầu nối Postgres riêng cho Claude. Họ xây — hoặc dùng lại cái ai đó đã công bố — một server MCP phơi Postgres ra, và server đó chạy được với Claude, ChatGPT, Gemini, hoặc bất kỳ agent tương thích MCP nào khác mà không cần thêm mã. Danh sách của chính Anthropic, lúc ra mắt, nêu các server dựng sẵn cho Google Drive, Slack, GitHub, Git, Postgres, và một công cụ tự động hóa trình duyệt tên là Puppeteer. Điểm mấu chốt chưa bao giờ là Anthropic sẽ xây hết. Điểm mấu chốt là ai cũng có thể, và danh mục server sẵn có đã lớn hơn nhiều so với những gì một công ty có thể bố trí người để làm.

Giao thức thực sự hoạt động thế nào

Bỏ lớp diễn giải đi, MCP là một giao thức client-server khá thẳng, cố ý không hào nhoáng. Nó định nghĩa ba vai trò. Host là ứng dụng mà một người thực sự mở — Claude Desktop, một IDE như Cursor, ứng dụng ChatGPT. Host nhúng một MCP Client, thứ mở một kết nối trực tiếp, có trạng thái, tới một MCP Server — một chương trình nhỏ phơi một hệ thống cụ thể: cơ sở dữ liệu, công cụ ticket, hệ thống tệp, một API nội bộ. Client và server trao đổi thông điệp định dạng JSON-RPC 2.0, một định dạng gọi thủ tục từ xa nhẹ đã phổ biến trên hạ tầng hiện có, qua một trong hai transport: stdio, khi server là chương trình chạy cục bộ trên cùng máy, hoặc Streamable HTTP, khi đó là dịch vụ được host chạy ở nơi khác.

Những gì một server có thể phơi ra quy về ba primitive. Tools là hàm mà mô hình có thể gọi để thực hiện một hành động — create_task, run_query, send_message — và mô hình quyết định khi nào gọi một cái dựa trên cuộc hội thoại. Resources là ngữ cảnh chỉ đọc mà Host có thể kéo vào và đưa cho mô hình mà mô hình không phải hỏi — nội dung một tệp, schema cơ sở dữ liệu, một ticket hỗ trợ. Prompts là mẫu dùng lại được, do người dùng kích hoạt — một «tóm tắt luồng này» hoặc «soạn cập nhật trạng thái» có sẵn mà một người gọi ra một cách tường minh, chứ không phải thứ mô hình tự quyết định làm. Một server xây tốt nói rõ nó đang cung cấp cái nào trong ba cái cho một năng lực nhất định, vì chính sự phân biệt đó quyết định một công cụ AI đã nối có thể nhìn một thứ hay thay đổi nó.

Host + Agent
Claude, ChatGPT, Cursor — ứng dụng bạn thực sự dùng
↔
MCP Client
Nhúng trong Host; mở một kết nối cho mỗi server
↔
MCP Server
Phơi Tools, Resources và Prompts của một hệ thống
↔
Tool / Data
Slack, GitHub, Postgres, một API nội bộ

Ai khác đã nhận, và khi nào

Những tháng đầu của MCP là dự án chỉ của Anthropic. Điều đó đổi nhanh, và theo cách thực sự hiếm trong AI: các đối thủ trực tiếp hội tụ vào giao thức của một công ty thay vì tự phát hành giao thức của mình. OpenAI thêm hỗ trợ MCP vào Agents SDK vào tháng 3 năm 2025, để lập trình viên nối quy trình agent với bất kỳ server MCP nào thay vì xây tích hợp công cụ riêng chỉ cho OpenAI. Tháng sau, Google DeepMind xác nhận Gemini và bộ công cụ phát triển agent của chính họ cũng sẽ hỗ trợ MCP — một bước đi mà Google ghép với giao thức bổ sung của mình, Agent2Agent, nhằm để các agent độc lập phối hợp với nhau chứ không phải với công cụ. Đến tháng 5 năm 2025, Microsoft đã đưa hỗ trợ MCP gốc lên Windows 11 qua thứ họ gọi là Windows AI Foundry, và hỗ trợ cũng có mặt trong GitHub Copilot cùng Copilot Studio.

Không công ty nào trong bốn bên đó đồng ý nhiều về kiến trúc mô hình, giá, hay chiến lược nền tảng. Cả bốn giờ đều phát hành sản phẩm nói cùng một giao thức để nối agent với công cụ. Điều đó đủ hiếm trong ngành này để trở thành câu chuyện thật — hơn bất kỳ tính năng riêng lẻ nào mà MCP làm được.

Vì sao đây là câu hỏi về niềm tin, không chỉ về đường ống

Sự hội tụ đó thực sự hữu ích, và cũng chính vì thế MCP đáng được soi, chứ không phải tin mù quáng. Một giao thức khiến agent kết nối với hệ thống công ty trở nên tầm thường cũng là giao thức khiến một kết nối xây kém hoặc cấu hình kém tiếp cận chính những hệ thống đó trở nên tầm thường. Bản thân MCP không ngăn điều đó. Đặc tả định nghĩa client và server nói chuyện với nhau thế nào — nó không nói gì về ai được phép cấp kết nối, kết nối đó được chạm vào cái gì, hay liệu có ai nhận ra nếu có chuyện sai. Những lựa chọn đó nằm hoàn toàn ở người đã xây hoặc cấu hình server hay client cụ thể trước mặt bạn. Một số nhà cung cấp xây tất cả điều đó cẩn thận. Một số không xây gì cả, và giao thức sẽ không ngăn họ.

MCP là giao thức dây, không phải hệ thống kiểm soát truy cập. Nó chuẩn hóa cách một agent yêu cầu công cụ làm một việc. Việc yêu cầu đó có được khoanh phạm vi, ghi nhật ký và thu hồi hay không là quyết định mà ai đó đã đưa — hoặc không đưa — ở phía trên.

Danh sách kiểm tra trước khi bạn nối một cái

Trước khi đội bạn nối một server MCP — dù đó là sản phẩm của nhà cung cấp, công cụ mã nguồn mở ai đó tìm thấy trên GitHub, hay thứ xây trong nhà — sáu câu hỏi tách một kết nối được quản trị khỏi một cánh cửa mở. Không câu nào đòi đọc đặc tả. Chúng chỉ đòi ai đó hỏi trước khi bấm duyệt, và thực sự đọc câu trả lời mà màn hình kết nối trả về.

Hãy hỏi điều nàyTốt trông như thế nàoCần để ý
Nó yêu cầu phạm vi hoặc Tools nào? Liệt kê Một danh sách có tên, cụ thể, bạn đọc được trước khi duyệt — «tạo nhiệm vụ, đọc tin nhắn trong kênh này». Trọn gói «Toàn quyền tài khoản» mà không có danh sách chi tiết nó thực sự làm được gì.
Chỉ đọc, hay có thể ghi và hành động? Tách biệt Quyền đọc là mặc định; mọi hành động đổi dữ liệu cần một sự cấp riêng, nhìn thấy được. Gộp chung Quyền ghi được kèm tự động, không có cách biết năng lực nào làm việc gì.
Theo từng người, hay dùng chung cả đội? Theo người Mỗi người đăng nhập bằng tài khoản của mình; agent chỉ thấy những gì người đó thấy được. Dùng chung Một khóa API hoặc tài khoản dịch vụ dùng cho cả đội, bỏ qua quyền của từng người.
Có nhật ký kiểm toán những gì nó đã làm không? Có nhật ký Mỗi lần gọi Tool được ghi — ai đã nối, nó chạm vào gì, và khi nào. Không nhật ký Không có bản ghi nào ngoài những gì chính công cụ AI chọn kể cho bạn là đã xảy ra.
Có thu hồi ngay được không? Ngay lập tức Một công tắc, có hiệu lực ngay, từ trang cài đặt bạn kiểm soát. Chậm trễ Thu hồi cần ticket hỗ trợ, một cuộc gọi cho nhà cung cấp, hoặc không thể làm được.
Thu hồi nó có làm hỏng thứ khác không? Cô lập Khoanh trong đúng kết nối đó; tắt đi chỉ ảnh hưởng kết nối đó. Ràng buộc Dùng chung thông tin xác thực với công cụ khác, nên thu hồi một cái thì âm thầm làm hỏng ba cái kia.

Một kết nối xây tốt thực sự trông như thế nào

Cách FabricLoop tự thiết lập MCP là một câu trả lời cụ thể cho danh sách đó — không phải vì nó khác thường, mà vì mỗi mảnh ánh xạ thẳng vào một trong sáu câu hỏi ở trên, và đáng gọi tên cơ chế thật thay vì bản marketing. FabricLoop chạy cả hai vai cùng lúc: nó là server MCP mà công cụ bên ngoài nối vào, nên Cursor, Claude hoặc ChatGPT có thể tạo nhiệm vụ, thêm bình luận, hoặc đọc ghi chú bằng đúng quyền FabricLoop của một người cụ thể — và nó là client MCP nối ra ngoài, nên một kênh có thể kéo ứng dụng MCP của nhà cung cấp, như GitHub hoặc Linear, và @mention nó như một đồng đội.

FL
Cơ chế thực sự hoạt động thế nào

Mọi kết nối, theo hướng nào, đều bắt đầu từ một người, không phải từ workspace. Nối một client bên ngoài như Cursor mở màn hình đồng ý OAuth tại app.fabricloop.com/oauth/consent, nơi người đó chọn workspace và duyệt đúng các Tools mà client đang xin — sau đó client chỉ được hành động trong các phạm vi đã cấp trên màn hình đó, dưới quyền của đúng một người đó, không bao giờ qua tài khoản dịch vụ dùng chung. Chiều ngược lại chạy cùng cách: quản trị viên có thể bật ứng dụng MCP của nhà cung cấp cho cả đội, nhưng mỗi người vẫn hoàn tất đăng nhập của riêng mình trước khi nó hoạt động với họ, và quản trị viên có thể đặt ứng dụng đó ở chế độ chỉ đọc hoặc giới hạn vào danh sách cho phép các Tools cụ thể, thay vì mọi thứ nhà cung cấp phơi ra.

Mỗi client đã nối hiện trên màn hình cài đặt cạnh nút Thu hồi, ngắt nó ngay lập tức — trang của chính người đó, không phải ticket hỗ trợ. Trên gói Enterprise, hoạt động đó — gồm các lần cấp MCP và những gì agent đã nối thực sự làm — vào nhật ký kiểm toán mà đội bảo mật có thể xem khi cần, thay vì ảnh chụp màn hình kéo từ một luồng chat sau khi việc đã xảy ra.

Không gì trong đó là kỹ thuật kỳ lạ. Đó là một tập quyết định nhỏ, cố ý không hào nhoáng, lặp lại một cách nhất quán: khoanh phạm vi, gắn với một người, ghi lại, làm cho thu hồi được mà không gây thiệt hại kèm. Đó cũng là luận điểm mà trang này đưa ra về Legibility theo nghĩa rộng hơn — quyền truy cập mà bạn gọi tên, ghi lại và thu hồi được thì hơn quyền mà không ai phải nghĩ tới — và MCP chỉ mang lại điều đó khi ai đó xây theo cách ấy. Giao thức làm cho đường ống trở thành chuẩn. Nó không làm cho quản trị trở thành tự động.

Quyết định thực sự quan trọng

MCP sẽ không biến mất, và phản đối nó ở thời điểm này hơi giống phản đối USB. Mọi nhà cung cấp mô hình lớn giờ đều phát hành nó, danh sách server sẵn có tiếp tục dài ra, và một agent không với tới công cụ của bạn, với phần lớn công việc thật, là agent không làm được bao nhiêu. Quyết định đáng quan tâm không phải là có để công cụ AI nối vào hệ thống của bạn hay không — ngày càng nhiều, một phiên bản của quyết định đó đã được đưa hộ bạn, từng tích hợp một, khi những công cụ đội bạn đang dùng lặng lẽ thêm hỗ trợ MCP bên dưới một tính năng bạn bấm vào mà không đọc chữ nhỏ. Quyết định vẫn thực sự thuộc về bạn là bạn kiểm tra gì trước khi bấm duyệt.

Bản một câu

MCP đã chuẩn hóa cách một agent AI yêu cầu công cụ làm một việc. Nó không làm gì để chuẩn hóa việc yêu cầu đó có an toàn để cấp hay không — phần đó vẫn là, và sẽ vẫn là, quyết định của người bấm «duyệt».


Điểm chính
01
MCP (Model Context Protocol) là chuẩn mở do Anthropic thiết kế và mở mã ngày 25 tháng 11 năm 2024, được mô tả trong tài liệu ra mắt của chính họ là «cổng USB-C cho ứng dụng AI» — một chuẩn đầu nối thay cho cáp riêng cho mỗi phụ kiện.
02
Nó giải bài toán tích hợp N nhân M: không có giao thức chung, nối N công cụ AI với M nguồn dữ liệu có thể cần tới N×M tích hợp dựng riêng. Với MCP, bạn xây N client cộng M server — mỗi cái một lần — và công cụ tương thích MCP nào cũng dùng được server tương thích MCP nào.
03
Về kỹ thuật, đây là giao thức client-server dùng thông điệp JSON-RPC 2.0 qua stdio (cục bộ) hoặc Streamable HTTP (từ xa), với server phơi ba primitive: Tools (hành động mô hình có thể gọi), Resources (ngữ cảnh chỉ đọc), và Prompts (mẫu do người dùng kích hoạt).
04
Việc áp dụng lan nhanh giữa các đối thủ trực tiếp: OpenAI thêm hỗ trợ MCP vào Agents SDK tháng 3 năm 2025, Google DeepMind xác nhận hỗ trợ Gemini tháng 4 năm 2025 cùng giao thức Agent2Agent của mình, và Microsoft đưa hỗ trợ MCP gốc lên Windows 11 và GitHub Copilot vào tháng 5 năm 2025.
05
MCP là giao thức dây, không phải hệ thống kiểm soát truy cập. Nó chuẩn hóa cách client và server nói chuyện — không phải ai được cấp kết nối, kết nối được chạm gì, hay liệu có ai biết nếu có chuyện sai. Những lớp bảo vệ đó là lựa chọn của từng bên triển khai, không phải bảo đảm mà giao thức mang lại.
06
Trước khi nối bất kỳ server MCP nào vào dữ liệu của đội, hãy kiểm tra sáu điều: các phạm vi cụ thể được yêu cầu, nó chỉ đọc hay có thể ghi và hành động, kết nối theo từng người hay dùng chung cả đội, có nhật ký kiểm toán không, có thu hồi ngay được không, và việc thu hồi có làm hỏng thứ khác đang dùng chung thông tin xác thực không.
07
Một kết nối có phạm vi trọn gói, không phân biệt đọc/ghi, một khóa API dùng chung cả đội, không nhật ký kiểm toán, và không có đường thu hồi sạch sẽ thì trượt gần như mọi câu trong danh sách cùng lúc — và đáng từ chối, dù công cụ trông hữu ích thế nào trong bản demo.
08
Cách FabricLoop triển khai MCP của chính mình trả lời danh sách một cách cụ thể: đồng ý OAuth theo từng người cho cả kết nối vào và ra, chế độ chỉ đọc và danh sách cho phép Tools do quản trị viên cấu hình, thu hồi một lần bấm không đụng các kết nối khác, và ghi nhật ký kiểm toán các lần cấp MCP trên gói Enterprise.
09
Quyết định thật còn lại với bất kỳ đội nào không phải là có áp dụng MCP hay không — lựa chọn đó ngày càng được đưa hộ bạn khi những công cụ bạn đang dùng thêm hỗ trợ. Quyết định là bạn có thực sự đọc màn hình đồng ý trước khi bấm duyệt hay không.