Bỏ qua đến nội dung chính

Project setup

📖 Nội dung bài học

[

chi tiết

2
tải về Kích cỡ chữ Video này đang được xử lý. Vui lòng quay lại sau và tải lại trang.

Tóm tắt

Chúng ta sẽ xây dựng chatbot dựa trên giao diện dòng lệnh (CLI-based chatbot) của riêng mình để hiểu rõ hơn cách các MCP client và MCP server phối hợp với nhau. Dự án thực hành này sẽ giúp bạn có kinh nghiệm thực tế với cả hai phía của kiến trúc MCP.

Những gì chúng ta sẽ xây dựng

Chatbot của chúng ta sẽ là một giao diện dòng lệnh (CLI) cho phép người dùng chat với một tập hợp các tài liệu. Hệ thống sẽ bao gồm:

  • Giao diện chatbot dựa trên CLI
  • Khả năng đọc và chỉnh sửa tài liệu cho Claude
  • Tính năng "nhắc đến" (mention) tài liệu bằng cú pháp @tên_tài_liệu
  • Thực thi lệnh với cú pháp /tên_lệnh
  • Một tập hợp các tài liệu giả lập được lưu trữ trong bộ nhớ (in-memory)

Kiến trúc hệ thống

Dự án bao gồm ba thành phần chính hoạt động cùng nhau:

  • MCP Client của chúng ta - Xử lý tương tác của người dùng và giao diện chat
  • MCP Server của chúng ta - Cung cấp các tool cho các thao tác với tài liệu
  • Lưu trữ tài liệu (Document Storage) - Tập hợp các loại tệp khác nhau được lưu trong bộ nhớ

MCP server sẽ triển khai hai tool cốt lõi:

  • Tool để đọc nội dung tài liệu
  • Tool để cập nhật nội dung tài liệu

Tất cả tài liệu (PDF, bảng tính, tệp văn bản, tệp markdown) sẽ được lưu trữ trong bộ nhớ (in-memory) thay vì trên đĩa cứng, giúp dự án đơn giản và tập trung vào các khái niệm MCP.

Lưu ý quan trọng về kiến trúc

Trong các dự án thực tế, bạn thường chỉ triển khai MCP client hoặc MCP server - chứ không phải cả hai. Bạn có thể:

  • Xây dựng một MCP server để phân phối dịch vụ cho các nhà phát triển khác
  • Xây dựng một MCP client kết nối với các MCP server bên thứ ba hiện có

Dự án của chúng ta triển khai cả hai thành phần trong một mã nguồn (codebase) duy nhất thuần túy cho mục đích giáo dục, để bạn có thể thấy cách client và server tương tác với nhau.

Tải về

🔁 Bài học liên quan

📚 Nguồn & ghi nhận

Bài học có hữu ích không?

Góp ý / Báo lỗiPhát hiện sai sót hoặc có ý tưởng cải thiện?