agent-duet
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| duet_startA | Start one Claude->Codex->Claude run and return immediately with its run_id.
Interactive model callers must pass Side effects: creates a durable run record, a branch and private worktree (in
|
| duet_statusC | Return durable status and concise evidence for one run. No side effects. |
| duet_waitA | Wait briefly for one run to change phase, then return its durable status. Accepts legacy inputs through 300 seconds, but the effective wait is always capped at 90 seconds so Claude Code keeps the call in the foreground. Keep only one call in flight for a run and wait for its response before polling again. No side effects. |
| duet_cancelA | Request cancellation and terminate the run's process group. Side effects: signals the detached worker and its children (SIGTERM, then SIGKILL after a grace period). Files the run already wrote are left in place; nothing is committed, pushed, or deployed. Safe to call more than once. |
| duet_finalizeA | Publish a validated run: commit, optionally push, optionally verify deployment. Side effects: creates a real commit and, when |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
Each tool maps to a distinct lifecycle stage (start, status, wait, cancel, finalize). The only mild overlap is duet_wait vs duet_status, since both return status, but the descriptions clearly distinguish waiting-for-phase-change from a plain status read.
All five tools use the same duet_ prefix followed by a concise verb (start, status, wait, cancel, finalize) in consistent snake_case. The pattern is predictable and readable.
Five tools cleanly cover an orchestration lifecycle without redundancy. Each tool earns its place and nothing feels padded or missing for the stated scope.
The surface covers the full run lifecycle: start, poll status, wait for phase change, cancel, and finalize/publish. Nothing essential (create, monitor, abort, commit) is missing for a single-run orchestration model.