CVAT MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CVAT_BASE_URL | No | The base URL of the CVAT server | http://localhost:8080 |
| CVAT_AUTH_TOKEN | Yes | Personal Access Token for CVAT authentication | |
| CVAT_AUTH_SCHEME | No | Authentication scheme (e.g., Bearer) | Bearer |
| CVAT_GENERATED_TOOLS_PATH | No | Path to a generated tools catalog JSON file |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| cvat_server_aboutA | Get basic CVAT server information from GET /api/server/about. |
| cvat_get_api_schemaA | Fetch the CVAT OpenAPI schema from GET /api/schema/ so official API endpoints can be inspected or converted into MCP tools. |
| cvat_list_tasksC | List CVAT tasks with official /api/tasks filters such as search, status, project_id, assignee, owner, sort, page, and page_size. |
| cvat_get_taskC | Get one CVAT task by id from GET /api/tasks/{id}. |
| cvat_create_taskB | Create a CVAT task using POST /api/tasks. Use cvat_attach_task_data afterward to upload images or videos. |
| cvat_attach_task_dataB | Attach local, server, or remote media to a task using POST /api/tasks/{id}/data/ with CVAT upload headers. |
| cvat_get_task_annotationsD | Get task annotations from GET /api/tasks/{id}/annotations/. |
| cvat_replace_task_annotationsC | Replace task annotations with PUT /api/tasks/{id}/annotations/. Requires confirmReplace=true. |
| cvat_list_jobsC | List CVAT jobs with official /api/jobs filters such as task_id, project_id, state, stage, assignee, sort, page, and page_size. |
| cvat_get_jobB | Get one CVAT job by id from GET /api/jobs/{id}. |
| cvat_get_requestA | Get a CVAT background request by id from GET /api/requests/{id}; useful after imports, exports, or data upload. |
| cvat_list_projectsC | List CVAT projects with /api/projects filters such as search, owner, assignee, sort, page, and page_size. |
| cvat_create_projectC | Create a CVAT project using POST /api/projects. |
| cvat_list_labelsC | List labels with /api/labels filters such as task_id, project_id, job_id, name, search, and page_size. |
| cvat_api_requestB | Call any official CVAT REST endpoint under /api/. For POST, PATCH, PUT, or DELETE, confirmMutation must be true. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 15 tools
Each tool targets a distinct action and resource. The generic 'cvat_api_request' is clearly a fallback for uncovered endpoints, and all specific tools have unique purposes (create, list, get, attach, replace, etc.) without overlap.
All tools follow a consistent 'cvat_verb_noun' pattern (e.g., cvat_create_task, cvat_list_jobs). The convention is uniform across the entire set, with no mixing of styles.
15 tools is well within the ideal 3-15 range. The number is appropriate for a CVAT server covering projects, tasks, jobs, labels, annotations, and server introspection without being overwhelming.
The set covers core creation, listing, and annotation operations but lacks dedicated update and delete tools for projects and tasks. A generic API request tool exists but requires API knowledge, leaving notable gaps for typical agent workflows.