MCP: Giao Thức Ngữ Cảnh Mô Hình

MCP chuẩn hóa việc LLM truy cập an toàn vào dữ liệu, công cụ và plugin bên ngoài, giúp tích hợp và liên kết AI linh hoạt, mạnh mẽ.

Định nghĩa

Model Context Protocol (MCP) là một giao diện tiêu chuẩn mở cho phép các Mô hình Ngôn ngữ Lớn (LLM) truy cập an toàn và nhất quán vào các nguồn dữ liệu, công cụ và khả năng bên ngoài. MCP thiết lập một lớp giao tiếp tiêu chuẩn hóa giữa ứng dụng AI và các nhà cung cấp ngữ cảnh khác nhau, đóng vai trò như “USB-C” cho các hệ thống AI.

Các thành phần chính

Kiến trúc

MCP tuân theo kiến trúc client-server:

  • Máy chủ MCP (MCP Hosts): Ứng dụng nơi người dùng hoặc hệ thống AI tương tác (ví dụ: Claude Desktop, plugin IDE)
  • Máy khách MCP (MCP Clients): Thành phần trong ứng dụng máy chủ xử lý giao tiếp với máy chủ dịch vụ
  • Máy chủ dịch vụ MCP (MCP Servers): Chương trình nhẹ cung cấp các khả năng cụ thể (truy cập tệp, kết nối cơ sở dữ liệu, truy cập API) thông qua giao diện MCP tiêu chuẩn hóa
  • Nguồn dữ liệu (Data Sources): Kho thông tin cục bộ hoặc từ xa mà máy chủ MCP có thể truy cập an toàn

Các nguyên thủy cốt lõi

MCP định nghĩa ba nguyên thủy cơ bản là nền tảng của giao thức:

1. Tài nguyên (Resources)

Tài nguyên đại diện cho dữ liệu và nội dung mà máy chủ MCP cung cấp cho LLM.

  • Đặc điểm: Do ứng dụng kiểm soát, được nhận diện bởi URI duy nhất
  • Loại dữ liệu: Văn bản (mã hóa UTF-8) hoặc Nhị phân (mã hóa Base64)
  • Cách khám phá: Liệt kê trực tiếp hoặc qua mẫu cho các yêu cầu tài nguyên động
  • Thao tác: Đọc nội dung, nhận cập nhật

Ví dụ ứng dụng: Một máy chủ MCP cung cấp tệp nhật ký dưới dạng tài nguyên với URI file:///logs/app.log

2. Prompt

Prompt là các mẫu hoặc quy trình làm việc được định nghĩa trước mà máy chủ cung cấp để hướng dẫn tương tác với LLM.

  • Đặc điểm: Kích hoạt bởi người dùng, thường xuất hiện dưới dạng lệnh gạch chéo
  • Cấu trúc: Tên duy nhất, mô tả, tham số tùy chọn
  • Khả năng: Nhận tham số tùy chỉnh, tích hợp ngữ cảnh tài nguyên, định nghĩa quy trình nhiều bước
  • Thao tác: Khám phá bằng liệt kê, thực thi theo yêu cầu

Ví dụ ứng dụng: Prompt tạo thông điệp commit git, nhận thay đổi mã nguồn làm đầu vào

3. Công cụ (Tools)

Công cụ cung cấp các hàm thực thi mà LLM có thể gọi (thường cần người dùng phê duyệt) để thực hiện hành động.

  • Đặc điểm: Do mô hình kiểm soát, yêu cầu lược đồ đầu vào rõ ràng
  • Chú thích: Bao gồm gợi ý về hành vi (chỉ đọc, phá hủy, idempotent, open-world)
  • Tính năng bảo mật: Kiểm tra đầu vào, kiểm soát truy cập, cảnh báo người dùng rõ ràng
  • Thao tác: Khám phá bằng liệt kê, thực thi qua lệnh gọi kèm tham số

Ví dụ ứng dụng: Công cụ máy tính thực hiện phép toán trên dữ liệu đầu vào do mô hình cung cấp

Tầm quan trọng và lợi ích

Đối với lập trình viên

  • Tích hợp tiêu chuẩn hóa: Kết nối ứng dụng AI với nhiều nguồn dữ liệu mà không cần viết mã tùy chỉnh cho từng loại
  • Thực hành bảo mật tốt: Hướng dẫn tích hợp sẵn cho việc lộ thông tin nhạy cảm một cách an toàn
  • Kiến trúc đơn giản: Phân tách rõ ràng giữa mô hình AI và nguồn ngữ cảnh

Đối với người dùng và tổ chức

  • Linh hoạt: Dễ dàng chuyển đổi giữa các nhà cung cấp LLM hoặc ứng dụng máy chủ khác nhau
  • Khả năng liên kết: Giảm ràng buộc nhà cung cấp nhờ giao diện tiêu chuẩn hóa
  • Nâng cao năng lực: Hệ thống AI có thể truy cập nhiều thông tin và hành động đa dạng hơn

Ví dụ triển khai

Máy chủ tài nguyên tệp

// Server exposing a single log file as a resource
const server = new Server({ /* config */ }, { capabilities: { resources: {} } });

// List available resources
server.setRequestHandler(ListResourcesRequestSchema, async () => {
  return {
    resources: [
      {
        uri: "file:///logs/app.log",
        name: "Application Logs",
        mimeType: "text/plain"
      }
    ]
  };
});

// Provide resource content
server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
  if (request.params.uri === "file:///logs/app.log") {
    const logContents = await readLogFile();
    return {
      contents: [{
        uri: request.params.uri,
        mimeType: "text/plain",
        text: logContents
      }]
    };
  }
  throw new Error("Resource not found");
});

Máy chủ công cụ máy tính

const server = new Server({ /* config */ }, { capabilities: { tools: {} } });

// List available tools
server.setRequestHandler(ListToolsRequestSchema, async () => {
  return {
    tools: [{
      name: "calculate_sum",
      description: "Add two numbers together",
      inputSchema: {
        type: "object",
        properties: {
          a: { type: "number", description: "First number" },
          b: { type: "number", description: "Second number" }
        },
        required: ["a", "b"]
      },
      annotations: {
        title: "Calculate Sum",
        readOnlyHint: true,
        openWorldHint: false
      }
    }]
  };
});

// Handle tool execution
server.setRequestHandler(CallToolRequestSchema, async (request) => {
  if (request.params.name === "calculate_sum") {
    try {
      const { a, b } = request.params.arguments;
      if (typeof a !== 'number' || typeof b !== 'number') {
         throw new Error("Invalid input: 'a' and 'b' must be numbers.");
      }
      const sum = a + b;
      return {
        content: [{ type: "text", text: String(sum) }]
      };
    } catch (error: any) {
      return {
        isError: true,
        content: [{ type: "text", text: `Error calculating sum: ${error.message}` }]
      };
    }
  }
  throw new Error("Tool not found");
});

Các khái niệm liên quan

  • LLM Function Calling: Model Context Protocol cung cấp cách tiếp cận tiêu chuẩn hóa cho việc LLM gọi hàm
  • AI Agents: MCP mang lại cách tiếp cận có cấu trúc cho hệ thống AI dựa trên agent khi truy cập công cụ và thông tin
  • Plugin AI: Tương tự như tiện ích mở rộng trình duyệt, máy chủ MCP có thể được xem là “plugin” mở rộng khả năng AI

Định hướng tương lai

  • Tích hợp AI doanh nghiệp: Kết nối các kho tri thức, công cụ và quy trình làm việc của doanh nghiệp
  • AI đa phương tiện: Tiêu chuẩn hóa việc truy cập các loại dữ liệu đa dạng ngoài văn bản
  • Hệ thống AI hợp tác: Cho phép các trợ lý AI làm việc cùng nhau thông qua giao thức chung

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

Model Context Protocol (MCP) là gì?

MCP là một giao diện tiêu chuẩn mở cho phép LLM truy cập an toàn và nhất quán vào các nguồn dữ liệu, công cụ và khả năng bên ngoài, tạo ra một lớp giao tiếp tiêu chuẩn hóa giữa ứng dụng AI và nhà cung cấp ngữ cảnh.

Các thành phần chính của MCP là gì?

MCP gồm có máy chủ, máy khách, máy chủ dịch vụ và nguồn dữ liệu. Nó sử dụng các nguyên thủy cốt lõi—tài nguyên, prompt và công cụ—để cho phép tương tác linh hoạt, an toàn giữa LLM và hệ thống bên ngoài.

MCP mang lại lợi ích gì cho lập trình viên và tổ chức?

MCP đơn giản hóa việc tích hợp AI, nâng cao bảo mật, giảm ràng buộc nhà cung cấp và cho phép truy cập liền mạch vào nhiều thông tin, công cụ cho cả lập trình viên và tổ chức.

MCP được triển khai như thế nào trong thực tế?

MCP có thể được triển khai thông qua các máy chủ cung cấp tài nguyên hoặc công cụ (ví dụ: truy cập tệp nhật ký, công cụ tính toán) bằng giao diện tiêu chuẩn hóa, giúp kết nối với mô hình AI trở nên đơn giản hơn.

MCP liên quan thế nào đến LLM function calling và plugin AI?

MCP chuẩn hóa quy trình LLM gọi hàm hoặc công cụ bên ngoài, tương tự như cách plugin mở rộng khả năng trình duyệt hoặc phần mềm.

Trải nghiệm FlowHunt và Xây dựng Giải pháp AI của riêng bạn

Bắt đầu xây dựng hệ thống AI mạnh mẽ với tích hợp tiêu chuẩn hóa, truy cập dữ liệu an toàn và kết nối công cụ linh hoạt cùng FlowHunt.

Tìm hiểu thêm

Model Context Protocol (MCP) là gì? Chìa khóa tích hợp AI tác nhân
Model Context Protocol (MCP) là gì? Chìa khóa tích hợp AI tác nhân

Model Context Protocol (MCP) là gì? Chìa khóa tích hợp AI tác nhân

AI tác nhân đang tái định nghĩa tự động hóa quy trình làm việc với Model Context Protocol (MCP), cho phép tích hợp linh hoạt, mở rộng các tác nhân AI với nhiều ...

24 phút đọc
AI Integration +4
Tích Hợp Máy Chủ ModelContextProtocol (MCP)
Tích Hợp Máy Chủ ModelContextProtocol (MCP)

Tích Hợp Máy Chủ ModelContextProtocol (MCP)

Máy chủ ModelContextProtocol (MCP) hoạt động như một cầu nối giữa các tác nhân AI và các nguồn dữ liệu, API, dịch vụ bên ngoài, cho phép người dùng FlowHunt xây...

4 phút đọc
AI Integration +4