Learn > Claude > Model Context Protocol (MCP)

Model Context Protocol (MCP)

Build MCP server, tool calling, event-driven, deployment.

  • MCP là giao thức chuẩn hóa kênh giao tiếp giữa AI Client (Claude) và các nguồn dữ liệu ngoài qua MCP Server.
  • Giải quyết triệt để bài toán bảo trì tích hợp API bằng cách chuyển dịch định nghĩa tool và thực thi từ client sang server chuyên biệt.
  • Giúp lập trình viên tái sử dụng các MCP Server có sẵn thay vì tự viết hàng chục tool schema và function wrapper thủ công.

TL;DRModel Context Protocol (MCP) là giao thức chuẩn hóa kết nối do Anthropic phát triển. Nó hoạt động như một "USB-C cho AI", giúp tách biệt tầng ứng dụng (MCP Client) và tầng kết nối dịch vụ (MCP Server). Thay vì tự code API wrapper thủ công cho từng hệ thống, lập trình viên chỉ việc cắm Client vào các MCP Server để cấp công cụ và dữ liệu cho Claude.


1. Bài toán tích hợp API thủ công và gánh nặng bảo trì (The Problem)

Dưới góc nhìn quản lý dự án (Delivery Manager), việc tích hợp AI vào các hệ thống doanh nghiệp (như GitHub, Slack, Jira, Database...) luôn đi kèm với rủi ro lớn về mặt chi phí bảo trì (maintenance cost)năng suất của team:

  • Cơn ác mộng Glue Code: Để Claude có thể truy vấn dữ liệu từ GitHub (ví dụ: lấy danh sách Pull Requests), bạn phải tự viết hàng chục Tool Schema bằng định dạng JSON Schema, kèm theo đó là code thực thi (API wrapper) để gọi API của GitHub.
  • Sự phình to của mã nguồn: GitHub có hàng nghìn endpoint. Nếu muốn mở rộng tính năng (Issues, Projects, Actions...), lượng code tích hợp bạn phải viết, test và bảo hành sẽ phình to nhanh chóng.
  • Rủi ro từ bên thứ ba (Third-party API changes): Bất cứ khi nào bên thứ ba thay đổi cấu trúc API hoặc deprecate endpoint cũ, tích hợp của bạn sẽ bị lỗi. Team dev phải liên tục túc trực để sửa lỗi và cập nhật schema.

2. Model Context Protocol (MCP) giải quyết như thế nào? (How MCP Works)

MCP thay đổi hoàn toàn cách chúng ta tiếp cận việc tích hợp bằng nguyên lý Phân tách trách nhiệm (Separation of Concerns).

Thay vì bắt máy chủ ứng dụng của bạn gánh toàn bộ định nghĩa công cụ và thực thi logic, MCP chuyển dịch gánh nặng này sang các MCP Server chuyên biệt (dedicated MCP servers).

┌──────────────┐         Giao thức MCP        ┌──────────────┐         API riêng        ┌───────────────┐
│  Our Server  │ <──────────────────────────> │  MCP Server  │ <──────────────────────> │    Outside    │
│ (MCP Client) │   Standardized communication │ (e.g. GitHub)│   Specific protocols   │    Service    │
└──────────────┘                              └──────────────┘                          └───────────────┘
  • MCP Client (Ứng dụng của bạn): Đóng vai trò là Client kết nối với mô hình Claude. Nó không cần biết chi tiết GitHub hoạt động ra sao, chỉ cần duy trì kết nối MCP đến Server.
  • MCP Server (Tác nhân trung gian): Là một ứng dụng gọn nhẹ chạy độc lập, đóng gói toàn bộ logic gọi API và tự khai báo (expose) các công cụ dưới dạng một bộ schema chuẩn hóa.
  • Outside Service (Dịch vụ bên ngoài): GitHub, AWS, Google Calendar, Postgres Database...

Ví dụ thực tế: Thay vì bạn tự viết schema cho hàm get_repos(), GitHub MCP Server đã dựng sẵn nó. Ứng dụng của bạn (MCP Client) chỉ cần kết nối tới Server này. Khi Claude cần tìm repo, nó sẽ gửi lệnh qua Client $\rightarrow$ MCP Server thực thi và lấy dữ liệu trực tiếp từ GitHub trả về cho Claude.


3. Các câu hỏi cốt lõi để chuẩn bị cho kỳ thi CCA-F

Ai là người phát triển các MCP Server?

Bất kỳ ai cũng có thể xây dựng MCP Server. Xu hướng tối ưu nhất là chính nhà cung cấp dịch vụ (service providers) hoặc cộng đồng sẽ viết và duy trì các MCP Server này (ví dụ: AWS phát hành MCP Server cho các dịch vụ Cloud của họ). Lập trình viên chỉ cần tải về và sử dụng, không cần tự viết lại.

MCP khác gì so với việc gọi API trực tiếp?

  • Gọi API trực tiếp: Bạn tự viết định nghĩa tool schema, tự viết logic gọi API, tự quản lý xác thực và cấu trúc dữ liệu trả về cho Claude.
  • MCP: Server đã định nghĩa sẵn tool schema và cách thực thi. Bạn chỉ kết nối Client vào là xong, tiết kiệm tối đa thời gian phát triển.

MCP có phải là Tool Use (Gọi hàm) không?

Đây là điểm cực kỳ dễ nhầm lẫn trong phòng thi:

  • MCPTool Use là hai khái niệm bổ trợ nhau nhưng hoàn toàn khác biệt.
  • MCP (Model Context Protocol):giao thức kết nối (ai xây dựng và thực thi các tool đó). MCP giúp di chuyển phần triển khai code ra ngoài ứng dụng chính.
  • Tool Use (Function Calling):năng lực suy luận của mô hình (Claude chọn tool nào, truyền tham số gì dựa trên prompt của user).
  • Tóm lại: MCP là hạ tầng cung cấp công cụ, còn Tool Use là cách Claude sử dụng các công cụ đó.

4. Từ khoá cần thuộc

  • 🔴 Core:
    • Model Context Protocol (MCP): Giao thức chuẩn hóa kết nối AI với các nguồn dữ liệu/công cụ ngoài.
    • MCP Client: Phía ứng dụng kết nối với Claude, chịu trách nhiệm nhận yêu cầu và điều hướng đến MCP Server.
    • MCP Server: Ứng dụng độc lập định nghĩa sẵn và thực thi các công cụ, prompts, tài nguyên.
  • 🟡 Important:
    • Separation of Concerns (Phân tách trách nhiệm): Nguyên lý cốt lõi tách biệt logic ứng dụng AI và logic tích hợp hệ thống.
    • Introspection (Tự dò): Cơ chế giúp Client tự động hiểu các công cụ mà Server cung cấp mà không cần khai báo cứng trong code.
  • 🟢 Good-to-know:
    • Outside Service: Các dịch vụ bên thứ ba (Slack, Linear, GitHub...) được tích hợp qua MCP.

Muốn tự kiểm tra? Làm đề thi thử ở tab "Đề thi thử".

Câu hỏi thường gặp

Model Context Protocol (MCP) là gì?
Là một giao thức mã nguồn mở (open-source protocol) thiết lập kênh giao tiếp chuẩn hóa giữa ứng dụng AI (MCP Client) và các nguồn tài nguyên dữ liệu hoặc công cụ ngoài (MCP Server).
MCP giải quyết bài toán gì cho nhà phát triển?
MCP loại bỏ gánh nặng viết mã tích hợp (glue code) và bảo trì API cho bên thứ ba. Thay vì tự viết hàng chục Tool Schema và API Wrapper, lập trình viên chỉ cần kết nối Client với các MCP Server chuyên biệt đã được định nghĩa sẵn.
Sự khác biệt giữa MCP và Tool Use là gì?
MCP là giao thức định nghĩa cách đóng gói và giao tiếp công cụ (ai cung cấp và chạy công cụ). Còn Tool Use là khả năng lập luận của Claude để quyết định khi nào cần gọi công cụ nào (Claude quyết định sử dụng thế nào).

Đề thi thử (3 câu)

Đề thi thử tự biên soạn, bám sát đề thi chứng chỉ thật. Bản tương tác — chấm điểm, đáp án & giải thích từng câu — nằm ở tab “Đề thi thử” trên trang.

  1. MCP Architecture What is the primary architectural purpose of the Model Context Protocol (MCP)?

    • A. To automatically cache system prompts and context on Anthropic's servers.
    • B. To establish a standardized communication layer that provides AI models with context and tools without custom integration code.
    • C. To train local small language models on user-provided datasets.
    • D. To enable persistent client-side memory storage across different Claude chat sessions.
  2. MCP Architecture In the MCP architecture, where do tool definitions (schemas) and execution logic primarily reside?

    • A. Inside the client application (MCP Client).
    • B. In Claude's core training weights.
    • C. On the dedicated MCP Server.
    • D. On Anthropic's central database servers.
  3. MCP vs Tool Use How does Model Context Protocol (MCP) differ from traditional Tool Use (Function Calling)?

    • A. MCP is a communication protocol for defining and executing tools, whereas Tool Use is the LLM's cognitive ability to decide when and how to call those tools.
    • B. Tool Use requires the developer to use beta clients, while MCP only works with stable clients.
    • C. MCP is used for image input, whereas Tool Use is only used for text-based tasks.
    • D. There is no difference; they are identical terms for the same concept.