Bỏ qua để đến nội dung
Level 7 — MCP, API & Connectors Bài 4/11
Thời gian đọc: 6-8 phút

MCP Là Gì?

Model Context Protocol: chuẩn mở giải quyết bài toán N×M (N ứng dụng AI × M nguồn dữ liệu) bằng cách biến nó thành N+M. Kiến trúc Host/Client/Server, 6 primitive, và 4 nguyên tắc an toàn cấp giao thức — MCP không tự động đảm bảo an toàn, phụ thuộc vào implementor.

🎯 Bản chất cốt lõi ⚡️ Thực chiến ứng dụng 🛠️ Quy trình chuẩn 💡 Tối ưu hiệu suất
Chế độ đọc:
Tóm Tắt Nhanh Trong 3 Phút — Trọng Tâm Bài Học
1. Bản chất cốt lõi

Nắm vững nguyên lý và khái niệm nền tảng trước khi đi vào công cụ thực tế.

2. Thực thi chuẩn xác

Áp dụng quy trình từng bước, case study thực chiến và template mẫu có sẵn.

3. Tối ưu & Vận hành

Kiểm tra checklist hoàn thành, né tránh các sai lầm kinh điển để vận hành bền vững.

CHẶNG 1 · BẢN CHẤT & NGUYÊN LÝ

Phần 1: Bản chất & Nguyên lý

Nắm vững các khái niệm nền tảng, cơ chế hoạt động và mô hình tư duy cốt lõi.

1. Mục tiêu học tập

Sau bài này, bạn có thể:

🎯 BẢN CHẤT
Giải thích MCP là gì và vấn đề cụ thể nó giải quyết — không nhầm với “1 API bất kỳ” hay “1 tính năng riêng của Claude.”
🏗️ CẤU TRÚC
Liệt kê 6 “primitive” (đơn vị năng lực) MCP định nghĩa, chia 2 chiều.
⚡️ NGUYÊN LÝ
Áp dụng 4 nguyên tắc an toàn cấp giao thức khi đánh giá 1 MCP server mới.
🛠️ THỰC CHIẾN
Biết vì sao không nên trích 1 con số “bao nhiêu MCP server đang có” mà không ghi ngày kiểm chứng.
THỰC CHIẾN HỆ SINH THÁI

Top 3 Local MCP Servers phổ biến nhất cho người đi làm

1. Filesystem MCP
Cấp quyền cho AI đọc và ghi tài liệu trực tiếp vào các thư mục định sẵn trên máy tính, tự động sắp xếp file và xuất báo cáo.
2. Playwright MCP
Cho AI đôi mắt và bàn tay để tự động mở trình duyệt, điều hướng web, cào số liệu thị trường và chụp ảnh chụp trang tin.
3. GitHub & Database MCP
Truy vấn cơ sở dữ liệu SQL bằng tiếng Việt tự nhiên và tự động theo dõi, review các pull request, issue trực tiếp.

2. Khái niệm cốt lõi

Vấn đề cần giải quyết, trước khi nói tới MCP: mỗi mô hình AI dù mạnh tới đâu vẫn bị cô lập khỏi dữ liệu thật, vì mỗi nguồn dữ liệu (Google Drive, Slack, 1 database nội bộ…) đòi hỏi 1 cách tích hợp riêng — hệ thống legacy càng làm việc này phức tạp hơn. Đây là bài toán N×M: N ứng dụng AI × M nguồn dữ liệu, mỗi cặp cần 1 cách tích hợp riêng nếu không có chuẩn chung.

MCP là gì, ở mức khái niệm, không gắn 1 vendor: Model Context Protocol (MCP) là 1 giao thức mở, chuẩn hóa cách các ứng dụng LLM tích hợp với nguồn dữ liệu và công cụ bên ngoài. Về mặt kỹ thuật, MCP dùng định dạng thông điệp JSON-RPC 2.0 và duy trì kết nối có trạng thái (stateful) giữa các bên tham gia. MCP thay thế cách làm tích hợp rời rạc, tùy biến theo từng cặp ứng dụng–nguồn dữ liệu, bằng 1 chuẩn mở duy nhất — biến bài toán N×M thành bài toán N+M (mỗi bên chỉ cần tuân theo chuẩn 1 lần).

Quan trọng — MCP không thuộc về 1 công ty: dù do Anthropic khởi xướng, MCP là chuẩn mở, không thuộc về 1 sản phẩm hay công ty duy nhất. Đây là lý do danh sách “MCP server nào đang có” luôn thay đổi — hệ quả tự nhiên của việc bất kỳ ai cũng có thể xây server theo chuẩn này.

3. Tại sao nội dung này quan trọng

Toàn bộ phần còn lại của Level 7 (69-75: ứng dụng MCP, kết nối thật, xác thực, bảo mật) đứng trên nền của khái niệm này. Nếu không hiểu đúng MCP là 1 giao thức (protocol), bạn dễ nhầm nó với “1 API bất kỳ” hoặc “1 tính năng của Claude” — trong khi thực chất đây là chuẩn mở, giải quyết đúng bài toán N×M đã nêu ở mục 2.

4. Cơ chế hoạt động

Kiến trúc MCP định nghĩa 3 vai trò tham gia giao tiếp:

  • Host — ứng dụng LLM khởi tạo kết nối.
  • Client — thành phần connector nằm bên trong host, quản lý kết nối tới 1 server cụ thể.
  • Server — dịch vụ cung cấp context và năng lực cho client.

Giao tiếp giữa các vai trò xoay quanh 6 primitive, chia 2 chiều:

Server cấp cho Client:

  • Resources — dữ liệu/context (ví dụ: nội dung 1 tài liệu).
  • Prompts — mẫu tin nhắn/workflow dựng sẵn.
  • Tools — hàm mà model có thể thực thi (cơ chế thực thi đã học chi tiết ở bài 67 — MCP không phát minh lại cơ chế đó, chỉ chuẩn hóa cách khai báo nó).

Client cấp cho Server:

  • Sampling — cho phép server khởi xướng 1 hành vi “agentic” (yêu cầu client gọi lại LLM).
  • Roots — ranh giới URI/filesystem mà server được phép thao tác.
  • Elicitation — cho phép server hỏi thêm thông tin từ người dùng.

1 phiên MCP thật vận hành ra sao (vẫn vendor-neutral):

  1. Capability negotiation — host/client và server thống nhất năng lực nào dùng trong phiên này.
  2. Thiết lập kết nối stateful — khác 1 API call đơn lẻ rồi đóng (bài 65), MCP giữ trạng thái xuyên suốt phiên làm việc.
  3. Server expose primitive của nó — công bố Resources/Prompts/Tools.
  4. Client dùng primitive khi cần — gọi Tools để thực thi (dùng đúng cơ chế tool calling đã học bài 67), đọc Resources, và (nếu được phép) dùng Sampling/Roots/Elicitation.

5. Mental model

Tiếp nối ẩn dụ “nhà hàng” (bài 55) và “mạng lưới nhà cung cấp” (mở đầu Level 7): nếu bài 65 dạy “tờ đơn đặt hàng chuẩn” tới 1 nhà cung cấp cụ thể, MCP là mẫu đơn đặt hàng chung mà MỌI nhà cung cấp tham gia mạng lưới đều hiểu — bạn không cần học N kiểu đặt hàng khác nhau cho N nhà cung cấp, chỉ cần học đúng 1 mẫu.

Chính đặc tả MCP cũng đưa ra 1 phép so sánh hữu ích: MCP “lấy cảm hứng từ Language Server Protocol (LSP)” — giao thức đã chuẩn hóa cách các IDE hỗ trợ nhiều ngôn ngữ lập trình khác nhau mà không cần mỗi IDE tự viết lại tích hợp cho từng ngôn ngữ. MCP làm cho thế giới AI application điều mà LSP đã làm cho thế giới IDE.

CHẶNG 2 · THỰC CHIẾN ỨNG DỤNG

Phần 2: Thực chiến ứng dụng

Quy trình thực thi từng bước, case study cụ thể và bộ prompt/template áp dụng ngay.

6. Hướng dẫn từng bước

Checklist “đọc hiểu 1 MCP server mới”:

1
Server này expose Resources gì? (dữ liệu/context nào đọc được)
2
Server này expose Tools gì? (hành động nào agent có thể thực thi)
3
Server này có expose Prompts dựng sẵn không?
4
Server này có yêu cầu Sampling không? (có thể tự khởi xướng gọi LLM)
5
Roots giới hạn phạm vi nào? (được phép chạm tới những gì)
6
Mô tả tool đến từ nguồn đáng tin cậy, hay đang tin mù quáng annotation do chính server tự khai báo?

7. Ví dụ thực tế

(Ví dụ dưới đây phản ánh bối cảnh khi MCP công bố, tháng 11/2024 — dùng để hiểu động lực ra đời, KHÔNG mô tả hệ sinh thái hiện tại, vốn lớn hơn nhiều.) Khi công bố, Anthropic dẫn chứng: Block và Apollo tích hợp MCP; các công cụ như Zed, Replit, Codeium, Sourcegraph dùng MCP để agent coding lấy context từ codebase. Đi kèm là pre-built server mẫu cho Google Drive, Slack, GitHub, Postgres, Puppeteer. Claude Desktop và Claude Code (đã dùng ở bài 57, L6) là ví dụ 1 host cụ thể hỗ trợ MCP — không phải MCP chỉ tồn tại trong hệ sinh thái Claude.

8. Prompt/template/workflow

Checklist ở mục 6 chính là công cụ tái sử dụng chính của bài này — dùng lại mỗi khi gặp 1 MCP server mới, xuyên suốt các bài 69-73.

9. Visual hoặc diagram cần thiết

HostClientServer: Resources/Prompts/Tools
Hình 7.4 — Kiến trúc MCP: Host → Client → Server, với 6 primitive chia 2 chiều (Server cấp Resources/Prompts/Tools; Client cấp Sampling/Roots/Elicitation).

10. Bài tập thực hành

  1. Chọn 1 MCP server bất kỳ bạn có thể tiếp cận (ví dụ: 1 server có sẵn trong Claude Code, hoặc 1 connector trong danh mục Claude Connectors).
  2. Xác định: server đó expose Resources, Tools, và/hoặc Prompts gì?
  3. Nó có dùng Sampling/Roots/Elicitation không?
  4. Dựa trên mục 14, bạn có nên cấp quyền ghi (write) ngay từ đầu không, hay nên bắt đầu ở chế độ chỉ đọc?
CHẶNG 3 · TỐI ƯU & BẢO TRÌ

Phần 3: Tối ưu & Checklist

Checklist kiểm tra mức độ sẵn sàng, nhận diện các bẫy sai lầm và nguyên tắc vàng vận hành.

11. Checklist

12. Lỗi thường gặp

(Suy luận từ nguyên tắc [S26, S27], không phải danh sách lỗi đã quan sát độc lập.)

⚠️ LƯU Ý QUAN TRỌNG
Nhầm MCP với “1 API bất kỳ”. MCP là giao thức chuẩn hóa, không phải 1 API cụ thể — khác biệt này quyết định vì sao MCP mở rộng được qua nhiều nhà cung cấp thay vì khóa vào 1 vendor.
⚠️ LƯU Ý QUAN TRỌNG
Tin tưởng mặc định mô tả (annotation) của 1 tool lạ. Đặc tả MCP nói rõ: annotation mô tả hành vi tool nên bị coi là không đáng tin trừ khi đến từ server đã được xác minh.
⚠️ LƯU Ý QUAN TRỌNG
Dùng số liệu ecosystem của năm 2024 như hiện trạng ngày nay.

15. Best practices

Nguyên tắc 1
Luôn xác định rõ 1 MCP server expose primitive nào trước khi kết nối.
Nguyên tắc 2
Không tin tưởng mặc định annotation của tool lạ — xác minh nguồn trước.
Nguyên tắc 3
Bắt đầu ở chế độ chỉ đọc (Resources) trước khi cấp quyền cho Tools có khả năng ghi/hành động.
Nguyên tắc 4
Khi mô tả hệ sinh thái MCP, ưu tiên mô tả cơ chế (ổn định theo thời gian) hơn con số cụ thể (thay đổi liên tục).
16. Nội dung nâng cao — Case study: viết về nội dung dễ lỗi thời

Đây là ví dụ thực tế trong chính dự án này về xử lý 1 claim dễ lỗi thời. 1 tài liệu tham khảo từng nêu: “Claude có hơn 200 connector sẵn có”. Đối chiếu 2 tài liệu chính thức chính thức: Chính sách Connectors Directory xác nhận cơ chế (connector xây qua remote MCP server, có chính sách duyệt riêng) nhưng không công bố con số tổng cụ thể; trang danh mục cho thấy phân trang ước tính hàng trăm connector — cao hơn 200, nhưng cũng không có 1 con số chính thức duy nhất.

Nguyên tắc rút ra: khi viết về 1 hệ sinh thái mở dựa trên giao thức, ưu tiên mô tả cơ chế thay vì số liệu ecosystem tại 1 thời điểm — số liệu gần như chắc chắn đã đổi vào lúc bạn đọc. Nếu buộc phải nêu 1 con số, luôn gắn ngày kiểm chứng và nguồn.

Thông tin chuyên sâu & Nguồn tham khảo
⚠️ 13. Giới hạn & khi nào KHÔNG nên áp dụng
  • MCP không phải giải pháp cho mọi tích hợp. Nếu 1 tích hợp không cần AI/agent tham gia quyết định (ví dụ: đồng bộ dữ liệu định kỳ giữa 2 hệ thống nội bộ theo lịch cố định), 1 API tích hợp truyền thống (bài 65) vẫn là lựa chọn hợp lý — không cần “MCP hóa” mọi kết nối.
  • Bản thân giao thức không tự động đảm bảo an toàn. Đặc tả nói rõ: “MCP itself cannot enforce these security principles at the protocol level” — tuân thủ 4 nguyên tắc ở mục 14 phụ thuộc hoàn toàn vào cách implementor triển khai.
  • Bài này không đào sâu vai trò Host/Client/Server qua ví dụ thật đa dạng — đó là bài 69.
🔐 14. An toàn & quản trị (Safety/Governance)

Đặc tả MCP quy định 4 nguyên tắc an toàn ở tầng giao thức:

  1. User consent & control — người dùng phải đồng ý rõ ràng với mọi truy cập dữ liệu/hành động, giữ quyền kiểm soát những gì được chia sẻ.
  2. Data privacy — host phải xin phép trước khi để lộ dữ liệu người dùng cho server; không chuyển dữ liệu đi nơi khác nếu chưa đồng ý.
  3. Tool safety — tool đại diện cho khả năng thực thi mã tùy ý, phải coi là có rủi ro; annotation không nên tin tưởng mặc định.
  4. LLM sampling controls — người dùng kiểm soát việc có cho phép sampling hay không, nội dung prompt thực sự gửi, server thấy gì.

Đây là an toàn tầng giao thức (protocol-level) — khác an toàn tầng agent (guardrail, permission — học ở Level 8) và khác quản trị dữ liệu tầng tích hợp cụ thể (học ở bài 75) — 3 tầng riêng biệt, không tầng nào thay thế tầng kia.

📚 17. Nguồn tham khảo

Model Context Protocol — Specification (2025-11-25), modelcontextprotocol.io — kiến trúc, 6 primitive, 4 nguyên tắc an toàn · Introducing the Model Context Protocol, anthropic.com/news — bối cảnh/động lực ra đời, ví dụ early adopter (2024) · Kết Nối Claude Với Ứng Dụng Của Bạn (tham khảo, chỉ dùng làm ví dụ minh họa vấn đề lỗi thời) · Anthropic Connectors Directory FAQ · Claude Connectors · Dẫn chiếu (không trích dẫn mới): bài 65 (API), bài 67 (cơ chế tool calling).