switchyard
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| plan_taskA | Ask the planner to analyse a coding task, decompose it into subtasks, and assign each subtask a model tier. Returns an execution plan with:
Spawn one agent per subtask. Run waves in order — all subtasks within a wave run in parallel. |
| decompose_taskA | Alias for plan_task. Preferred entry point for multi-file or multi-concern tasks. Calls the planner to decompose a task into independent subtasks with model tier assignments and dependency waves. Returns:
Use this instead of route_task whenever the task spans more than one file, module, or concern. Spawn one agent per subtask; run waves in order. |
| start_taskA | Start a host-native task handoff with modes implement, review, investigate. implement: use host-native heuristics for simple tasks and return host_spawn_waves for the host to execute; for complex tasks return a planner handoff (no provider subprocesses launched). review: reuse read-only REVIEW fanout and return host_spawn_waves suitable for review (read-only). investigate: profile repository and return a machine-readable ProjectProfile; read-only. Returns machine-readable next_action, profile, warnings, selected tier/model/provider metadata, and host_native handoff when applicable. Does not launch provider subprocesses. |
| fleet_planA | Plan a task AND format it for /fleet execution. Calls the LLM planner to decompose the task, then produces ready-to-run /fleet command strings — one per wave, respecting dependency order. Returns:
Use this when you want copilot-router's model intelligence combined with /fleet's true parallel execution. Run wave 1 command, wait, run wave 2, etc. |
| route_taskA | Quick heuristic classification of a task — no LLM call. Returns model, score, reason, agents. Use for simple tasks or when speed matters more than accuracy. |
| validate_routing_guardA | Validate whether a direct Edit or Write tool call is allowed for the current routed task context. Intended for Claude Code PreToolUse hooks. |
| cache_getA | Look up a cached result for a task. |
| cache_putC | Store a completed task result in the cache. |
| cache_statsB | Return cache statistics: total entries and breakdown by model. |
| execute_subtaskA | Execute a prompt via the cheapest available AI CLI provider. Routes to the cheapest model for the given tier across all installed CLI tools (GitHub Copilot, Codex, Cursor, and others). Falls back to next cheapest on failure. When target_file is provided, writes the result directly to that path and returns file metadata. This is the preferred way to create files for low-tier subtasks — saves tokens by avoiding round-trip through the main agent. Surgical edit modes (set mode=): rewrite (full-file injection + length-ratio guard), blocks (Aider-style SEARCH/REPLACE, token-efficient), patch (unified diff). Returns:
|
| execute_swarmC | Start a swarm run; returns an immediate run contract (swarm_id, wave summary, cost estimate) or a budget preview. |
| report_host_waveA | Report completion of one host-native swarm/plan wave. Call after spawning and finishing each host_spawn_waves wave. Pass workspace_root from the handoff (learning_report_contract) and per-agent output_excerpt for learning quality. Set terminal=true on the last wave with outcome=accepted|revised|reworked|rejected. |
| report_workflow_resultA | Report the result of a Threnody-emitted Dynamic Workflow run (workflow_emit). Pass the workflow_name from the handoff and the agents[] array the workflow returned (each entry: id/label, tier, model, result{summary,findings,success}). Threnody records per-agent learning telemetry and, once the orchestration shape recurs across successful runs, enqueues it as an approval-gated draft you can approve to save as a permanent /workflow command. |
| expand_host_planC | Expand a host-native swarm/plan run with additional file-scoped subtasks. Returns pending host_spawn_waves for discovered files not yet assigned. |
| report_host_swarm_completeC | Terminal shortcut for host-native runs — equivalent to report_host_wave with terminal=true. Requires outcome. |
| inspect_swarmB | Return compact swarm run summary from SQLite (status, progress, host metadata). |
| apply_previewB | Approve or deny a pending outside-workspace file write preview created by execute_subtask. |
| inspect_taskA | Return structured provider/model/tier telemetry and fallback/speculation flags for a previously routed task. |
| resume_swarm_inspectB | List compact coordinator checkpoints available for resuming a failed swarm. |
| resume_swarm_confirmC | Resume a failed swarm from a chosen coordinator checkpoint using a new swarm_id. |
| inspect_write_auditB | Return recent out-of-workspace write audit log entries. |
| inspect_spendB | Return aggregated spend and savings telemetry from delegated subtasks (est_cost_usd vs counterfactual) and persisted cost receipts for a time window. |
| inspect_qualityA | Return the granular model quality ledger: per-(model x effort x dimension x sub_dimension) average score (0-10), sample count, findings/judge breakdown, and approximate escalation rate for a time window. e.g. opus | high | security/sql-injection. |
| inspect_run_receiptC | Return an operator run receipt by run_id/swarm_id, as JSON, Markdown, or local HTML. |
| list_task_packsA | List curated task packs for cheap repeatable planning. |
| plan_task_packC | Plan a task using a curated task-pack preset. |
| workflow_blueprint_exportB | Export a successful host-native run receipt into a replayable workflow blueprint. |
| workflow_blueprint_runB | Replay a saved workflow blueprint with optional string replacements; no planner call. |
| inspect_statusB | Return a compact readiness/status snapshot for one project, including enabled features, current limits, and pending approvals. |
| agent_queue_listC | List pending approval-queue items for one project. |
| approval_queue_listD | Compatibility alias for agent_queue_list. |
| agent_queue_approveC | Approve one pending approval-queue item for one project. |
| approval_queue_approveD | Compatibility alias for agent_queue_approve. |
| agent_queue_rejectC | Reject one pending approval-queue item for one project. |
| approval_queue_rejectD | Compatibility alias for agent_queue_reject. |
| agent_queue_mergeC | Merge one pending approval-queue item into a canonical agent. |
| approval_queue_mergeD | Compatibility alias for agent_queue_merge. |
| memory_listB | List keys and lightweight metadata for one explicit memory scope. |
| memory_getC | Fetch one full memory envelope from an explicit scope. |
| memory_setC | Store or overwrite one memory value in an explicit scope. |
| memory_deleteC | Hard-delete one memory value from an explicit scope. |
| memory_searchA | Search memory values via local FTS5 (no embeddings). |
| record_outcomeC | Record an explicit routed-task outcome and persist the latest task snapshot. operator_id must match the authenticated caller when provided; omitted values are stored as anonymous. |
| tune_showC | Show persisted operator-facing tuning controls for one project. |
| routing_exception_addA | Add a routing bypass rule so that matching tasks skip validate_routing_guard. exception_type must be one of: skill, filetype, project, command, caller, path. pattern supports glob wildcards (e.g. 'tgsd-*', '.md', '/home/user/notes'). Examples: routing_exception_add(exception_type='skill', pattern='auto-time') routing_exception_add(exception_type='skill', pattern='tgsd-*') routing_exception_add(exception_type='filetype', pattern='.md') routing_exception_add(exception_type='project', pattern='/home/me/notes') routing_exception_add(exception_type='command', pattern='Write') routing_exception_add(exception_type='caller', pattern='github-copilot') routing_exception_add(exception_type='path', pattern='/tmp/') |
| routing_exception_removeA | Remove a routing bypass rule by type and pattern. |
| routing_exception_listA | List all active routing bypass rules (from the DB; static config.yaml entries are separate). |
| check_providersA | List detected AI CLI providers with routeability, detection reason, model summary, and health status. Output is compact and secret-safe. |
| list_subtasksA | Return structured status of currently running and recently completed execute_subtask calls. active: tasks currently executing (show elapsed time, model, prompt excerpt, target file). recent: last 10 completed or failed tasks this session. Use this to monitor parallel execute_subtask calls — similar to /tasks for background agents. |
| stop_subtaskA | Send SIGSTOP to a running subtask, pausing its execution. Use list_subtasks to find the task_id. Resume with resume_subtask. macOS/Linux only. |
| resume_subtaskA | Send SIGCONT to a stopped subtask, resuming its execution. Use after stop_subtask. macOS/Linux only. |
| learning_agent_summaryA | Get summary of all learned agents by status (active, pending, rejected). Returns compact agent list with description, lane, pattern hash, and status. Sensitive data (tokens, secrets) is filtered out. |
| learning_pattern_healthA | Get health metrics for the pattern tracking system. Reveals: total patterns tracked, mature patterns ready for drafting, patterns awaiting proof, draft proposals in approval queue, and active agent count. Use to monitor learning loop maturity. |
| learning_audit_logB | Get audit trail for agent creation, approval, and registration events. Returns event stream with timestamps and operator identity. Sensitive fields (tokens, API keys) are filtered out. |
| learning_outcome_statsA | Get outcome distribution snapshot over 1-hour recent window grouped by tier and model. Returns: outcome counts (accepted, revised, rejected, reworked) per tier:model combination, coverage percentage, and window timestamps. Aggregates are computed in background and retrieved from memory. Use for operator observability into routing quality by model. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/timjensgrossinger/threnody'
If you have feedback or need assistance with the MCP directory API, please join our Discord server