Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
UNDERSTUDY_MODELNoModel passed to OpenCode (`provider/model`).ollama/qwen3:8b
UNDERSTUDY_BUILDERNo`opencode` or `command`.opencode
UNDERSTUDY_MAX_ROUNDSNoBuild → test attempts per call.3
UNDERSTUDY_TEST_TIMEOUTNoSeconds per test run.600
UNDERSTUDY_WORKTREE_DIRNoWhere worktrees are created. Must be outside `.git`.~/.cache/understudy/worktrees
UNDERSTUDY_MAX_DIFF_CHARSNoLonger diffs are truncated in results.20000
UNDERSTUDY_BUILDER_COMMANDNoCommand for the `command` builder. Contains `{prompt_file}` and `{workdir}` placeholders.
UNDERSTUDY_BUILDER_TIMEOUTNoSeconds per model run.900

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
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
delegateA

Hand a coding task to the local model.

The model edits an isolated git worktree; test_command (a shell command, e.g. "pytest -q") is run after each attempt and failures are fed back to the model, up to UNDERSTUDY_MAX_ROUNDS times. "{repo}" in the test command is replaced with the repository path, e.g. "{repo}/.venv/bin/pytest -q".

Returns the diff and test output for you to review, plus an id for accept/revise/discard. repo_path defaults to the current directory.

reviseA

Send review feedback on a delegation; the local model tries again and the tests are re-run. Returns the updated diff and test output.

acceptA

Merge a delegation into the current branch as a single commit (the task text is used as the message unless commit_message is given), then clean up its worktree. Refuses if the working tree has uncommitted changes.

discardA

Throw away a delegation's worktree and branch without merging.

statusA

List delegations in this repository that have not been accepted or discarded.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.2/5.0

Scored across 5 tools

Disambiguation5/5

Each tool maps to a distinct phase of the delegation lifecycle: delegate starts, revise updates, accept finalizes, discard cancels, and status inspects. There is no overlap or ambiguity between responsibilities.

Naming Consistency5/5

All tool names are single-word imperative verbs (delegate, revise, accept, discard, status), forming a predictable pattern. No mixed conventions or stylistic deviations.

Tool Count5/5

Five tools is the ideal scope for a delegation workflow: create, iterate, merge, cancel, and list. Each tool earns its place without redundancy or bloat.

Completeness5/5

The lifecycle is fully covered: delegate creates a task, revise handles iterative feedback, accept and discard resolve it, and status provides visibility. No essential operation is missing.

Maintenance

ActivityMaintained
ResponsivenessNo issues