smcp-status · v1.0.0 · 2026-07-15 · sha256 0cfcb8dae8e10d57
smcp-status v1.0.0A
Immutable. This exact content never changes and is served at /api/v1/blob/0cfcb8dae8e10d57.
---
name: smcp-status
version: 1.0.0
description: Report live subagent-mcp session state by calling the get_status MCP tool and rendering it in a uniform plain-ASCII layout. Use when the user says "smcp status", "/smcp:status", "routing status", "which providers active", or "agent count". Live data only; reads no state files.
author: Lexi Blackburn (https://github.com/Heretyc/)
created: 2026-07-15
updated: 2026-07-15
---
# subagent-mcp Status
When triggered, call the `get_status` MCP tool and present its live session
state. Use **only** what `get_status` returns. Do not read state files, guess,
or cache: the numbers come from the running MCP server's in-memory state, so a
fresh call each time is the single source of truth. If the `get_status` tool is
not available, say the subagent-mcp MCP server is not connected in this session
and point the user at the `/smcp:doctor` skill.
## Data source
`get_status` returns a JSON object with these fields:
- `providers_loaded` - array of provider names parsed from `providers.jsonc`
at server start.
- `agent_count` - number of agents launched since this server process started.
- `session_start_time` - ISO timestamp of the MCP server process boot (may be
null), used to compute uptime.
- `last_routing_decisions` - array of `{ category, provider, timestamp,
elapsed_ms }`, most recent last, capped at the last 10.
## Presentation (E1-standardized)
Render uniform, one-item-per-line, plain-ASCII output. No smart quotes, no
emoji, no tables. Use this exact shape:
```
subagent-mcp status
providers_loaded (N): name1, name2, ...
agent_count: K (since session start)
last routing decisions (most recent last):
1. category=<category> provider=<provider> elapsed_ms=<n>
2. category=<category> provider=<provider> elapsed_ms=<n>
3. category=<category> provider=<provider> elapsed_ms=<n>
```
Rules for filling it in:
- `providers_loaded`: print the count then the comma-separated names. If the
array is empty, print `providers_loaded (0): none loaded`. If you can
determine reachability (for example from a recent `/smcp:doctor` run in this
conversation), add a short parenthetical note per provider such as
`(reachable)` or `(unreachable)`; otherwise omit the note rather than
guessing - `get_status` alone does not probe reachability.
- `agent_count`: print the integer verbatim. When `session_start_time` is
present you may add uptime, for example `agent_count: 4 (since session start,
up 12m)`; if it is null, just print the count.
- last routing decisions: show the **last 3** entries from
`last_routing_decisions` (the 3 most recent). Number them 1-3 with the oldest
of the three first and the newest last. If fewer than 3 exist, show what is
there. If the array is empty, print `last routing decisions: none yet`.
Keep every line plain and aligned by field name so successive status reports
read the same way.