Tài liệu API
Cùng một nội dung, hai đường vào: REST cho script, MCP cho agent. Bài public đọc không cần key; guide subscriber cần API key của tài khoản có quyền.
Tổng quan
Mọi đường dẫn bên dưới tính từ địa chỉ gốc này. Phản hồi là JSON.
https://api.modernengineer.devXác thực
Tạo API key trong Quản lý API key, rồi gửi kèm header Authorization: Bearer <key>. Key chỉ hiện một lần lúc tạo. Các verb public (catalog, articles) không cần key.
Hạn mức & lỗi
| Áp dụng cho | Hạn mức |
|---|---|
| Đọc guide trả phí (content.get) | 1.000 lần trong 24 giờ, theo tài khoản |
| Link tải bộ file và link hình (packs.download, visuals.issueUrl) | 50 link trong 24 giờ, theo tài khoản |
| Endpoint /mcp | 300 lần mỗi phút, theo IP |
Mọi lỗi trả về cùng một dạng JSON, kèm requestId để báo lỗi:
{
"error": {
"code": "not_found",
"message": "Content item was not found",
"requestId": "…"
}
}| Mã | Lỗi |
|---|---|
| 400 | invalid_input |
| 401 | unauthenticated |
| 403 | forbidden |
| 404 | not_found |
| 429 | too_many_requests |
| 500 | internal_error |
Cài đặt MCP
Khai báo một lần trong client MCP, thay <API key> bằng key bạn đã tạo (file JSON không tự thay biến môi trường; client nào có cú pháp biến riêng thì dùng cú pháp đó). Dùng cùng API key với REST.
{
"mcpServers": {
"modernengineer": {
"type": "http",
"url": "https://api.modernengineer.dev/mcp",
"headers": {
"Authorization": "Bearer <API key>"
}
}
}
}Danh sách tool
Các verb dành cho agent đọc nội dung. Mỗi verb có một đường REST và một tool MCP cùng tham số. tools/list còn trả về vài tool quản lý tài khoản (API key, billing), không ghi ở đây.
| Verb | REST | Tool MCP | Quyền |
|---|---|---|---|
| catalog.list | GET /catalog | catalog_list | Không cần key |
| catalog.get | GET /catalog/{locale}/{slug} | catalog_get | Không cần key |
| articles.list | GET /articles | articles_list | Không cần key |
| articles.get | GET /articles/{locale}/{slug} | articles_get | Không cần key |
| content.list | GET /content | content_list | Cần key |
| content.get | GET /content/{locale}/{slug} | content_get | Cần key |
| packs.download | POST /packs/{slug}/download | packs_download | Cần key |
| visuals.issueUrl | POST /visuals/{locale}/{slug}/url | visuals_issueUrl | Cần key |