Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
FORGE_AUTO_UPDATENoSet to 0 to disable automatic updates (FORGE_AUTO_UPDATE=0).
FORGE_OPENCODE_TIMEOUTNoPer-delegation timeout in milliseconds.900000

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": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_modelsA

List the models available for delegation: local/keyless ones, direct-API models from opencode logins, and agentic models from the local opencode installation. Call it when the user asks what's available or wants to change the default model, not before an ordinary delegation — those use the configured default.

ask_modelA

Get a second opinion from a different model — on a design, an approach, or a tricky snippet — or ask one when the user requests it. Sends a one-shot prompt over a direct API call and returns the raw response. The model has no file access and cannot take actions; for anything touching files use delegate. Don't use it for syntax or API details you already know: a cheap model is usually less reliable than you on those. Omit model to use the configured default.

delegateA

Hand a coding task to another AI model running as a full agent via local opencode: it reads the project, explores, and writes the code in its own tool loop, none of which enters your context. Use it instead of writing the code yourself for: tests for code that already exists; a mechanical refactor (rename, signature change, import rewrite, API migration); lint/type/build errors (paste the error output); boilerplate or scaffolding (CRUD endpoints, config, schemas, adapters, fixtures); a port between languages or frameworks; the same edit repeated across 3 or more files; reading a large file or directory to answer one narrow question; the survey half of an audit. Runs inline by default and returns when done; Claude Code backgrounds calls past 2 minutes, other hosts wait. Pass background:true to get a job id at once, then poll check_delegation. Pass continue_session (returned by a previous delegation) to keep the same agent session instead of re-exploring. Name file paths in task; never paste their contents. model/directory/agent/autoApprove default from config — omit them. Review what comes back before reporting it done.

check_delegationA

Check a delegation started with background:true. Returns RUNNING, DONE or TIMED OUT, the elapsed time, the session id, and the last 8,000 characters of the agent's output. Each poll costs context, so wait between polls instead of checking in a tight loop. Call with no id to list all jobs.

get_delegate_configA

Read the current forge-delegate configuration: defaultModel, defaultAgent, defaultVariant, autoApprove, timeoutMs, defaultDirectory, and named profiles — plus the installed version and whether it updates automatically. Call this to see what will be used when a model/directory is omitted, or when the user asks which version is running.

set_delegate_configA

Change forge-delegate configuration at runtime — no reinstall. Only change settings when the user asks; never raise defaultModel to a premium tier on your own. Pass any subset of {defaultModel, defaultAgent, defaultVariant, autoApprove, timeoutMs, defaultDirectory, profiles}. Set a field to null to clear it. To edit a profile, pass the whole profiles object (e.g. profiles: {tests: {model: "..."}}); set a profile to null to delete it. Only provided keys change; others are preserved.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.4/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a sharply bounded purpose: ask_model is a stateless one-shot API call, delegate is a full agentic loop with file access, and the descriptions explicitly steer the agent between them ('for anything touching files use delegate'). Config read/write (get_delegate_config vs set_delegate_config), model discovery, and job polling are all cleanly separated.

Naming Consistency4/5

Five of six names follow a clear verb_noun snake_case pattern (ask_model, list_models, set_delegate_config, get_delegate_config, check_delegation). The exception is the bare verb 'delegate', which breaks the pattern but is still unambiguous.

Tool Count5/5

Six tools is well-scoped for a delegation server: one dispatch path, one async-poll path, one second-opinion path, and read/write config plus model listing. Nothing looks redundant or padded.

Completeness4/5

The lifecycle is largely covered — configure, discover models, delegate (inline or background), poll, and consult a second model. The notable gap is the inability to cancel or kill a running background job, so a runaway delegation can only be waited out.

Maintenance

ActivityMaintained
ResponsivenessNo issues