Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

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
tasks
{
  "list": {},
  "cancel": {},
  "requests": {
    "tools": {
      "call": {}
    },
    "prompts": {
      "get": {}
    },
    "resources": {
      "read": {}
    }
  }
}
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{
  "claude/channel": {},
  "codex/sandbox-state-meta": {}
}

Tools

Functions exposed to the LLM to take actions

NameDescription
tandem_workA

Maintain one durable shared task and its role-bound checklist.

To create, send action="create", expected_revision=0, a unique operation_id, and plan; omit work_id. The plan must have one final integration step that depends directly or transitively on every other step, including investigations. For later mutations, get the card first and use its current revision as expected_revision. Use a new operation_id for a new or corrected request; reuse an ID only for an exact retry. list/get/history need no operation_id. Plan agreement, worker submission and independent acceptance are separate. Progress defaults to a bounded summary. Follow returned section/cursor pointers for omitted material; choose plan/step/full only when needed. Waiting observes committed changes, not permission to start an agent. Give after_revision the revision you last read: a card already past it returns at once instead of waiting for the next change. It is an observation baseline, never expected_revision, a claim, or permission to replay work. Autonomous grants and uncertain-attempt reconciliation are operator CLI actions.

tandem_teamA

Run a bounded team for development, research, analysis or review.

models reads only OMP-available openai-codex subscription models, excluding OpenRouter, ordinary OpenAI API and other providers, without a model turn. start requires a stable request_key and a complete plan with one final integration step. Independent steps run concurrently; declared file conflicts serialize. Work requires plan.allow_work; this is a live workspace, NOT an OS sandbox. The whole run owns one deadline and stops with its MCP owner, not detached. Auto selection uses Jev when configured, exporting goal/title summaries and public model facts only. Choose a model/thinking pair per step; explicit model and thinking choices win. Unassigned actionable steps are returned as pending_models, even while assigned workers run. Read selection for frozen eligible pairs, consult the OMP partner, compare once, then assign exactly every current pending step's model, thinking and reason. Never ask the user to route routine subtasks or invent model/reasoning availability. status observes the same run; never start again to wait. Worker questions use tandem_reply(task_id, question_id, answer). Cancel stops pending and active steps. Partial evidence unlocks only an explicitly opted-in read-only final synthesis. Completed reports are claims, not independent acceptance. Every response is bounded, including details. Follow readers for complete plan, selection, run errors, questions and structured results. read returns digest-bound UTF-8 byte pages; send next_request unchanged. models returns UTF-8 catalog pages from one immutable metadata observation; cursor pages never probe again. list has complete cursor continuation over run metadata.

tandem_desktopA

Hand off live UI tests to an already authorized desktop client.

The operator configures the external desktop-qa queue; the bound project selects its scope. This tool neither launches a model nor grants GUI access. Submit uses a stable request_id. An available native GUI worker calls next with worker_id, a fresh claim_id and exact eligible apps; wait_seconds=null holds the MCP call until work arrives without model polling. Only execute=true authorizes the returned claim, within the user's existing test permissions. Repeated/lost claims never authorize replay. Finish requires its claim_token and a real passed/failed/blocked report. Cancel requires job_id and a nonblank reason and only retires queued work before execution; running and completed tests cannot be cancelled. Cancelled is an administrative record, not a GUI result. Get waits for the result by default; wait_seconds=0 peeks. Claude Channels can announce terminal results when confirmed. Host tool timeouts still apply; keep the desktop session open, do not promise auto-wake.

tandem_scopeA

Inspect the immutable project boundary and available computation profile defaults.

Separate launch folders have separate data even with one user-wide MCP registration. Additional client-granted directories permit working there, not reading their MCP history. This is data isolation, not an OS filesystem sandbox. execution_profiles describes defaults, not effective/actual settings after overrides; deep means more time, not higher thinking.

tandem_context_readB

Page omitted product data from this task's immutable pinned snapshot.

Follow capsule pointers rather than repeatedly loading the whole product. This does not select another context, read files, or grant execution rights. Independent review uses its pinned review reader instead. Focused view is optional, task-bound, nonexhaustive and export-consented; mixed/required context retains the raw view. Raw paging remains unchanged.

tandem_auditA

Explicitly ask Jev about gaps in a completed task's reported evidence.

preview=true shows the exact bounded export without a key, network call or reservation. Sending requires operator opt-in and an OpenRouter key. expected_input_sha256 refuses changed input before sending. The request includes selected criteria, goal, report prose and check descriptions. No source files, commands, task context, artifact bodies or history are read for export; report prose itself may still contain sensitive information. Advice is not verification, acceptance, a finding or permission to act. Ordinary results and waiting never call Jev. Exact repeated pages reuse the saved attempt, including failures; changed/overlapping pages may incur cost. No automatic retry after a timeout, cancellation or unresolved attempt.

tandem_recommendA

Suggest one skill or review direction from an explicit small candidate list.

Coordinator-only advisory operation, available before any task exists. No skill discovery, file/context/history reads, launches or permission changes. Preview is the default: exact bounded payload without a key or provider call. Sending needs separate recommendation enablement, an OpenRouter key, preview=false and the approved preview's matching expected_input_sha256. The hash binds input; it does not establish human approval. Supplied goal and candidate descriptions may contain secrets; this is not redaction. Send retains the exact request and result/failure in this project's journal. Exact duplicates reuse the attempt; uncertainty never authorizes replay. Candidate, none and unclear are distinct from provider/protocol failure. Advice and confidence never authorize execution or alter required checks. Do not inject this advice into an independent snapshot-review stage.

tandem_startA

Start a task with exactly one of prompt or structured contract. Returns immediately.

Base constraints/owned files stay fixed; each follow-up has a new goal and criteria. project_context_id pins product rules/decisions. Only the coordinator sets question timeout. Think: collaboration; analyze: read/search; work: edits/shell, NOT sandboxed. Use preflight=true to inspect admission without launching a worker. Structured requirements declare exact entry/boundary paths and shell/write needs; verification declares the agreed check ladder, never permission to execute it.

tandem_continueB

Start a NEW current goal after completion; supply exactly one of prompt or turn contract.

History/base policy/mode/cwd persist, but old goals/acceptance do not. The product snapshot stays pinned unless explicitly changed to another revision of the same project. Question timeout is inherited unless explicitly set here. For waiting_input use tandem_reply. continuation=fresh requires an explicit handoff and starts a new context without replaying native history or transferring claims/grants. The source remains intact. Use preflight=true to inspect the same admission without a model or worker.

tandem_resultA

Get the actual answer, work outcome and next_action. Questions return immediately.

wait_seconds: 0..1200, served in full by the server. A client may stop holding the call in the foreground first, and what it does then differs by client: if it answers that it moved the request to a background task, read that result instead of retrying; one measured Claude Code run handed off at 120 seconds and delivered every result. wait_mode="auto" also returns as soon as event delivery covers this task; "bounded" waits for the task itself, which costs one call instead of many when the client cannot use the waiting time. Either way the wait is finite and cancellable, and expiry is reported in wait, never as a task state. completed is turn completion, not proof of success. answer holds the requested text; summary only describes the work. When answer_truncated, read answer_artifact_id. details=true includes the full answer/report/contract/diagnostics.

tandem_replyA

Answer exactly the pending clarification, resuming the same worker. Expired/stale IDs fail.

Duplicate identical answers are idempotent; different second answers are rejected.

tandem_cancelA

Stop a task, including while it waits for clarification. Does not undo edits.

tandem_listA

List recent task/conversation IDs, statuses, outcomes and next actions without large bodies.

tandem_publish_artifactA

Publish immutable shared context; each same-name publication creates a new version.

Return artifact_id to the partner in a follow-up or contract.artifact_ids. Content max 4MiB UTF8. Logical names are not filesystem paths; no file is read or modified by this tool.

tandem_read_artifactA

Read an immutable artifact version shared by the coordinator and OMP; page using next_offset.

Offsets count Unicode characters; limit 1..50000. IDs never resolve arbitrary local files.

tandem_waitA

Wait for ANY selected task to finish or ask a question, not for each in turn.

wait_seconds: 0..1200, served in full by the server; a client may stop holding the call in the foreground first; if it says it moved the request to a background task, read that result. wait_mode works as in tandem_result: "auto" also returns once event delivery covers every pending task, "bounded" waits for one of them to become ready. Returns ready IDs/questions, not full answers. Read ready terminal results with tandem_result and remove them from later wait sets; reply directly to a returned question. Does not acknowledge terminal events or rerun work. Await events only with a live independent watchdog.

tandem_project_contextA

Coordinator-only product knowledge: source-backed rules, examples and settled decisions.

publish creates an immutable snapshot; updating a project requires its current expected_revision. get uses an exact context_id; list optionally filters project_id. Pass context_id to tandem_start/continue explicitly. Publishing never changes active tasks. Workers may propose changes in their answer but do not get this publishing tool. Do not approve invented rules.

tandem_export_contextA

Explicitly offer this project's selected rules and referenced evidence to one recipient.

Use only when the user intends cross-project sharing. No tasks/history are shared. The returned transfer_id is a private capability, not a public link. The recipient must separately call tandem_import_context in its own coordinator session. This grants no permissions.

tandem_import_contextA

Explicitly accept a product snapshot offered to this launch project.

Only recipient-bound exports can be imported; no foreign database is browsed. Creates fresh local context/evidence IDs, preserving source provenance, not granting approval. Existing product revisions require expected_revision. Retrying one transfer is idempotent.

tandem_channelA

Manage optional Claude Code Channels push delivery; ordinary polling always remains available.

probe sends a receipt challenge only through the channel; ack with its probe_token confirms delivery. watchdog_token acknowledges an actual independent hook wake, never a tool-response assertion. ack with event_id acknowledges a webhook. pending lists unacknowledged events (include_previous explicitly includes earlier sessions). recover replays one event_id or a completed task_id; never changes task outcomes or reruns work. Token-file contents are secret.

tandem_reviewA

Capture or read an immutable review bundle, or compare it with current selected files.

request.source selects base-to-worktree (default) or base-to-staged Git index material. Staged captures exclude unstaged/untracked content; source also governs applicability checks. Capture includes requirements, supplied checks and boundaries without executing tests. Bind review_id to a think task for snapshot-only review. Author rationale is withheld unless explicitly revealed in a comparison turn. Read pages by next_offset, not the live working directory. assess reports applicability at observation time, not whole-system correctness. prepare classifies the same request without saving anything: it reports every repairable selection conflict at once and proposes the corrected paths, which the caller decides whether to apply. It reserves nothing, so capture classifies the files again and a repaired request is a new request, not a retry.

tandem_review_runA

Run one read-only review scenario without manually coordinating its native turns.

start: supply ReviewRequest and a stable request_key for this logical request. Reusing the key returns the same run; a different payload conflicts. Code captures the snapshot, runs independent think review, then at most one comparison if author material was supplied and the independent report succeeded. Total budget defaults to 600 seconds, including startup, both stages and questions. It never edits files or runs supplied test commands. status/reply/cancel: use the returned run_id, never start again to wait. Replies require the current question_id. Full stage answers, findings, applicability and peer-only usage are assembled by code. Claims are not automatically accepted or applied. Missing context needs an explicit new capture (context_paths), not hidden live reads.

tandem_findingsA

Track version-bound review findings without rewriting their history.

Validity and resolution are separate. A claimed fix is not verified; verify_fixed needs evidence and a completed verification task for its snapshot. Update requires the current expected_revision. Get by stable finding_id or conversation_id plus human number. pin fixes the membership of a correction set for review_id once, so closure can be answered later; a live list cannot, because closing a finding removes it from the list. project reads what became of every pinned member of set_id, optionally against a target review. It records dispositions and decides nothing: a claimed fix is still unverified, and an accounted-for member is not a fix that holds.

tandem_diagnoseA

Diagnose this client session's project, OMP execution, actual model and delivery.

live=true starts one short provider request and may incur a charge: use only for a user-requested live check. Default checks local state without contacting a provider. If still running, inspect the returned task_id instead of starting another check. A separate CLI process cannot certify this session's push receipt.

tandem_receiptB

Gate result processing separately from reading/acknowledging notification events.

Claim before applying a terminal result; only an authorized fresh claim may proceed. Complete with its token after handling. Duplicate reads do not authorize repeated effects. A stranded claim is uncertain, never automatically released: reconcile external state. Claims grant no filesystem/external permissions. External effects still need their own idempotency/transaction boundary.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 25 tools

Disambiguation3/5

Most tools target distinct resources (start/continue/reply/cancel/wait/result are clearly separable lifecycle ops), but several pairs have murky boundaries: tandem_review vs tandem_review_run, tandem_result vs tandem_wait, tandem_audit vs tandem_recommend (both share preview/hash/opt-in OpenRouter semantics), and tandem_project_context vs tandem_publish_artifact/read_artifact all move immutable shared data. Descriptions work hard to disambiguate, but the overlaps mean an agent can plausibly misselect.

Naming Consistency4/5

All names use a consistent 'tandem_' prefix and snake_case, which is uniform and readable. There is a minor deviation between verb-first names (start, continue, cancel, list, wait, reply) and noun-first names (scope, team, result, channel, review, findings), but the pattern is predictable within categories and rarely ambiguous.

Tool Count3/5

25 tools sits at the upper/heavy boundary. For a multi-stage orchestration system (tasks, teams, reviews, context exchange, delivery) many tools earn their place, but the surface is sprawling and includes peripheral operations (diagnose, channel, receipt, export/import) that push it toward overload.

Completeness4/5

Coverage is broad and thoughtful: task lifecycle (start/continue/wait/result/reply/cancel/list), context/artifact exchange (project_context, publish/read, export/import), review capture/run/findings, team, desktop, and delivery all have tools. The surface has few obvious dead ends; remaining gaps are edge operations rather than core workflow holes.

Maintenance

ActivityMaintained
ResponsivenessNo issues