throng
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| THRONG_MCP_CONFIG | No | Config path instead of ~/.config/throng/config.yaml | |
| THRONG_MCP_CACHE_DIR | No | Cache dir instead of ~/.cache/throng (session records, kept 14 days) |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| cancel_throngletA | Cancels the session's running turn (session/cancel) and drops its queued messages; a pending wait_thronglet returns the cancelled error. The session is idle afterwards and accepts a new send_message. No-op on an idle session. |
| list_harnessesA | Lists valid agent values for run_thronglet: available harnesses with their models and effort levels, unavailable ones with the reason, and the server limits. |
| list_throngletsA | Lists thronglet sessions on this machine: description, agent, cwd, state (running | queued | idle | failed), queue length, timestamps and the last error. Live state is this server's; a session run by another throng instance shows what its record says. |
| run_throngletA | Runs a coding agent (Claude Code, Codex, OpenCode) on a task in cwd and returns its final message as JSON {session_id, text, stop_reason, usage, duration_s, warnings?}; with schema, structured replaces text. description names the thronglet for listings. With background: true the call returns {session_id, state, queued} as soon as the turn runs; collect the result with wait_thronglet. |
| send_messageA | Sends the next message into an earlier session (session_id from run_thronglet) and returns the same JSON as run_thronglet. A message to a session whose turn is still running waits for that turn to end: turns on one session never overlap. With background: true the call returns {session_id, state, queued} as soon as the turn runs; collect the result with wait_thronglet. steer: true interrupts the running turn and delivers this message next; queued messages follow it. |
| wait_throngletA | Waits until a session has no running or queued turn and returns the last turn's result: the same JSON as run_thronglet, or its error. With timeout_s elapsed returns {session_id, state, queued} instead. Idempotent: the result is stored with the session. |
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 6 tools
Most tools are clearly distinct: cancel, list, run, send, and wait target different operations. However, run_thronglet and send_message both initiate turns and return the same result shape, which could cause slight confusion without careful reading of descriptions. The overlap is manageable but not perfectly clean.
All tool names use snake_case and follow a consistent verb_noun pattern (cancel_thronglet, list_harnesses, list_thronglets, send_message, run_thronglet, wait_thronglet). There are no mixed conventions or vague verbs. The naming is predictable and readable.
Six tools is well-scoped for a coding agent session manager. Each tool covers a distinct lifecycle operation without redundancy or bloat. The count is neither too thin nor too heavy for the apparent purpose.
The set covers core session lifecycle operations: start (run_thronglet), continue (send_message), wait (wait_thronglet), cancel (cancel_thronglet), and list sessions/harnesses. Minor gaps exist, such as no explicit tool to delete or archive a session, and no dedicated single-session status retrieval beyond wait_thronglet with a timeout. These are workaround-able but not fully complete.