Package Exports
- @rk0429/agentic-relay
- @rk0429/agentic-relay/package.json
Readme
agentic-relay
agentic-relay is a TypeScript MCP server that launches Claude Code, Codex CLI,
and Gemini CLI through a single MCP endpoint. It now exposes both agent
execution tools, Phase 2 task management tools, Phase 3 task-type routing, and
Phase 4 visualization commands.
Current scope
- Phase 1 foundation from
docs/requirements.md - Phase 2 task management from
docs/requirements.md - Phase 3 task-type routing from
docs/requirements.md - Phase 4 visualization UI from
docs/requirements.md - Phase 5 unified relay CLI from
docs/requirements.md relay mcp serveover stdiorelay visualizefor a colorized task tree and active-agent dashboardrelay [backend] [--resume <session_id>] [-p <prompt>]for interactive and non-interactive backend access- VSCode Explorer views for task trees and active agents with
fs.watchrefresh - Parallel
spawn_agents - Backend routing, depth guard, response persistence, and session metadata
- Automatic cross-backend handoff when
session_idis resumed with a different backend - Task CRUD, status transitions, dependency resolution, review flow, and
spawn_agents/agents[].task_idlinkage - Task write permissions scoped to the assigned task subtree, while reads remain open
- Task warnings for missing
acceptance_criteria, with leaf tasks blocked from execution until criteria are defined task_type-based backend auto-selection and orchestration-only re-delegation
Usage
pnpm install
pnpm build
pnpm relay
pnpm relay codex
pnpm relay claude -p "hello"
pnpm relay claude --resume <session_id>
pnpm relay mcp serve
pnpm relay visualizeResponses are stored under .relay/ in the current working directory.
relay chooses the default backend in claude -> codex -> gemini order when
no backend is specified. Interactive mode shows a short Ink launch banner and
then hands control to the selected backend CLI. Prompt mode (-p/--prompt)
uses relay-managed session persistence, so Claude and Codex sessions can later
be resumed with --resume <session_id>. Gemini follows the documented
constraint and rejects -p together with --resume.
relay visualize renders:
- A colorized task tree with task ID, title, status, assigned agent, and dependencies
- Blocked tasks with an inline cause derived from unresolved dependencies or task comments
- An active-agent list with agent ID, task, backend, and elapsed runtime
When the package is loaded as a VSCode extension, it contributes two Explorer views:
Agentic Relay Tasksfor the task treeAgentic Relay Agentsfor active delegations
The extension refreshes those views automatically when .relay/tasks/*.json or
.relay/logs/*.jsonl change. A manual Agentic Relay: Refresh Views command is
also contributed.
MCP Tools
spawn_agentscreate_taskupdate_task_statusassign_agentlist_tasksget_taskupdate_taskdelete_task
Task operations are read-open by default. Mutations are limited to the current
agent's assigned subtree (plus bootstrap operations on tasks the agent created),
and task payloads include warnings when acceptance_criteria is missing.
Leaf tasks cannot transition to ready or in_progress until their
acceptance_criteria is defined.
spawn_agents links task automation through agents[].task_id. When a given
agent entry includes task_id, only that task is auto-transitioned and
auto-assigned from the spawned session.
When backend is omitted, spawn_agents resolves it from task_type. The
default routing is orchestration/document_writing/code_review -> claude and
research/document_review/code_writing -> codex, with fallback to another
installed backend if the preferred one is unavailable. Only
task_type="orchestration" child agents receive spawn_agents; all other
task types are treated as leaf agents.
Routing can be customized through .relay/config.json:
{
"routing": {
"research": "gemini",
"code_writing": "claude"
}
}When a routing entry exists for a task_type, it overrides the built-in
default for backend auto-selection.
Use From This Workspace
This workspace is configured to consume the published package via
@rk0429/agentic-relay@latest.
Claude Code
Project MCP registration lives in .mcp.json:
{
"mcpServers": {
"agentic-relay": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@rk0429/agentic-relay@latest", "mcp", "serve"]
}
}
}Claude project enablement lives in .claude/settings.local.json (symlinked to
.agents/settings.local.json) and must include agentic-relay in
enabledMcpjsonServers.
Codex CLI
Workspace config lives in .codex/config.toml:
[mcp_servers.agentic-relay]
command = "npx"
args = ["-y", "@rk0429/agentic-relay@latest", "mcp", "serve"]Gemini CLI
Workspace config lives in .gemini/settings.json:
{
"mcpServers": {
"agentic-relay": {
"command": "npx",
"args": ["-y", "@rk0429/agentic-relay@latest", "mcp", "serve"]
}
}
}Verify
claude mcp list
codex mcp list
gemini mcp list