Skip to main content
Glama
shhlife
by shhlife

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
AI_TOOLKIT_URLNoWhere the ai-toolkit UI is running. Can point at another machine or a cloud GPU box.http://localhost:8675
AI_TOOLKIT_AUTHNoSet 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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
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 path value as datasets.0.folder_path when creating a job.

create_datasetA

Create a dataset (or add to an existing one) by uploading local files into ai-toolkit.

paths are files or folders on the machine running this MCP server; folders are searched recursively for images, videos, audio, and matching caption files (e.g. photo1.jpg + photo1.txt). Files are sent over the UI's API, so this also works when ai-toolkit runs on another machine.

get_captionsB

Captions for each file in a dataset (empty string = uncaptioned), plus a count of missing ones.

set_captionsA

Write captions. captions maps a file name (as shown by get_captions) to its caption text; existing captions for those files are replaced.

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 recaption is set. prompt overrides the captioning instruction; by default an image prompt is used for image-only datasets and ai-toolkit's video/audio prompt otherwise. Uses GPU time and downloads the captioner model on first use. Track it with get_job.

list_jobsB

List training jobs (newest first) with status, progress, and model.

get_jobC

Status and progress of one job. job is a job id or name.

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): config as YAML/JSON text (full job file or just its config: body), or base_job (id/name) to clone an existing job's config. Neither = the default template. overrides sets values inside config.process[0] by dotted path, e.g. {"train.steps": 4000, "datasets.0.folder_path": "D:/datasets/me", "trigger_word": "ohwx", "network.linear": 16, "sample.samples": [{"prompt": "ohwx at the beach"}]}. gpu_ids is the GPU index (e.g. "0" or "0,1"). Set start to queue it immediately.

update_jobA

Edit a job that isn't running: replace its config (YAML/JSON) and/or apply dotted-path overrides inside config.process[0] (same format as create_job).

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). force kills the process immediately, only for jobs stuck and ignoring a normal stop.

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 19 tools

Disambiguation4/5

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.

Naming Consistency4/5

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.

Tool Count4/5

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.

Completeness4/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo issues