ai-toolkit-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AI_TOOLKIT_URL | No | Where the ai-toolkit UI is running. Can point at another machine or a cloud GPU box. | http://localhost:8675 |
| AI_TOOLKIT_AUTH | No | Set this if you started the UI with AI_TOOLKIT_AUTH (same token). |
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 | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ai_toolkit_statusA | Connection check and machine overview: GPUs (VRAM, load), queues, active jobs, and data folders. |
| list_datasetsA | List dataset folders in ai-toolkit's datasets folder, with full paths and file counts. Use the |
| create_datasetA | Create a dataset (or add to an existing one) by uploading local files into ai-toolkit.
|
| get_captionsB | Captions for each file in a dataset (empty string = uncaptioned), plus a count of missing ones. |
| set_captionsA | Write captions. |
| auto_caption_datasetA | Queue ai-toolkit's built-in captioning job (Qwen3-Omni) for a dataset, like the UI's Caption button. Only uncaptioned files are captioned unless |
| list_jobsB | List training jobs (newest first) with status, progress, and model. |
| get_jobC | Status and progress of one job. |
| get_job_configB | Full training config of a job as YAML. Useful as a starting point for a new run. |
| new_job_templateA | The ai-toolkit UI's default job config (Flex.1 LoRA) as YAML, to edit and pass to create_job. For other models, cloning a previous job with create_job(base_job=...) is more reliable, or see ai-toolkit's config/examples/*.yaml for per-model settings. |
| create_jobA | Create a training job in the ai-toolkit UI. Config source (pick one): |
| update_jobA | Edit a job that isn't running: replace its config (YAML/JSON) and/or apply dotted-path |
| start_jobA | Queue a job and start its GPU queue. Resumes from the last checkpoint if one exists. |
| stop_jobA | Stop a job gracefully (saves a checkpoint first). |
| triggerA | Ask a running job to save a checkpoint or generate samples on its next step. |
| get_job_logB | Last lines of a job's training log, with progress-bar noise collapsed. |
| get_lossB | Loss curve summary: first/last/min values, a smoothed trend, and evenly spaced points. |
| list_job_outputsB | Checkpoint (.safetensors) files and sample media produced by a job, as local paths. |
| view_samplesB | Return the most recent sample images from a job so you can judge training progress visually. |
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 19 tools
Most tools have distinct resource+action boundaries, but get_job_config and new_job_template both return starting-point YAML, and view_samples overlaps list_job_outputs in surfacing sample media. Descriptions clarify intended contexts, so misselection risk is low.
Predominantly snake_case verb_noun names (list_jobs, create_job, stop_job), with minor exceptions like trigger, ai_toolkit_status, and new_job_template that are verbless or namespaced nouns. The pattern is readable and mostly predictable.
19 tools across datasets, captions, job lifecycle, and monitoring is slightly heavy but each tool earns its place. It is not excessive for a server covering dataset preparation, captioning, job CRUD, and training monitoring.
Dataset and captioning flows are well covered (list/create, get/set/auto), and job lifecycle is rich (create/update/start/stop/trigger, logs/loss/outputs). Missing explicit delete operations for datasets/jobs and checkpoints, but core workflows have no dead ends.