Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
QA_ORCHESTRATOR_DATA_DIRNoDirectory for QA Orchestrator data.~/.qa-orchestrator
QA_ORCHESTRATOR_MODEL_POLICY_PATHNoPath to the model policy JSON file.~/.qa-orchestrator/model-policy.json
QA_ORCHESTRATOR_SESSION_STORE_PATHNoOptional local SQLite file path to restore unfinished orchestration state after restart; disabled when unset.
QA_ORCHESTRATOR_ORCHESTRATION_TTL_SECONDSNoTTL in seconds for orchestration sessions.1800
QA_ORCHESTRATOR_ORCHESTRATION_MAX_SESSIONSNoMaximum number of active orchestration sessions.100

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
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
prepare_qa_orchestrationA

Return one specialist's fixed ReviewRoute checklist: profile, display_name, focus, required_sections, constraints, and escalation_signals.

Use before reviewing one scoped concern when no session is active, or to recover a checklist when the triage response is unavailable; no session is required.

  • Standalone review: use get_qa_orchestration_catalog() to match profile focus to changed files and confirmed stack.

  • Session primary_review: use selected_review_routes returned by the successful triage advance call. It contains every selected checklist and execution_group; do not make a separate preparation call for the same session.

This local lookup reads bundled definitions, without executing reviews or calling models. Use advance_qa_orchestration to apply a session route. Results depend only on agent_profile. Invalid values fail input validation; retry with a listed enum value.

prepare_qa_orchestration_bundleA

Return every fixed ReviewRoute checklist and execution wave for one bundle.

Use for standalone bundle lookup or to recover checklists when the successful triage response is unavailable. In a session, the triage advance response includes the selected checklists and execution_groups. Run execution_groups in order; profiles in one group are independent and may run concurrently when the host supports it. After every profile in the group finishes, record the complete group once in bundle order with completed_profiles. Older hosts may continue using completed_profile one at a time. For a single profile, use prepare_qa_orchestration. This stateless lookup reads bundled definitions; it does not execute reviews, create a session, or call models.

get_qa_orchestration_catalogA

Read the static profile/bundle catalog: specialists, review scopes, and execution schedules.

Use before creating a session or choosing its triage route; no session or arguments required. Task-type recommendations are shortlists, not restrictions. Choose a bundle for broad work or a single profile for a narrow concern using changed files and confirmed stack.

  • For a session, the successful triage response includes selected_review_routes with the selected profile or bundle checklists and execution_groups.

  • Standalone or recovery lookup: prepare_qa_orchestration(agent_profile) or prepare_qa_orchestration_bundle(bundle).

  • Create a session: start_qa_orchestration; set its route: advance_qa_orchestration.

  • Session IDs: list_qa_orchestrations().

Available routes come from the installed server's bundled definitions; active sessions and configured models do not change this catalog.

get_qa_orchestration_model_policyA

Read the server-wide model policy used to create new sessions.

The mode is either host_default (use the host's configured model and reasoning) or configured (use the returned per-stage provider, model IDs, and reasoning).

Use to inspect the policy loaded for new sessions; takes no arguments.

  • Existing session state and current-stage policy: get_qa_orchestration(run_id).

  • Create a session with these settings: start_qa_orchestration.

Reads the loaded in-memory snapshot, not the current policy file; restart the server connection after file changes. No session is created and no provider is contacted; the result does not verify which model the host executed.

start_qa_orchestrationA

Create a QA session; optionally bind it to one immutable review input.

Every call creates a separate session. Use prepare_qa_orchestration for a stateless profile checklist. task_type narrows the bundle shortlist; the host still selects the review route. For an auditable code review, pass review_context with the exact source and evidence packet identifiers. The server stores the identifiers and submitted report fields, not the raw diff or full Evidence Packet.

  • Sessions expire after the configured TTL (1800 seconds by default).

  • Capacity is 100 sessions by default and can be configured.

  • Expired sessions are purged and retained terminal sessions may be evicted. If capacity can only be freed by removing an active session, the call returns a session limit error.

advance_qa_orchestrationA

Record one active QA step's result; return updated state and next_action instructions for the host.

After completed triage, the response also includes selected_review_routes with the exact selected checklists and execution_groups, avoiding a separate preparation tool call.

For finalization, use finish_qa_orchestration at awaiting_host_outcome; after early stops, match the recorded outcome.

  • Triage: select exactly one bundle or profile; default to one profile for narrow work.

  • Every call requires run_id, completed_step, and status. Copy completed_step from the latest session's current_step; use status=completed after a successful stage.

  • Primary review: after a whole execution group finishes, report its ordered profiles together with completed_profiles. In a review-context-bound session, also supply matching profile_reports. Older hosts may continue reporting completed_profile one at a time. The final group requires risk_signals ({} if none).

  • Clean single-profile fast path: set skip_synthesis=true only when that review has no findings, no unresolved material questions, and no risk signals. This bypasses only the separate synthesis step; the host still validates and produces the final QA report. The server cannot verify this claim. Bundles, findings, unresolved questions, or any risk signal require the normal synthesis stage.

  • Trust boundary: completion fields, execution_metrics, and risk_signals are host-reported. The server cannot confirm each review ran, whether it ran concurrently, or that risk_signals reflect evidence; bound sessions validate report/profile alignment, citation membership, finding-source lineage, and risk-signal reference membership, not report truth.

  • Early stop: omit route selectors, completion fields, and risk_signals.

  • Success saves state and refreshes expires_at.

  • Invalid/stale requests and unknown/expired run_ids fail without advancing.

  • With request_id and expected_revision, exact retries return current retained state without another transition or TTL refresh. Conflicting payloads and new stale revisions fail.

  • Legacy calls without request_id are non-idempotent: never retry them blindly. After a lost response or transition error, read get_qa_orchestration(run_id) and continue from its current_step; if the session is unknown or expired, start a new session.

renew_qa_orchestrationA

Extend an active session's TTL while host review work is running.

Renew before expires_at. This changes only the lease, without advancing a profile or workflow revision. Active primary/deep/synthesis and awaiting-host-outcome sessions may be renewed; terminal or expired sessions cannot be revived. No worker or model is launched.

get_qa_orchestrationA

Read one retained run_id's state, including bound review context and structured reports.

Use run_id on the server retaining that session to resume or reconcile a lost advance_qa_orchestration response. Reads do not extend expires_at. Errors unknown run_id or expired session require a new session via start_qa_orchestration. If run_id is lost, use list_qa_orchestrations() to find retained sessions first.

For all-stage server policy, use get_qa_orchestration_model_policy(); for review progress or final outcome, use advance_qa_orchestration or finish_qa_orchestration, respectively. Local stdio access requires no additional credentials.

list_qa_orchestrationsA

List non-expired QA session identifiers and brief metadata, including bound review identity.

Recover a lost run_id by matching task type, route, and stage; confirm if several match. Call get_qa_orchestration(run_id) for full state and next action, or get_qa_orchestration_model_policy() for server policy. Takes no arguments.

  • Includes retained terminal sessions; expired or evicted sessions are unrecoverable.

  • Sorts by expires_at descending, then run_id descending; empty means none are retained.

  • After restart, unfinished sessions and finalized sessions with saved review artifacts restored from configured local storage appear.

  • Reading does not extend session TTL.

delete_qa_orchestrationA

Delete one QA session from memory and configured recovery storage. To retain a final QA outcome, use finish_qa_orchestration.

run_id selects one session at any stage; no prior advance or finish required. Recover a lost ID via list_qa_orchestrations(), matching task type, route, and stage; confirm the target if several entries match.

  • Idempotent: deleted=true confirms absence, including unknown or expired IDs.

  • Irreversible: get/advance/finish cannot use the ID, even after restart.

  • Storage failure: memory stays intact; resolve the error and retry.

Host tasks and model executions are unaffected.

finish_qa_orchestrationA

Finalize the QA run and store its structured report when the session is review-bound.

After normal synthesis or an eligible clean single-profile fast path, use the retained run_id at awaiting_host_outcome to choose completed, partial, or blocked. After an early stop recorded by advance_qa_orchestration, outcome must match its partial/blocked status.

  • A completed review-bound session requires final_review_report.

  • Structured reports survive a restart only when the same session store is configured; otherwise they are in-memory only. They remain until TTL expiry, capacity eviction, or explicit deletion.

  • Same outcome: returns the retained terminal session.

  • Different outcome: conflicting final outcome; status unchanged.

  • Premature call: outcome is not ready. Finalized sessions with review artifacts can be restored from the configured store and expire at configured TTL (1800s default), or are removed by eviction or explicit deletion. Legacy finalized sessions without review artifacts are removed at restart. Removed run_ids cannot be deduplicated.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.6/5.0

Scored across 11 tools

Disambiguation4/5

Most tools have clearly distinct lifecycle roles, but the three stateless lookup tools (get_qa_orchestration_catalog, prepare_qa_orchestration, prepare_qa_orchestration_bundle) all return bundled review definitions and could be momentarily confused despite descriptions clarifying their scope.

Naming Consistency5/5

All names follow a predictable snake_case verb_qa_orchestration(s) pattern with consistent prefixes (start, prepare, get, advance, renew, list, delete, finish). Minor noun suffix variation (catalog, model_policy, bundle) is descriptive rather than inconsistent.

Tool Count5/5

11 tools map cleanly to the QA session lifecycle plus stateless lookups; none appear redundant, and the set is well within the typical 3-15 range for a focused orchestration server.

Completeness5/5

Covers create, advance, finalize, read, list, delete, renew, plus preparation, catalog, and model-policy lookups—full lifecycle with recovery paths for lost session IDs. No obvious operational gap for the stated QA orchestration scope.

Maintenance

ActivityActive
ResponsivenessUnresponsive