Hướng dẫn sử dụng MCP (Model Context Protocol)
MCP (Model Context Protocol) là một tiêu chuẩn cho phép các AI agent kết nối và tương tác với các công cụ và nguồn dữ liệu bên ngoài. Việc sử dụng MCP giúp mở rộng khả năng của agent, cho phép nó truy cập thông tin mới nhất, tương tác với các dịch vụ của bên thứ ba, và thực hiện các tác vụ phức tạp hơn.
Khi nào cần sử dụng MCP?
Bạn nên xem xét sử dụng MCP khi agent cần:
- Truy cập thông tin cập nhật: Lấy tài liệu mới nhất về một thư viện, framework, hoặc API.
- Tương tác với dịch vụ bên ngoài: Kết nối với các nền tảng như Notion, Jira, hoặc các API tùy chỉnh để đọc/ghi dữ liệu.
- Thực hiện các tác vụ chuyên biệt: Sử dụng các công cụ chuyên dụng cho việc phân tích, xử lý dữ liệu, hoặc các nghiệp vụ phức tạp.
Các MCP phổ biến
Dưới đây là hướng dẫn cho một số MCP thường được sử dụng.
1. context7 - Truy cập tài liệu kỹ thuật
- Mục đích:
context7được thiết kế để truy xuất tài liệu kỹ thuật, hướng dẫn, và các ví dụ code mới nhất từ một kho kiến thức rộng lớn. Đây là công cụ cực kỳ hữu ích khi bạn cần thông tin chính xác và cập nhật về một công nghệ cụ thể. - Khi nào dùng:
- Khi bắt đầu tìm hiểu một thư viện hoặc framework mới.
- Khi cần các ví dụ code cụ thể cho một tính năng.
- Khi tài liệu hiện có đã lỗi thời hoặc không đầy đủ.
prompt-name
Tôi cần tài liệu mới nhất về NextJS App Router và cách triển khai Server Components. Cụ thể tôi cần hiểu:
- Cách tạo và sử dụng Server Actions
- Cách xử lý form submissions với Server Components
- Cách tối ưu hóa hiệu suất với streaming và suspense
Hãy sử dụng context7 để cung cấp thông tin này với các ví dụ code cụ thể.
2. mcp_sequential-thinking - Giải quyết vấn đề phức tạp
- Mục đích: Hỗ trợ giải quyết vấn đề phức tạp thông qua một quá trình suy nghĩ có cấu trúc, tuần tự. Nó cho phép agent phân tích vấn đề từng bước, lập kế hoạch, và điều chỉnh hướng đi khi cần thiết.
- Khi nào dùng:
- Khi đối mặt với các bài toán có nhiều bước, yêu cầu sự phân tích sâu.
- Khi cần lập kế hoạch chi tiết cho việc triển khai một tính năng phức tạp.
- Khi quy trình giải quyết vấn đề không rõ ràng và cần sự khám phá, thử nghiệm.
3. Các MCP khác (ví dụ: Playwright, Notion, Jira,...)
- Mục đích: Nhiều MCP được xây dựng để tích hợp với các dịch vụ cụ thể, cho phép agent tự động hóa các quy trình công việc.
- Playwright: Tự động hóa các tác vụ trên trình duyệt web như kiểm thử, điền form, chụp ảnh màn hình.
- Notion: Tạo, cập nhật, hoặc truy vấn các trang và cơ sở dữ liệu trong Notion.
- Jira: Tự động tạo ticket, cập nhật trạng thái, hoặc lấy thông tin về các dự án.
- Khi nào dùng: Khi bạn muốn agent tương tác trực tiếp với các công cụ quản lý dự án, kiểm thử tự động, hoặc các hệ thống nội bộ khác của công ty.
Khám phá và Tùy chỉnh MCP
1. Liệt kê MCP có sẵn trong IDE
Cách nhanh nhất để xem các MCP đang hoạt động là sử dụng công cụ list_resources hoặc kiểm tra trong phần cài đặt của Agentic IDE.
prompt-name
Liệt kê tất cả các MCP server có sẵn.
Khi đó, agent sẽ trả về một danh sách chi tiết các server, công cụ và mục đích của chúng.
2. Tìm kiếm MCP từ cộng đồng
Cộng đồng phát triển liên tục xây dựng và chia sẻ các MCP mới. Bạn có thể tìm thấy chúng tại các nguồn sau:
- GitHub: github.com/modelcontextprotocol/servers
- Trang chính thức: mcpservers.org
- Thư viện Cursor: cursor.directory/mcp
- MCP.so: mcp.so
3. Tạo MCP tùy chỉnh
Ghi chú
Nếu dự án của bạn yêu cầu một chức năng đặc thù chưa có MCP nào đáp ứng, bạn hoàn toàn có thể tự tạo một MCP server riêng một cách dễ dàng để tích hợp các công cụ hoặc API nội bộ.
Cấu hình MCP qua file .cursor/mcp.json
Ngoài việc sử dụng các MCP được cung cấp mặc định, bạn có thể định nghĩa và cấu hình các MCP server của riêng mình thông qua file .cursor/mcp.json đặt tại gốc của dự án. Điều này đặc biệt hữu ích khi bạn muốn tích hợp các công cụ nội bộ hoặc các dịch vụ tùy chỉnh.
Ví dụ về file .cursor/mcp.json:
Dưới đây là một ví dụ về cách cấu hình để chỉ cho phép sử dụng context7 và sequential-thinking:
[
{
"name": "mcp_context7",
"description": "Tra cứu tài liệu thư viện và framework.",
"tools": [
"resolve-library-id",
"get-library-docs"
]
},
{
"name": "mcp_sequential-thinking",
"description": "Hỗ trợ giải quyết vấn đề phức tạp thông qua quá trình suy nghĩ tuần tự.",
"tools": [
"sequentialthinking"
]
}
]Bằng cách tạo file này, bạn có thể kiểm soát chính xác những công cụ mà agent được phép truy cập trong phạm vi dự án của mình.
Ví dụ về Usecase kết hợp nhiều MCP
Sức mạnh thực sự của MCP được thể hiện khi kết hợp nhiều server khác nhau để tự động hóa các quy trình công việc phức tạp. Dưới đây là một ví dụ minh họa về một quy trình hoàn chỉnh.
Tình huống: Một tài liệu yêu cầu (requirement document) mới được tải lên Google Drive. Cần tự động hóa quy trình sau:
- Đọc và phân tích: Agent đọc nội dung tài liệu từ Google Drive.
- Tạo bản thiết kế: Dựa trên yêu cầu, agent tạo ra một bản thiết kế kỹ thuật chi tiết.
- Gửi email: Gửi bản thiết kế này đến các bên liên quan (stakeholders) để xem xét.
- Thông báo: Gửi một thông báo ngắn gọn đến kênh Discord của đội phát triển để họ biết rằng bản thiết kế đã được gửi đi.
Luồng công việc:
Trong ví dụ này, agent đã phối hợp nhiều MCP khác nhau (Google Drive, Sequential Thinking, Gmail, Discord) để hoàn thành một tác vụ từ đầu đến cuối mà không cần sự can thiệp của con người.