Bellows
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BELLOWS_MODELS_DIR | Yes | Directory scanned recursively for .gguf files | |
| BELLOWS_CRUCIBLE_DB | Yes | Path to the crucible eval database, opened read-only | |
| BELLOWS_LLAMA_SERVER | Yes | Path to the llama-server binary |
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": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_modelsA | Scan a directory recursively for runnable .gguf model files (skipping mmproj-* projector files). Returns name, path, size, a quant guess from the filename, and sharded-set detection. |
| server_statusA | Report all llama-server processes bellows is supervising (pid, port, model, uptime) and optionally probe a specific port's /health endpoint, including servers bellows does not own. |
| start_serverA | Spawn llama-server for a model (full arg validation, no shell), wait for its /health endpoint to report ready, and record the pid under bellows supervision. Refuses to start if the port is already in use. |
| stop_serverA | Gracefully stop (SIGTERM, then SIGKILL after a grace period) a llama-server that bellows started. Refuses to touch processes it does not own. |
| smoke_testA | Send a batch of chat prompts to a running llama-server over its OpenAI-compatible API and report each response with latency and generation speed (tokens/second as measured by llama.cpp). |
| eval_historyA | Read-only queries against the crucible eval results database: list runs for a model, summarize one run per category (pass rates plus complied/hedged/refused tallies), or compare two runs. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| models | JSON list of runnable GGUF models in the configured models directory. |
| eval-runs | JSON list of all eval runs recorded in the crucible results database. |
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose: evaluating results, listing models, checking server status, testing, starting, and stopping servers. No overlap or ambiguity.
All tool names follow a consistent snake_case verb_noun pattern (e.g., list_models, start_server). No deviations or mixed conventions.
6 tools is well-scoped for a server focused on managing llama-server instances. Each tool is essential and covers core lifecycle and utility tasks.
Core lifecycle (start/stop), monitoring (status), testing (smoke_test), model listing, and eval querying are covered. Missing a restart or update tool, but the set is largely complete for the domain.