TROISINH
FrontierMulti-Agent & Compound Systems

MCP — Model Context Protocol, chuẩn hoá tool use cho LLM

MCP là chuẩn kết nối 'USB-C' cho AI agents, giải quyết bài toán N×M integration hell khi mỗi LLM cần kết nối với hàng trăm tools.

MCP đang được chú ý rộng rãi vì nó giải quyết nỗi đau lớn nhất trong hệ sinh thái AI agents: mỗi khi có LLM mới hoặc tool mới, developer phải viết lại glue code từ đầu. Anthropic giới thiệu MCP như một "USB-C port" cho AI — một giao thức chuẩn để bất kỳ model nào cũng có thể gọi bất kỳ tool nào mà không cần integration riêng lẻ. Đây là bước chuyển từ bespoke integrations sang universal interoperability.

Vấn đề

Trước MCP, việc kết nối LLM với external tools là một mớ hỗn độn của các adapter đặc thù. Nếu bạn có N models (Claude, GPT-4, Gemini, Llama) và M tools (Slack, Postgres, GitHub, Notion), bạn cần N×M integrations — mỗi cái là một codebase riêng, dễ hỏng và khó bảo trì. Cách tiếp cận cũ dựa trên function calling riêng lẻ của từng provider (OpenAI functions, Claude tools) tạo ra vendor lock-in và khiến việc chuyển đổi model tốn kém chi phí refactoring.

Vấn đề còn sâu hơn: các tool integrations trước đây thường là "black box" — LLM không thực sự hiểu tool làm gì, mà chỉ gọi API theo hardcoded template. Khi API thay đổi schema, toàn bộ integration gãy. Cần một lớp abstraction cho phép LLM "đọc hiểu" tool như con người đọc documentation — zero-shot tool use mà không cần retrain model.

Ý tưởng cốt lõi

Cốt lõi của MCP là sự tách biệt giữa khai báo capability và tiêu thụ capability.

Nghĩ về thời kỳ trước USB-C: mỗi máy in cần driver riêng cho Windows, Mac, Linux. USB-C giết chết vấn đề này bằng cách định nghĩa một giao thức chuẩn — máy in nói "tôi là printer, tôi nhận data dạng này", và OS đọc descriptor để biết cách nói chuyện.

MCP áp dụng insight này cho AI. Thay vì hardcode "Claude gọi Slack như thế nào", MCP yêu cầu tool khai báo schema JSON mô tả inputs, outputs, và side effects. LLM đọc schema đó tại runtime và tự biết cách gọi — đây là zero-shot tool use. Model không cần training trên tool cụ thể, chỉ cần khả năng đọc API documentation và generate JSON theo schema.

Ba primitive chính của MCP ánh xạ đúng nhu cầu của autonomous agent:

  1. Tools (Affordances): Hành động có thể thực thi — write DB, send email, restart server. Đây là "tay" của agent.
  2. Resources (Percepts): Context read-only — file contents, API docs, trạng thái hệ thống. Đây là "mắt" của agent.
  3. Prompts (Policies): Template hướng dẫn cách hành xử trong tình huống cụ thể — đây là "kỷ luật" hoặc "playbook" của agent.

Kiến trúc Host-Client-Server tạo ra sandbox bảo mật: Host (vd: Claude Desktop) spawn Client cô lập cho mỗi kết nối; Client duy trì session JSON-RPC 2.0 stateful với Server. Điều này cho phép least-privilege — nếu tool bị compromise, nó chỉ có quyền trong phạm vi Client đó.

Sampling (inverse control) là một điểm thiết kế tinh tế: Server có thể yêu cầu Host "complete this prompt for me" — cho phép tool leverage LLM để xử lý subtask mà không tạo circular dependency (tool → LLM → tool). Điều này critical cho multi-step reasoning workflows.

Tại sao nó hoạt động

MCP hoạt động vì nó khai thác in-context learning — khả năng của LLM học từ context window mà không cần cập nhật weights. JSON Schema đóng vai trò như API documentation được inject vào prompt; LLM dùng reasoning ability để map user intent sang structured function call.

Về mặt bảo mật, MCP tận dụng consent layer bắt buộc human-in-the-loop trước khi thực thi tool (không phải auto-execution), cùng với OAuth 2.1 + PKCE cho authentication. Đây là "defense in depth" — dù model bị prompt injection, vẫn có lớp người dùng cuối cùng kiểm soát.

Tuy nhiên, MCP không phải sandbox hoàn hảo. Giao thức không chống được SSRF (Server-Side Request Forgery) nếu Server malicious, cũng không ngăn được "confused deputy attacks" nơi attacker lừa privileged tool thực hiện hành động có hại. Bản thân tool description cũng là attack vector cho prompt injection qua malicious server.

Ý nghĩa thực tế

Benchmarks thực tế từ MCPBench (2025):

  • Python-based MCP servers chậm 93× so với compiled languages dưới load cao (3.9M requests test)
  • MCP có overhead 10–32× đắt đỏ hơn gọi CLI trực tiếp do JSON-RPC serialization
  • Transport layer choice (stdio vs SSE vs HTTP) tạo variance 2–3× throughput trên I/O-bound tasks

So với cách cũ (native function calling của từng provider), MCP giảm đáng kể integration cost — cùng một server làm việc với Claude, GPT-4, Gemini, hay local Llama mà không cần adapter riêng. Salesforce (Agentforce), Microsoft (Copilot), Cursor, và Windsurf đều đã adopt.

Hạn chế rõ ràng:

  • Không phải security sandbox: Vẫn cần external sandboxing (containers, WASM) để chạy untrusted code
  • Latency penalty: Không phù hợp cho commands tần suất cao, đơn giản (vd: cat file)
  • Quality fragmentation: Ecosystem 1000+ community servers nhưng chưa có registry verification, dẫn đến "blind reliance" — agent tin tưởng tool description dù nó sai lệch

Đào sâu hơn

Paper gốc: Model Context Protocol (MCP): Landscape, Security Threats and Future Research (2025) — phân tích toàn cảnh và vector tấn công.

Cùng cụm (Multi-Agent & Compound Systems):

Đọc tiếp:

  • RAG Retrieval — MCP thường kết hợp với RAG để cung cấp context dài qua Resources primitive
  • Eval & Safety — Đánh giá safety của agent systems và constitutional AI
  • Reasoning & RL — GRPO và RLVR cho reasoning capabilities trong agent workflows

On this page