MCP là gì? MCP là viết tắt của Model Context Protocol — giao thức mở giúp mô hình AI kết nối với dữ liệu và công cụ bên ngoài theo một chuẩn chung duy nhất. Thay vì mỗi công cụ AI phải viết riêng một tích hợp cho từng ứng dụng, MCP đóng vai trò như “cổng USB-C của thế giới AI”: cắm một lần, dùng được ở mọi nơi. Với developer, MCP chính là mảnh ghép biến một chatbot biết trả lời thành một AI agent biết hành động.
Nếu bạn đang học lập trình và thấy agentic coding, AI agent, MCP server xuất hiện dày đặc trên GitHub, bài này giải thích MCP là gì từ nền tảng, không giả định bạn biết gì trước đó.

1. AI agent trong lập trình là gì?
AI agent là hệ thống AI nhận một mục tiêu, tự lập kế hoạch, tự gọi công cụ để thực thi, rồi tự kiểm tra kết quả và lặp lại cho tới khi xong.
Khác biệt cốt lõi so với chatbot rất đơn giản: chatbot trả lời, agent hành động.
Một ví dụ đời thường
Hãy tưởng tượng bạn nhờ một người bạn giúp đỡ.
- Kiểu chatbot: bạn hỏi “sửa lỗi này thế nào?”, người bạn đọc hướng dẫn cho bạn nghe. Bạn vẫn phải tự gõ.
- Kiểu agent: bạn nói “sửa giúp mình lỗi này”. Người bạn mở máy, đọc code, sửa file, chạy test, đến khi test xanh mới báo lại.
Khác biệt không nằm ở trí thông minh, mà ở quyền truy cập công cụ. Một mô hình ngôn ngữ chỉ biết sinh chữ. Muốn nó đọc file, chạy lệnh hay gọi API, ta phải cấp cho nó “tay chân”.
Bốn thành phần của một AI agent
Mọi agent lập trình hiện nay, dù là Claude Code, Cursor hay Copilot Agent Mode, đều gồm bốn phần:
- Mô hình ngôn ngữ (LLM) — bộ não, lo suy luận và ra quyết định.
- Bộ nhớ (memory) — lưu ngữ cảnh phiên làm việc và lịch sử thao tác.
- Công cụ (tools) — các hàm agent gọi được: đọc file, chạy shell, query database.
- Bộ điều phối (orchestration) — vòng lặp quyết định gọi tool nào, khi nào dừng.
Trong bốn phần đó, tools từng là nút thắt lớn nhất. Đó chính là lý do MCP ra đời.
Lưu ý kỹ thuật: agent không “tự học và ngày càng thông minh” theo nghĩa tự cập nhật trọng số mô hình. Nó chỉ ghi nhớ trong phạm vi bộ nhớ được cấp cho phiên làm việc.
Muốn hiểu sâu hơn về khái niệm agent, đọc bài AI Agent là gì và cách hoạt động.
2. MCP là gì và vì sao nó quan trọng với developer?
Để trả lời đầy đủ câu hỏi MCP là gì, hãy nhìn vào vấn đề mà nó sinh ra để giải quyết. MCP là giao thức chuẩn hóa cách một ứng dụng AI lấy ngữ cảnh và gọi công cụ từ các hệ thống bên ngoài. Anthropic công bố giao thức này cuối năm 2024, sau đó mở mã nguồn cho cộng đồng.
Vấn đề MCP giải quyết: bài toán M×N
Giả sử bạn có 5 công cụ AI (Claude Desktop, Cursor, VS Code, ChatGPT desktop, một agent tự viết). Bạn muốn cả 5 đều kết nối được với 8 hệ thống: GitHub, Postgres, Slack, Jira, Google Drive, Sentry, Notion, filesystem.
Không có chuẩn chung, bạn cần 5 × 8 = 40 tích hợp riêng biệt. Mỗi cái một kiểu code, một kiểu xác thực, một kiểu xử lý lỗi.
Có MCP, con số rút xuống còn 5 + 8 = 13. Mỗi ứng dụng AI viết một client. Mỗi hệ thống viết một server. Tất cả nói chung một giao thức.
Đây chính là điều USB-C đã làm cho phần cứng. Trước USB-C, mỗi thiết bị một cổng sạc. Sau USB-C, một dây dùng cho tất cả.
Kiến trúc MCP là gì: host, client và server
MCP dùng mô hình client–server, gồm ba vai trò:
- MCP Host — ứng dụng AI bạn dùng trực tiếp: Claude Code, VS Code, Claude Desktop.
- MCP Client — thành phần bên trong host, giữ kết nối tới đúng một server.
- MCP Server — chương trình cung cấp dữ liệu và công cụ: filesystem, Postgres, Sentry.
Một host mở nhiều client cùng lúc, mỗi client nối tới một server riêng. Nhờ vậy agent vừa đọc được file local, vừa query database, vừa tra ticket trên Jira.
Ba primitive mà MCP server cung cấp
Theo tài liệu kiến trúc chính thức của MCP, một server có thể expose ba loại “nguyên thủy”:
- Tools — hàm agent gọi được để hành động. Ví dụ:
create_issue,run_query. - Resources — dữ liệu agent đọc được, định danh bằng URI. Ví dụ: nội dung file, schema database.
- Prompts — template prompt tái sử dụng. Ví dụ: mẫu review code, mẫu viết commit message.
Cách phân biệt nhanh: tools là động từ, resources là danh từ, prompts là công thức.
Bản đặc tả mới nhất: 2026-07-28
Bản spec 2026-07-28 là lần sửa đổi lớn nhất từ khi MCP ra mắt. Bốn thay đổi đáng chú ý:
- Stateless core — bỏ handshake
initializevà session. Mỗi request tự chứa đủ thông tin trong trường_meta. Nhờ đó server chạy được sau load balancer round-robin thường, khỏi cần sticky session. - Multi Round-Trip Requests (MRTR) — khi cần hỏi thêm người dùng giữa chừng, server trả về
InputRequiredResultkèmrequestState. Client gửi lại câu trả lời, instance nào cũng xử lý tiếp được. - Cache kết quả list —
tools/list,prompts/list,resources/listnay kèmttlMsvàcacheScope. - Siết chặt authorization — validate
isstheo RFC 9207, ràng buộc credential với authorization server phát hành.
Ngoài ra, sampling và logging phía client đã bị deprecated.
Hệ sinh thái MCP là gì ở thời điểm 2026?
Vài con số để hình dung mức độ lan rộng (nguồn: báo cáo ngành, nên xem là ước lượng):
- SDK MCP đạt khoảng 97 triệu lượt tải mỗi tháng tính đến tháng 3/2026.
- Registry chính thức ghi nhận gần 18.800 server vào tháng 7/2026.
- SDK chính thức có cho TypeScript, Python, C#, Java và Swift.
- Cursor, Zed, Windsurf, VS Code đều tích hợp sẵn MCP client.
Tuy nhiên, phần lớn server công khai là wrapper cộng đồng hoặc thử nghiệm. Học thì tốt, nhưng đưa vào production phải cân nhắc kỹ.
3. AI agent hoạt động thế nào khi có MCP?
Vòng lặp của một agent gồm bốn bước, lặp đi lặp lại cho tới khi đạt mục tiêu.
Vòng lặp 4 bước
- Nhận input — bạn giao mục tiêu bằng ngôn ngữ tự nhiên.
- Lập kế hoạch — LLM chia mục tiêu thành các bước nhỏ.
- Hành động — agent gọi tool qua MCP để thực thi từng bước.
- Đánh giá — agent đọc kết quả, so với mục tiêu, quyết định làm tiếp hay dừng.
Đi qua một ví dụ thật từ đầu đến cuối
Giả sử bạn gõ vào Claude Code: “Tìm tất cả hàm còn dùng API cũ trong repo, sửa sang API mới, chạy test.”
Đây là những gì diễn ra:
- Vòng 1. Agent gọi
tools/list, thấy server córead_file,write_file,search_files. - Vòng 2. Agent gọi
search_filesvới pattern của API cũ. Nhận về 7 file. - Vòng 3. Agent đọc từng file, sửa, rồi ghi lại bằng
write_file. - Vòng 4. Agent chạy test qua tool shell. Kết quả: 2 test fail.
- Vòng 5. Agent đọc log lỗi, phát hiện thiếu một tham số, sửa tiếp. Test xanh, agent dừng.
Điểm mấu chốt: bạn không hề chỉ định file nào, không viết một dòng regex nào. Agent tự khám phá công cụ, tự quyết trình tự.
Giao thức bên dưới trông ra sao?
MCP dùng JSON-RPC 2.0. Một lời gọi tool thực tế trông như sau:
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "search_files",
"arguments": {
"pattern": "legacyApiClient",
"path": "./src"
},
"_meta": {
"io.modelcontextprotocol/protocolVersion": "2026-07-28",
"io.modelcontextprotocol/clientInfo": {
"name": "example-client",
"version": "1.0.0"
}
}
}
}
Server trả về kết quả cũng bằng JSON, trong mảng content. Không có gì huyền bí ở đây — chỉ là JSON gửi qua stdin/stdout hoặc HTTP POST.
Hai kiểu transport
MCP hỗ trợ hai cách truyền dữ liệu:
- stdio — server chạy như tiến trình con trên máy bạn, giao tiếp qua standard input/output. Nhanh, không qua mạng, hợp cho công cụ local.
- Streamable HTTP — server chạy từ xa, client gửi HTTP POST, stream kết quả bằng Server-Sent Events. Hợp cho SaaS, hỗ trợ OAuth.
Khi mới học, hãy bắt đầu với stdio. Nắm được hai kiểu transport là bạn đã hiểu phần lớn MCP là gì ở mức kỹ thuật.
4. Ví dụ ứng dụng thực tế của MCP và AI agent
Dưới đây là những trường hợp đang chạy thật, không phải demo trên slide.
Trong công việc lập trình hằng ngày
- Claude Code — agent chạy trong terminal, tích hợp MCP sâu, mạnh ở refactor nhiều file.
- Cursor — IDE đặt agent làm trung tâm, nhúng sẵn MCP client.
- GitHub Copilot Agent Mode — rẻ hơn, dễ dùng cho người ngại terminal.
- VS Code — đóng vai MCP host, cho phép cắm thêm server tùy ý.
Bảng xếp hạng như SWE-bench thay đổi liên tục. Vì vậy, đừng chọn công cụ chỉ vì một con số benchmark.
Ngoài phạm vi viết code
- Server Sentry — agent đọc stack trace lỗi production rồi đề xuất bản vá.
- Server database — agent query dữ liệu trả lời câu hỏi nghiệp vụ, bạn không cần viết SQL.
- Server CI/CD — agent đọc log build hỏng và chỉ ra nguyên nhân.
Những gì MCP và agent chưa làm được
Phần này quan trọng, và ít bài viết chịu nói thẳng.
- Ảo giác vẫn tồn tại. Agent có thể gọi đúng tool nhưng diễn giải sai kết quả.
- Chuỗi dài dễ lỗi dây chuyền. Sai ở bước 3 thì các bước sau sai theo.
- Chi phí token tăng nhanh. Mỗi vòng lặp đều tốn tiền.
- Rủi ro bảo mật là có thật. Prompt injection đứng số 1 trong OWASP Top 10 cho LLM Applications 2025.
Ngoài ra, các khảo sát 2026 ghi nhận tỷ lệ đáng lo ở nhiều MCP server công khai. Command injection, path traversal và SSRF xuất hiện ở một phần không nhỏ số server được quét. Tháng 11/2025, ngay cả server Git chính thức cũng từng bị phát hiện lỗ hổng nghiêm trọng. Xem thêm phân tích bảo mật MCP của Checkmarx.
Kết luận thực dụng: chỉ cài MCP server từ nguồn bạn tin tưởng, và cấp quyền tối thiểu.
Bạn muốn học AI Coding bài bản thay vì mò mẫm? CodeGym Đà Nẵng có lộ trình AI Coding thực chiến: dựng agent, viết MCP server, review code AI sinh ra, đưa vào quy trình làm việc thật. Học trực tiếp tại Đà Nẵng hoặc online. 👉 Xem lộ trình AI Coding
5. Biết MCP là gì rồi, bắt đầu thực hành thế nào?
Phần này dành cho bạn chưa từng động vào MCP. Ta đi hai chặng: dùng server có sẵn, rồi tự viết server đầu tiên.
Chặng 1: Cài một MCP server có sẵn
Cách nhanh nhất để cảm nhận MCP là gì trong thực tế là cài thử một server có sẵn.
Đầu tiên, bạn cần Node.js phiên bản 18 trở lên. Kiểm tra trước:
node --version
npm --version
Sau đó mở file cấu hình của MCP host bạn đang dùng và khai báo server filesystem:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/duong/dan/toi/thu-muc-du-an"
]
}
}
}
Giải thích: filesystem là tên bạn tự đặt; npx là cách khởi chạy; -y để khỏi bị hỏi lại khi cài package; đường dẫn cuối là thư mục duy nhất agent được phép truy cập.
Cuối cùng, khởi động lại host. Nếu thành công, agent đã đọc được file trong thư mục đó.
Chặng 2: Tự viết MCP server đầu tiên
Bây giờ ta viết một server nhỏ, có đúng một tool: tính số ngày còn lại tới một mốc thời gian.
Đầu tiên, tạo dự án và cài SDK:
mkdir mcp-demo && cd mcp-demo
npm init -y
npm install @modelcontextprotocol/sdk zod
Tiếp theo, tạo file server.js:
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
// 1. Khoi tao server, dat ten va phien ban
const server = new McpServer({
name: "demo-deadline",
version: "1.0.0"
});
// 2. Dang ky mot tool ten days_left
server.registerTool(
"days_left",
{
title: "Dem ngay con lai",
description: "Tinh so ngay tu hom nay toi mot ngay muc tieu",
inputSchema: { targetDate: z.string() }
},
async ({ targetDate }) => {
const diff = new Date(targetDate) - new Date();
const days = Math.ceil(diff / (1000 * 60 * 60 * 24));
return {
content: [{ type: "text", text: "Con " + days + " ngay." }]
};
}
);
// 3. Ket noi server qua stdio
const transport = new StdioServerTransport();
await server.connect(transport);
Ba khối code trên tương ứng ba việc: tạo server và khai báo danh tính; đăng ký tool kèm mô tả và tham số; mở kênh stdio. Phần description rất quan trọng — LLM đọc chính dòng này để quyết định có gọi tool hay không.
Ngoài ra, đừng quên thêm "type": "module" vào package.json để dùng được cú pháp import.
Cuối cùng, khai báo server này trong cấu hình host, rồi thử hỏi: “Còn bao nhiêu ngày nữa tới 31/12?”. Nếu agent gọi đúng tool days_left, bạn đã viết xong MCP server đầu tiên.
Ba lỗi người mới hay mắc
- Viết description quá sơ sài. LLM chỉ đọc mô tả, không đọc code. Mô tả mơ hồ thì tool không bao giờ được gọi.
- Dùng đường dẫn tương đối trong cấu hình. Luôn dùng đường dẫn tuyệt đối.
- Ghi log ra stdout khi dùng stdio. Kênh đó dành cho JSON-RPC. Hãy log ra stderr.
Khi debug, hãy dùng MCP Inspector. Đây là công cụ chính thức cho phép gọi thử tool mà không cần mở host.
Lộ trình học hợp lý cho sinh viên IT
Nếu bạn là sinh viên năm 2–3 tại Đà Nẵng, thứ tự học nên là:
- Vững nền tảng một ngôn ngữ (JavaScript hoặc Python) và Git.
- Dùng thành thạo một agent có sẵn: Claude Code hoặc Cursor.
- Cài và cấu hình vài MCP server phổ biến.
- Tự viết một server nhỏ giải quyết đúng một vấn đề của bạn.
- Đưa nó vào portfolio, mô tả rõ bài toán và cách giải.
Bước 5 tạo khác biệt lớn khi ứng tuyển. Nhà tuyển dụng gặp quá nhiều CV ghi “biết dùng ChatGPT”, nhưng rất ít CV có sản phẩm agent chạy được. Xem thêm cách xây portfolio trong cụm Thực tập IT và bài kỹ năng AI giúp lập trình viên tăng lương.
6. MCP thay đổi gì với nghề lập trình?
Hiểu MCP là gì cũng giúp bạn nhìn rõ hơn tương lai nghề nghiệp. MCP không xóa sổ nghề lập trình, nhưng nó dịch chuyển trọng tâm công việc.
Agent làm tốt: boilerplate, refactor lặp lại, sinh test, tra cứu tài liệu.
Agent chưa làm tốt: quyết định kiến trúc, đánh đổi kỹ thuật, hiểu bối cảnh nghiệp vụ, chịu trách nhiệm khi hệ thống hỏng.
Vì vậy, bạn cần bổ sung: thiết kế context cho agent, review code AI sinh ra một cách hoài nghi, và hiểu ranh giới quyền truy cập của tool.
Nói ngắn gọn: bạn chuyển từ người gõ code sang người thiết kế và kiểm định. Nhưng muốn kiểm định được, bạn vẫn phải biết code. Bỏ nền tảng để nhảy thẳng vào agent là cách nhanh nhất để không phát hiện nổi lỗi AI tạo ra.
Muốn hiểu thêm về cách viết code cùng AI, đọc bài vibe coding là gì.
7. Câu hỏi thường gặp (FAQ)
MCP là gì và khác gì so với gọi API thông thường?
MCP là giao thức chuẩn hóa cách mô hình AI lấy ngữ cảnh và gọi công cụ bên ngoài. Khác biệt so với gọi API trực tiếp là ở khả năng khám phá: agent tự hỏi server có tool nào qua tools/list, đọc mô tả rồi quyết định gọi. Với API thường, lập trình viên phải hardcode sẵn từng lời gọi trong code.
Học MCP có cần biết lập trình trước không?
Có, bạn nên biết cơ bản một ngôn ngữ như JavaScript hoặc Python. Chỉ để dùng MCP server có sẵn thì bạn chỉ cần biết sửa file JSON cấu hình. Nhưng để viết server riêng, bạn cần hiểu hàm, tham số, xử lý bất đồng bộ và cách chạy chương trình từ terminal.
Dùng MCP server của người lạ có an toàn không?
Không mặc định an toàn. Các khảo sát 2026 cho thấy nhiều server công khai tồn tại lỗ hổng như command injection, path traversal hay SSRF. Prompt injection và tool poisoning là rủi ro thực tế. Hãy chỉ cài server từ nguồn uy tín, đọc mã nguồn nếu có thể, và cấp quyền tối thiểu cho từng server.
Bản spec MCP 2026-07-28 thay đổi những gì đáng chú ý?
Thay đổi lớn nhất là core stateless: bỏ handshake initialize và session, mỗi request tự chứa đủ thông tin. Ngoài ra có Multi Round-Trip Requests cho tình huống cần hỏi thêm người dùng, cache kết quả list bằng ttlMs, và siết chặt authorization theo hướng OAuth/OIDC. Sampling và logging phía client bị deprecated.
Nên bắt đầu với Claude Code, Cursor hay Copilot?
Tùy thói quen làm việc. Claude Code mạnh nhất ở terminal và tích hợp MCP sâu, hợp khi refactor nhiều file. Cursor phù hợp nếu bạn muốn ở lại trong IDE. Copilot Agent Mode rẻ hơn và dễ tiếp cận với người ngại dòng lệnh. Lời khuyên thực tế: thử cả ba trong một tuần rồi chọn.
Sinh viên IT ở Đà Nẵng nên học MCP từ đâu?
Bắt đầu bằng tài liệu chính thức trên modelcontextprotocol.io, kèm MCP Inspector để thử nghiệm. Sau đó tự viết một server nhỏ giải quyết vấn đề thật của bạn. Nếu muốn học có lộ trình và người hướng dẫn, khóa AI Coding của CodeGym Đà Nẵng đi từ nền tảng đến dự án agent hoàn chỉnh.
Kết luận
Tóm lại, MCP là gì? Đó là chuẩn kết nối giữa AI agent và các công cụ bên ngoài. Ba ý cần nhớ:
- MCP là chuẩn kết nối, biến bài toán tích hợp M×N thành M+N.
- Agent = LLM + bộ nhớ + tools + điều phối. MCP lo phần tools, phần từng khó nhất.
- Bắt đầu nhỏ. Cài một server có sẵn, rồi tự viết một server chỉ có một tool.
Công cụ AI sẽ còn đổi tên liên tục. Nhưng tư duy agentic — giao mục tiêu, cấp công cụ, kiểm định kết quả — thì sẽ ở lại.
Học AI Coding thực chiến tại CodeGym Đà Nẵng
Lộ trình AI Coding dạy bạn dựng agent, viết MCP server và tích hợp AI vào quy trình phát triển thật. Học viên làm dự án chạy được, đủ đưa vào portfolio khi ứng tuyển.
👉 Xem chi tiết lộ trình AI Coding hoặc để lại thông tin để được tư vấn lộ trình phù hợp.





0 Lời bình