[Series AI] Custom Agents và MCP: Phá bỏ giới hạn của IDE
Chào anh em! Rất vui được gặp lại mọi người trong bài viết thứ 8 của series Cursor AI for Developers.
Nếu ở các bài trước, chúng ta đã cùng nhau "xây nhà" (build kiến trúc) và "lập quy tắc" (set rules) bên trong chiếc hộp IDE, thì hôm nay, mình sẽ dắt anh em đi phá bỏ cái hộp đó. Anh em đã bao giờ tự hỏi: "Tại sao AI trong Cursor rất giỏi code nhưng lại không biết gì về dữ liệu trong Database của mình, không đọc được file Google Sheets của sếp, hay không thể tự check lỗi trên Sentry?".
Đó là lúc chúng ta cần đến Custom Agents và đặc biệt là MCP (Model Context Protocol). Đây chính là "cú hích" biến Cursor từ một trình soạn thảo thông minh thành một thực thể có khả năng kết nối với cả thế giới dữ liệu của anh em.
1. MCP (Model Context Protocol) là cái quái gì?
Nói một cách đơn giản nhất: MCP là một "cái phích cắm" tiêu chuẩn. Trước đây, mỗi khi muốn AI kết nối với một công cụ (như GitHub, Slack, hay Postgres), các nhà phát triển phải viết code kết nối riêng biệt cho từng cái. Với MCP (do Anthropic khởi xướng), giờ đây mọi công cụ chỉ cần tạo một "MCP Server", và Cursor (đóng vai trò MCP Client) có thể "cắm" vào và sử dụng ngay lập tức.
Sức mạnh của MCP: Nó cho phép AI "nhìn" thấy những thứ mà trước đây nó không thể thấy, và "làm" những thứ mà trước đây nó không thể làm.
2. Custom Agents: Khi AI không chỉ là thợ gõ
Custom Agents là sự kết hợp giữa sức mạnh của LLM và các công cụ (Tools) thông qua MCP. Thay vì anh em phải copy-paste dữ liệu vào chat, anh em cấp quyền cho Agent tự đi lấy.
Ví dụ thực tế của một Backend Dev: Bình thường, để tối ưu một câu query, anh em phải:
- Vào Database tool (DBeaver/Navicat).
- Copy Schema bảng.
- Paste vào Cursor và hỏi.
Với MCP Postgres Server:
Anh em chỉ cần hỏi: "Check xem bảng users ở DB staging đang có những index nào và gợi ý cách tối ưu câu query này". Agent sẽ tự kết nối DB, đọc schema và trả lời ngay lập tức.
3. Demo: Kết nối Cursor với thế giới bên ngoài
Để sử dụng MCP trong Cursor, anh em vào Settings > Models > MCP và thêm các server. Dưới đây là 3 "món đồ chơi" MCP mà mình cực kỳ tâm đắc:
📂 MCP Filesystem (Local Data Agent)
Cho phép AI đọc/ghi file ở bất cứ đâu trên máy tính của bạn, không chỉ gói gọn trong thư mục project hiện tại. Rất hữu ích khi bạn cần refactor code dựa trên một tài liệu PDF hoặc file Excel nằm ở thư mục Downloads.
🐘 MCP PostgreSQL / MySQL
Giúp AI truy cập trực tiếp vào cấu trúc database.
- Prompt: "Viết cho tôi một API lấy danh sách đơn hàng của người dùng, dựa trên schema thực tế của database hiện tại."
- Kết quả: AI tự xem table
orders,order_items, xem kiểu dữ liệu của từng cột để viết code chuẩn 100%.
🌐 MCP Google Search / Brave Search
Phá bỏ giới hạn về dữ liệu cũ (Knowledge Cutoff). AI có thể search tin tức mới nhất về các bản update của Laravel 13 hay Golang 1.26 để áp dụng ngay vào code.
4. Cách build một Custom Agent "hàng thửa"
Anh em có thể tự tạo cho mình một Agent chuyên biệt bằng cách kết hợp:
- Context: Các file
.cursorrules(đã học ở bài 7). - Tools: Các kết nối MCP phía trên.
- Instruction: "Bạn là một DevOps Agent, hãy check log trên CloudWatch và đề xuất cách fix lỗi 500 đang xảy ra."
5. Tạm kết bài 8
Custom Agents và MCP chính là tương lai của lập trình. Chúng ta không còn gõ code một cách cô lập nữa. Chúng ta đang điều phối một đội quân Agent có khả năng truy xuất dữ liệu từ mọi ngóc ngách trong quy trình làm việc.
Khi "rào cản ngữ cảnh" bị xóa bỏ, giới hạn duy nhất chỉ còn là trí tưởng tượng của anh em.
Teaser Bài Tiếp Theo:
Code xong rồi, kiến trúc ngon rồi, kết nối dữ liệu cũng xong rồi. Nhưng còn một khâu cực kỳ "khoai" mà anh em dev nào cũng sợ: Cắt HTML/CSS từ thiết kế Figma.
Làm sao để biến một bản thiết kế lung linh của Designer thành code React hay Vue chuẩn chỉ, sạch sẽ chỉ trong một nốt nhạc? Ở buổi tới, mình sẽ giới thiệu một sự kết hợp thần thánh: Claude Task Master và MCP Figma.
👉 [Series Cursor AI - Bài 9] Buổi 9 – MCP Figma To Code – Claude Task Master
Anh em đã thử "cắm phích" MCP nào vào Cursor chưa? Nếu có MCP Server nào hay, đừng quên chia sẻ cho mình và mọi người ở phần bình luận nhé!
All rights reserved