TROISINH
Context EngineeringTool Use & Structured Output

Model Context Protocol (MCP): Tiêu chuẩn kết nối tool

MCP là giao thức chuẩn giúp AI kết nối với database, API, file system dễ dàng như cắm USB. Tìm hiểu cách setup MCP server và xây dựng hệ thống tool cho AI ag...

Định nghĩa

Model Context Protocol (MCP) là giao thức mở do Anthropic phát triển, cho phép AI kết nối với nguồn dữ liệu và tool bên ngoài thông qua một interface chuẩn hóa — tương tự như cách USB chuẩn hóa kết nối thiết bị với máy tính, không cần loại cáp riêng cho từng hãng.

Giải thích chi tiết

Vấn đề MCP giải quyết

Trước MCP, nếu muốn cho Claude hoặc ChatGPT đọc file trong máy, query database PostgreSQL, hoặc gửi message Slack, developer phải viết code tích hợp riêng cho từng tool. Mỗi AI client (IDE, chatbot app) cũng phải implement lại từ đầu. MCP tạo ra "cổng kết nối chung" — một server chuẩn hóa có thể dùng cho nhiều AI host khác nhau.

Kiến trúc ba thành phần

MCP chia thành:

  • MCP Hosts: Ứng dụng AI như Claude Desktop, Cursor, hoặc IDE tích hợp AI.
  • MCP Clients: Thành phần trong host duy trì kết nối một-một với server.
  • MCP Servers: Chương trình nhỏ cung cấp capability (tool, resource, prompt) cho AI.

Giao tiếp qua JSON-RPC 2.0, transport qua stdio (local) hoặc HTTP với SSE (remote).

Ba loại capability

  1. Tools: Hàm AI có thể gọi (function calling) — ví dụ: query_database(), send_email().
  2. Resources: Dữ liệu chỉ đọc mà AI có thể tham khảo — ví dụ: file log, schema DB, tài liệu.
  3. Prompts: Template prompt có thể tái sử dụng được định nghĩa sẵn.

Lợi ích cốt lõi

  • Vendor-agnostic: Server viết một lần, dùng cho Claude, OpenAI, Gemini đều được.
  • Local-first: Chạy trên máy local, dữ liệu không qua cloud nếu không cần.
  • Discovery: AI tự động "nhìn thấy" tool available và học cách dùng qua description.

Ví dụ thực tế

Claude Desktop + Database nội bộ

Cài MCP server postgres vào Claude Desktop config. Người dùng chat: "Tổng hợp doanh thu tháng này". Claude tự gọi tool query_database, lấy kết quả, rồi trả lời bằng tiếng Việt — không cần export CSV thủ công.

Workflow: Slack notification khi PR được merge

Dùng MCP server cho GitHub và Slack. Prompt: "Khi có PR merge vào main, gửi summary vào channel #dev-updates". AI sẽ dùng tool get_recent_merged_pr rồi gọi send_slack_message — tất cả qua một interface chuẩn.

Tự xây MCP server cho hệ thống nội bộ

Ví dụ công ty có API quản lý inventory. Viết MCP server bằng TypeScript:

// Simplified example
const server = new Server({
  name: "inventory-server",
  version: "1.0.0"
}, {
  capabilities: { tools: {} }
});

server.setRequestHandler(ListToolsRequestSchema, async () => ({
  tools: [{
    name: "check_stock",
    description: "Kiểm tra tồn kho sản phẩm",
    inputSchema: { /* ... */ }
  }]
}));

Ứng dụng

Developer xây dựng AI agent

Thay vì viết wrapper API cho từng tool, developer chỉ cần implement MCP server một lần. Agent dùng Claude SDK có thể khám phá và gọi tool tự động, giảm 80% boilerplate code.

Doanh nghiệp tích hợp hệ thống legacy

Công ty có nhiều hệ thống cũ (ERP, CRM nội bộ). Viết MCP server cho từng hệ thống, AI assistant có thể truy cập dữ liệu thực tế mà không cần migrate hệ thống.

Data Analyst tự động hóa báo cáo

Kết nối MCP với BI tools hoặc database warehouse. Analyst hỏi AI: "Vẽ biểu đồ xu hướng bán hàng Q3", AI tự query, tạo visualization, lưu vào drive.

So sánh

Đặc điểmMCPFunction Calling truyền thốngOpenAI Plugins
Cách triển khaiServer độc lập, chạy localCode nhúng trong appCloud API, vendor lock-in
Khả năng tương thíchUniversal (Anthropic, OpenAI, v.v.)Tích hợp từng providerChỉ OpenAI
Hướng data2 chiều: AI gọi tool + đọc resource1 chiều: AI gọi hàmChủ yếu 1 chiều
Bảo mậtLocal-first, user kiểm soátPhụ thuộc appCloud-based
DiscoveryTự động, AI nhìn thấy toolHard-codedPre-configured

MCP không thay thế function calling — nó là lớp abstraction chuẩn hóa để function calling trở nên portable và reusable giữa các AI model khác nhau.

Bài viết liên quan

Cùng cụm

Function Calling: Cho AI dùng tools

Hiểu cơ chế AI gọi hàm trước khi triển khai MCP

Thiết kế Tool cho AI: Tên, mô tả, parameters

Cách đặt tên và mô tả tool để MCP server hiệu quả

Multi-tool Orchestration: AI dùng nhiều tool cùng lúc

Kết hợp nhiều MCP server để xây dựng workflow phức tạp

Đọc tiếp

Context Engineering thực chiến

Áp dụng MCP vào pipeline context thực tế trong sản phẩm

Tool & Permission Design

Lên Level 2: Thiết kế permission và bảo mật cho tool system

On this page