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, accepts_messages (false: send_message to it fails), 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 an agent of an installed harness (see list_harnesses) 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. A session whose harness cannot resume takes no further message, steer included: list_thronglets shows it as accepts_messages: false. |
| 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 target clearly distinct operations (list sessions, list harnesses, cancel, wait, run, send). The main overlap is run_thronglet vs send_message, which both start a turn and return identical JSON, though the descriptions clarify new-session vs existing-session intent.
All six tools use snake_case verb_noun form (list_thronglets, cancel_thronglet, run_thronglet, wait_thronglet, send_message, list_harnesses), which is predictable. Minor inconsistency in pluralization (list_thronglets/harnesses vs singular cancel/run/wait_thronglet) and send_message breaks the 'thronglet' noun pattern.
Six tools is well-scoped for a session-orchestration server; each maps to a distinct lifecycle action (run, send, wait, cancel, list sessions, list harnesses). No filler or redundant tools.
Covers the core lifecycle: discover harnesses, run a session, message it, wait on it, cancel it, and list sessions. Minor gap: no explicit way to fully terminate/delete a session or fetch a single session by id (only cancel the current turn, and list all).