MXH qua cơn hype rồi tui mới bắt đầu tìm hiểu và chia sẻ về MCP, tánh tui nó zậy, không thích đu trend, nào hứng thì đu sau 1 mình :))
Tui dành mấy ngày nghỉ lễ vừa rồi để vọc vạch MCP, và tui nhận ra là mình chỉ thực sự học được gì đó khi mà bắt tay vào làm, chứ không phải chỉ đọc
Tui đọc rất nhiều tài liệu về MCP, hỏi AI nhiều câu hỏi ngớ ngẩn, thẩm qua bao nhiêu post chiên da và tui nghĩ tui đã hiểu hết rồi, ba cái đồ iu này có gì đâu...
Cho tới khi tui bắt tay vào làm, làm thật sự ấy, không phải chỉ "hello world" hay pull cái source đâu đó về tìm cách khởi động nó lên đâu
Và đây là những gì tui học được: 👇
---
1/ MCP là cái gì? Tại sao cần MCP?
Hỏi AI hoặc search Google, thì cũng ra một đống câu trả lời rồi. Nên tui giải thích theo kiểu của tui hiểu:
MCP = Model Context Protocol = Giao Thức Ngữ Cảnh Dành Cho Mô hình (AI)
(Giao thức = cách thức giao tiếp)
So sánh như bên web thì máy tính của chúng ta muốn duyệt web nằm trên máy chủ, thì phải dùng qua browser để nói chuyện với máy chủ bằng giao thức HTTP vậy.
AI thì cần công cụ (như tìm kiếm trên internet, đọc nội dung file, móc dữ liệu từ daatbase ra,...) để nạp thêm thông tin cho ngữ cảnh (context) và đưa ra phản hồi chính xác hơn tới người dùng yêu cầu.
Thông thường mỗi ông AI sẽ phải tự phát triển công cụ cho mình và cắm vào AI, công cụ thì vô hạn mà nguồn lực của mấy ổng thì có hạn, cho nên bây giờ có chuẩn MCP giúp đẩy việc đó cho các bên thứ 3
Hiểu đơn giản MCP server là nơi chứa công cụ, mấy ông AI thích dùng công cụ nào thì chỉ việc kết nối tới MCP server đó và dùng thôi, không cần phải tự làm nữa.
Ủa có dễ hiểu hơn không hen? 😅
2/ AI cũng giỏi coding, nhưng nó không giỏi "cập nhật" lắm đâu...
Mới tuần trước tui còn đọc về SSE transport, giờ bay vào làm ngồi đọc docs đã thấy deprecated, thay vào đó là "Streamable HTTP" transport, AI nó ngáo luôn và liên tục trộn lẫn giữa 2 cái transports này với nhau, tui phải gửi link docs bắt nó đọc liên tục :))
Đây cũng là lý do vì sao bọn AI lại rất cần MCP (tools), để chúng có thể cập nhật những thông tin mới nhất, hoặc có thể cắm sâu vào dữ liệu cá nhân/doanh nghiệp để hiểu được bối cảnh tốt hơn (context)
3/ Thôi đi sâu tí nè, MCP có 2 loại kết nối chính:
Như đã nói ở trên: "stdio" và "streamable http" (thay cho "sse")
stdio: dành cho MCP server chạy trên máy của người dùng, hầu hết các ứng dụng AI chat (như Claude Desktop) đều dùng transport này, khi cài đặt MCP server, bạn sẽ phải kéo nó về máy của mình và để nó chạy thì ứng dụng AI chat mới "nói chuyện" với nó được
Streamable HTTP: dành cho MCP server chạy trên... server 😅 hay còn gọi là "Remote MCP server", tức là nếu bạn tạo ra một MCP server và deploy nó lên server của bạn, thì các công cụ AI chat kia có thể connect tới MCP server này bằng "Streamable HTTP" transport (chứ không dùng "stdio" transport như trên được)
Bỏ qua SSE (Server-Sent Event) transport luôn đi, đằng nào nó cũng bị deprecated rồi, mà nó cũng chả khác Streamable HTTP mấy đâu
4/ Có cần thiết phải có MCP không?
Thiệt sự là tui vẫn thấy mông lung...
Tui thấy "MCP" không khác gì "API wrapper" cả, ai chửi tui ngu tui chịu, chứ tui thấy tui không phải người duy nhất đâu, tui ngu có hội đàng hoàng, không tin lội lên mục "Discussions" của MCP repo mà xem, nhiều người combat tung toé trên đó cũng vì vụ này 😆
Cũng có vài người nêu ra được vì sao ta phải cần giao thức mới, ví dụ như "API" chỉ qua RESTFUL/HTTP trong khi AI cần nhiều hơn thế ("stdio" - chạy ở client)? Hmm...
Thật ra với những giao thức (protocol) hiện có, chỉ cần làm thêm cái cầu nối (bridge) là đã giải quyết được bài toán rồi, tạo ra giao thức mới này cảm giác như đang "reinvent the wheel" vậy, ai có suy đoán nào sâu xa hơn thì comment bên dưới "khai sáng" cho tui zới nha!
5/ Nhưng mà thôi, tui cũng thấy MCP nó hay, vì nó khá "mở", giống như là cánh cổng cơ hội cho các DN local và các niche micro SaaS vậy
Tui thử chuyển mấy cái micro SaaS (API-based) của tui qua MCP để gắn vào em chatbot DigiCord nhà trồng xem sao, cũng nhờ có AI và API sẵn có, xẹt xẹt cả ngày cũng xong, tui open source hết và để link bên dưới, ai quan tâm thì cứ tham khảo hen
Rồi vì sao tui thấy hay, vì nó là cơ hội cho các DN local có thể "cài cắm" dịch vụ của mình vào AI
Bạn nhìn cái hình diagram sẽ hiểu: nếu để các nhà cung cấp AI tự làm tools, thì còn khuya mới tới lượt của DN anh trai bán nước mía kia được. Nhưng mà bây giờ với MCP này thì anh zai kia chỉ việc mở cái API đặt nước mía ra cắm vô MCP là xong, rồi la làng lên "bà con cắm cái này vô Claude/ChatGPT là sai nó đi mua nc mía được nè!"
Ngta tò mò là cắm liền ấy chứ, lại chả ngầu quá cơ! 😁
6/ Tiềm năng phát triển:
MCP còn mới, khá ít ứng dụng AI hiện tại đang hỗ trợ MCP, như ChatGPT cũng chưa, Gemini cũng chưa, chỉ có Claude (đương nhiên rồi, cha đẻ của MCP mà) và một số công cụ AI chat có hỗ trợ thôi - như Cursor, Windsurf, TypingMind, BoltAI, DigiCord (của tui hehe mà tui lười quá chưa có viết docs 😂),...
Thiệt ra là cả OpenAI & Google đều đã thông báo là ChatGPT & Gemini đang được tích hợp MCP rồi! (làm sao mà chống lại được xu thế chứ)

Lý do mà chưa có nhiều công cụ AI chat hỗ trợ đó theo tui nghĩ một phần vì giao thức này mới nên chưa được nghiên cứu đủ sâu, có thể dẫn đến rủi ro bảo mật, với nó còn nhiều breaking changes quá, maintain cũng mệt, một phần khác có lẽ là vì... nó được tạo ra bởi đối thủ cạnh tranh trực tiếp chăng (Anthropic/Claude)? 😂
À đúng rồi, còn một lý do nữa là: NÓ CÒN QUÁ "KỸ THUẬT"!
Người dùng phổ thông làm sao biết cấu hình JSON, environment variables hay `bearer authorization` là gì?
Nên tui nghĩ MCP sẽ còn một bước nhảy vọt khác nữa, đó là bình dân hoá tiến trình cài đặt cho người dùng phổ thông.
7/ Chợ MCP
Để MCP phổ biến hơn, nó buộc phải có một (vài) nơi phân phối, gọi dân dã là cái chợ (marketplace), giống như cái cách mà ThemeForest đang làm với web hay N8N market bán workflow vậy
Hiện chủ đề về việc xây dựng cái "chợ" này vẫn còn đang thảo luận khá sôi nổi trên Github Discussions của MCP repo, lần cuối mình xem là tới khúc đặt tên là MCP Registry, nghe cứ như Docker Registry hay NPM Registry vậy, đúng là mấy ông tech thuần kỹ thuật 😅
Bên cạnh đó thì các chợ tự phát cũng đã bắt đầu xuất hiện, lớn nhất bây giờ có glama (4000+ mcp servers), mcp.so hay gần đây Dũng có chia sẻ là aci.dev - mình thích cách làm này hơn vì nó user friendly hơn
TẠM KẾT
Với tốc độ phát triển này, MCP sẽ sớm trở nên phổ biến hơn thôi
Cuối năm ngoái tui có viết về "AI + Automation + Micro SaaS" và nói rằng bạn nên mở API cho sản phẩm/dịch vụ của bạn sớm đi, vì nó sẽ là công cụ để AI tiếp cận với những gì bạn cung cấp một cách dễ dàng, thì bây giờ MCP chính là chất xúc tác mạnh mẽ hơn bao giờ hết cho việc đó!
Bất kỳ công cụ / sản phẩm / dịch vụ nào ngoài kia cũng nên có cho mình một cái MCP
Yes, tui vẫn nghĩ: "MCP is just an API wrapper!" 😁
Còn đây là repo của mấy cái MCP servers của tui vừa tạo:
SearchAPI - Tìm kiếm Google, Bing,...
https://github.com/mrgoonie/searchapi-mcp-server
ReviewWeb.site - Tóm tắt URL, convert sang Markdown, chụp hình web page, scrape URL, extract data từ web URL,...
https://github.com/mrgoonie/reviewwebsite-mcp-server
ScreenshotOne - Chụp hình website (này sản phẩm của người khác, không phải của tui, tui chỉ ngứa tay thôi)
https://github.com/mrgoonie/screenshotone-mcp-server
Nói chung là để vọc vạch là chính, hỗ trợ đầy đủ 2 transports (stdio và streamable http), ai muốn tham khảo qua thì cứ tự nhiên hen!
MCP and APIs are not adversaries, they’re layer in an AI stack