Explain and help configure the subagent-mcp addon in Claude Code and Codex without any API dependency. Use when the user says "smcp help", "subagent-mcp help", "/smcp:help", "how do I configure providers", "routing table", "what is subagent-mcp", "swarm", or "sub-orchestrator". Covers marketplace and npm-global install, providers.jsonc slot semantics, .env key setup, the doctor/rollback/upgrade CLI commands, and the agentic-swarm workflow.
Installs into .claude/skills of the current project.
Are you the author of Smcp Help?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/heretyc-smcp-help)
---
name: smcp-help
version: 1.0.0
description: Explain and help configure the subagent-mcp addon in Claude Code and Codex without any API dependency. Use when the user says "smcp help", "subagent-mcp help", "/smcp:help", "how do I configure providers", "routing table", "what is subagent-mcp", "swarm", or "sub-orchestrator". Covers marketplace and npm-global install, providers.jsonc slot semantics, .env key setup, the doctor/rollback/upgrade CLI commands, and the agentic-swarm workflow.
author: Lexi Blackburn (https://github.com/Heretyc/)
created: 2026-07-15
updated: 2026-07-22
---
# subagent-mcp Help
Answer questions about installing, configuring, and maintaining the
**subagent-mcp** addon. This skill is documentation only: it explains commands
and config shape. It never edits configs or runs installs on its own. It works
identically in Claude Code and Codex and needs no network or API access.
## What subagent-mcp is
subagent-mcp is an MCP stdio server plus per-turn `orchestration-mode` hooks
that let a host CLI (Claude Code or Codex) launch and manage background
subagents. The server exposes tools such as `launch_agent`, `poll_agent`,
`wait`, `get_status`, `orchestration-mode`, `swarm`, and the `handoff-*` set.
Providers and their routing preferences live in a user-owned `providers.jsonc`;
secrets live only in a sibling `.env`.
The `swarm` tool coaches a 7-stage agentic workflow for objectives projected
to span multiple sessions. Call `swarm()` to start; the server tracks the
current stage in memory and returns per-stage coaching with the exact next call.
Stage 6 dispatches sub-orchestrators -- use `launch_agent` with
`sub-orchestrator: true` (main orchestrator only) to launch a child as a
delegate-only orchestrator; its own sub-agents run as normal workers.
Scope note for this release: as of v3.0.0, provider `routing` slots are live
routing config. They record per-category priority order, are validated and
reported (see `doctor` and `get_status`), and are consumed by the slot router
to route matching task categories to the configured API provider.
## Install
### Marketplace plugin (Claude Code)
Bundles the MCP server and the per-turn hook in one plugin.
```
claude plugin marketplace add Heretyc/subagent-mcp
claude plugin install subagent-mcp@subagent-mcp
```
`install` takes `<plugin-name>@<marketplace-name>`; both are `subagent-mcp`.
Add `--scope user` (default, all projects) or `--scope project`. Restart the
session after installing.
### Codex equivalent
Codex has a plugin marketplace too. Install the bundled plugin with:
```
codex plugin marketplace add Heretyc/subagent-mcp
codex plugin add subagent-mcp@subagent-mcp
```
Or register just the server with the official Codex command, which writes
`~/.codex/config.toml`:
```
codex mcp add subagent-mcp -- node /abs/path/to/subagent-mcp/dist/index.js
```
Wire the per-turn hook by copying the repo's `codex/hooks.json` template into
`~/.codex/hooks.json`, then run `/hooks` in a Codex session and trust it.
### npm global
Installs the CLI and server to the global npm tree (a copy, not a symlink):
```
npm install -g @heretyc/subagent-mcp
```
After a global install you still register the server and hook with each vendor
using the vendor commands above.
## Configure providers (providers.jsonc)
Run `subagent-mcp config init` to scaffold `providers.jsonc` and `.env` under
the config home (`~/.subagent-mcp`), which is outside git by default. Re-run
with `--force` to overwrite (it backs up the old file first). Each provider is
an object under `providers`:
```jsonc
{
"providers": {
"example": {
"display_name": "Example provider",
"command": "example-cli",
"args": [],
"key_env": "EXAMPLE_PROVIDER_API_KEY",
"routing": {
"math_proof": -1,
"security_review": -1,
"debugging": -1,
"quality_review": -1,
"architecture": -1,
"agentic_execution": -1,
"data_analysis": -1,
"coding": -1,
"knowledge_synthesis": -1,
"mechanical": -1,
"prompt_engineering": -1,
"vulnerability_research": -1,
"molecular_biology": -1,
"ml_accelerator_design": -1
}
}
}
}
```
### Slot semantics
Each `routing` value is a slot number for that task category:
- `slot = N` (N >= 1) inserts this provider at position N in that category's
priority order, shifting any existing entries at or below N down by one.
- `slot < 1` (for example `-1`) disables this provider for that category.
- There is **no global default priority**: a provider participates in a
category only when it has an explicit slot of 1 or greater there.
- List **all 14 task categories** on every provider so coverage is explicit.
The categories are: `math_proof`, `security_review`, `debugging`,
`quality_review`, `architecture`, `agentic_execution`, `data_analysis`,
`coding`, `knowledge_synthesis`, `mechanical`, `prompt_engineering`,
`vulnerability_research`, `molecular_biology`, `ml_accelerator_design`.
Slots are validated, reported, and consumed by the v3.0.0 routing engine. A
provider with `-1` for every category is configured but will not receive routed
API tasks.
## Set keys (.env)
Credentials never go in `providers.jsonc`. Instead each provider names an env
var via `key_env` (key indirection), and the actual secret lives in a `.env`
file next to `providers.jsonc` under `~/.subagent-mcp`:
```
EXAMPLE_PROVIDER_API_KEY=sk-your-real-key
```
`config init` scaffolds `.env` with one `KEY=YOUR_KEY_HERE` line per distinct
`key_env` it finds. Fill in the real values there and keep `.env` out of git.
## Maintenance commands
- `subagent-mcp doctor` - non-interactive health check of install, wiring,
config, and keys. Use the `/smcp:doctor` skill to run and interpret it.
- `subagent-mcp upgrade` - one-command upgrade with backup, hook repair, and a
follow-up doctor run.
- `subagent-mcp rollback` - restore the most recent config backup (asks for
confirmation before restoring).
- `subagent-mcp config init [--force]` - scaffold `providers.jsonc` and `.env`;
existing files are skipped unless `--force`, which overwrites them after a
backup.
- `subagent-mcp config validate` - check that `providers.jsonc` parses and is
well formed.
For live session state (loaded providers, agent count, recent routing
decisions) use the `/smcp:status` skill, which calls the `get_status` MCP tool.