Context7: chấm dứt cảnh AI viết code theo API đời cũ
Tóm tắt
Context7 (Upstash, MIT) lấy tài liệu và ví dụ code mới nhất theo phiên bản rồi đưa vào context của agent. Cài bằng npx ctx7 setup (chọn chế độ CLI + Skill hoặc MCP), hoặc trỏ client MCP tới https://mcp.context7.com/mcp với API key. Đặc biệt hữu ích với framework thay đổi nhanh.
Bạn nhờ AI viết middleware cho Next.js, nhận về code dùng API đã bị bỏ từ hai phiên bản trước. Hoặc nó gọi một hàm nghe rất hợp lý… nhưng không hề tồn tại. Nguyên nhân: dữ liệu huấn luyện của model có điểm cắt, còn thư viện thì ra phiên bản mới mỗi tháng. Context7 của Upstash giải quyết bằng cách lấy tài liệu và ví dụ code mới nhất, đúng phiên bản, rồi đưa thẳng vào context của agent ngay lúc nó cần.
Vấn đề nó giải quyết
- Code mẫu theo API đã deprecated hoặc đổi tên.
- Hàm, tham số “bịa” không tồn tại (hallucination).
- Câu trả lời chung chung, không khớp phiên bản bạn đang dùng.
Cách hoạt động
- Agent nhận câu hỏi có liên quan tới thư viện (ví dụ Next.js, Prisma, Tailwind).
- Gọi tool
resolve-library-idđể xác định đúng thư viện trong kho Context7 (ID dạng/vercel/next.js). - Gọi tool lấy tài liệu (
query-docs) theo chủ đề cần, có thể chỉ định phiên bản. - Context7 trả về chỉ những đoạn tài liệu và ví dụ liên quan — không đổ cả bộ docs vào context — rồi agent viết code dựa trên đó.
Kho thư viện do cộng đồng đóng góp, bao phủ hàng nghìn thư viện ở nhiều ngôn ngữ (JavaScript/TypeScript, Python, Ruby…); maintainer có thể nhận quản lý trang của thư viện mình.
Cài đặt
Cách nhanh: CLI setup
npx ctx7 setup # đăng nhập OAuth, tạo API key, cấu hình client
npx ctx7 setup --claude # nhắm riêng Claude Code
Trình setup cho chọn hai chế độ:
| Chế độ | Cách hoạt động | Khi nào chọn |
|---|---|---|
| CLI + Skill | Cài một skill; agent gọi lệnh ctx7 khi cần tra tài liệu | Không muốn thêm MCP server, muốn context gọn |
| MCP | Agent gọi trực tiếp tool tài liệu của Context7 | Dùng chung cho nhiều client (Cursor, Claude Desktop, VS Code…) |
Cách thủ công: remote MCP
claude mcp add --transport http context7 https://mcp.context7.com/mcp \
--header "CONTEXT7_API_KEY: $CONTEXT7_API_KEY"
Dùng miễn phí cho cá nhân và học tập; API key (lấy từ dashboard Context7) cho rate limit cao hơn và truy cập repo private. Cần kết nối internet vì tài liệu được lấy từ API của Context7.
Cách dùng
Cách đơn giản nhất: thêm use context7 vào cuối prompt.
Tạo middleware Next.js kiểm tra JWT trong cookie,
chưa đăng nhập thì chuyển về /login. use context7
Chỉ định phiên bản ngay trong câu hỏi để lấy đúng tài liệu:
Cấu hình dark mode theo class với Tailwind CSS 4.0. use context7
Hoặc chỉ định thẳng ID thư viện để bỏ qua bước tìm kiếm: use library /vercel/next.js.
Không muốn gõ “use context7” mỗi lần?
Thêm quy tắc vào CLAUDE.md (hoặc rules của Cursor):
Khi viết code dùng thư viện/framework bên ngoài, hoặc khi cần cấu hình,
luôn tra tài liệu qua Context7 trước, không dựa vào kiến thức có sẵn.
Giới hạn cần biết
- Nội dung cộng đồng: tài liệu được thu thập và đóng góp bởi cộng đồng — chất lượng tuỳ thư viện; với thư viện ít người dùng, kiểm tra lại với docs chính thức.
- Đây cũng là nội dung bên ngoài đi vào context của agent — về nguyên tắc vẫn là nguồn có thể chứa prompt injection; giữ permission prompt như bình thường.
- Không thay thế việc đọc changelog khi nâng cấp major version.
Áp dụng thế nào?
- Dev: Bật Context7 cho dự án dùng framework thay đổi nhanh (Next.js, LangChain, các SDK AI). Thêm quy tắc vào CLAUDE.md để không phải nhớ.
- Tech Lead: Khi team than “AI viết code cũ”, Context7 là cách sửa rẻ nhất trước khi tốn thời gian viết tài liệu nội bộ cho agent.
- PM: Giảm vòng “AI viết → build lỗi → sửa” đồng nghĩa với ít thời gian chờ hơn cho mỗi tính năng — đặc biệt khi nâng cấp phiên bản thư viện.
Nguồn & tham khảo
- upstash/context7 — GitHub
- Context7 guide: stop AI hallucinations with live docs — DeployHQ
- context7.com — Upstash