DeltaRoute MCP Server
Routes quick coding, iteration, and large-context tasks to a configured Google CLI / Gemini worker.
Conducts cited web research through Perplexity via gstack, or falls back to original public sources.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@DeltaRoute MCP Serverroute this refactor to Codex in a pinned worktree"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
DeltaRoute (Δ)
DeltaRoute coordinates local AI subscription clients from Claude Code or Codex. Your current host plans and reviews; bounded workers handle suitable tasks through their own signed-in clients. Saved workflow contracts, evidence checkpoints and reviewed model memory keep long jobs tied to the original prompt.

Windows is the supported installation target. The Node core also has portable tests; macOS/Linux native integrations require manual configuration and are not claimed as fully validated. Bring your own eligible subscriptions and official clients. The project supplies no accounts, provider binaries or API credits.
Install
Install Node.js 22+, Git, Python 3.11+, and the official Claude Code and/or Codex CLI. Install any additional provider clients you intend to use, then sign in through each client's normal account flow. Subscription eligibility and available models depend on the provider and account. Never copy someone else's credentials.
git clone https://github.com/olivergoldberg15-bit/DeltaRoute.git
cd DeltaRoute
powershell -NoProfile -ExecutionPolicy Bypass -File .\setup.ps1
npm testSetup creates a private local config.json, discovers compatible installed executables and leaves missing providers disabled. Review that file before enabling additional workers. config.example.json explains the configurable transports. There are no npm runtime dependencies to install.
Register the clients you use:
# Claude Code: global routing policy, prompt hook, MCP and repetitive subagent
powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1 -AllowRouterTools
# Codex: global routing policy, native skill and MCP
powershell -NoProfile -ExecutionPolicy Bypass -File .\install-codex.ps1 -ManagedHeads
powershell -NoProfile -ExecutionPolicy Bypass -File .\doctor.ps1The switches opt into approval for the five local router tools. They do not grant blanket shell/browser permissions or override explicit Codex denials. Without the switches, worker submission/cancellation use normal approvals; the Codex installer may approve its read-only router tools. Installers back up changed global files and refuse to overwrite an unrelated existing MCP registration. Keep this checkout at its installed path and restart the host to load changes.
See setup and providers for prerequisites, sign-in, research, video tools, optional skills, manual MCP setup and troubleshooting.
Related MCP server: Jev Context MCP
What routes where
Work | Default role |
Planning, creative direction, review, integration | Current Claude Code/Codex host |
Implementation, debugging, tests, independent feedback | Codex |
Quick coding, iteration, large context | Configured Google CLI / Gemini |
Frontend and integration | Cursor |
Cited web research | Perplexity through gstack, or original public sources |
Social source analysis | Grok through Cursor, using collected original posts |
Repetitive read-only work | Claude's native Haiku subagent, when available |
Animation, 3D, realism, context and verification | Relevant specialist instructions, loaded on demand |
These are editable starting specialties. Availability and capabilities filter the choices. Explicit checkpoint reviews build memory by exact model and task category; three reviews are required before bounded ranking adjustments apply. Pin explicit model IDs for version-specific comparisons; an account-default alias can change underneath its stored feedback. This is local feedback, not an independently proven model leaderboard.
Small self-contained tasks stay local because worker startup and repeated context can cost more than they save. Routing is a host policy and tool workflow, not an interceptor that guarantees every chat launches a worker.
Long work and recovery
Save the original prompt as a workflow with constraints, non-goals, dependencies, allowed paths and acceptance checks. Workers use pinned Git worktrees. The coordinator reviews real evidence before releasing dependent steps. Failed attempts and counters remain available. Two external workers may run at once; heavy profiles allow bounded 30-minute attempts.
An external supervisor can replace a stopped Claude head with Codex, or vice versa, for a managed workflow. If both heads reach hard quotas, new work waits for verified recovery. Native app chats keep their own host.
.\DeltaRoute.ps1 -WorkflowId "<saved-workflow-UUID>" -BackgroundWorker outages, expired logins and quotas use finite fallbacks and cooldowns. Exhausted workers hand back to the current coordinator. Login challenges, unconfirmed process shutdown and unresolved approval needs preserve state and require attention. No system can guarantee availability when all accounts or services are unavailable. There is no paid API fallback or quota bypass.
Details: heavy workflows, MCP examples, architecture, editable chart.
Video, social evidence and quality
Video URL analysis extracts actual sampled frames with local yt-dlp/FFmpeg and attaches them to a configured vision-capable Codex worker. Default coverage is eight frames from the first 60 seconds. Longer videos use explicit bounded windows. Native captions are retained; missing audio remains unverified.
Social research retains original URLs, publication/retrieval times and available metrics. Missing dates/counts remain unknown. A few posts do not establish a platform-wide trend. Grok through Cursor does not establish privileged live X access. Browser pages and public extraction can change or require login.
Specialist guidance covers Three.js, Blender, Remotion, creative work, context efficiency and verification. Licensing, pinned sources and installation are documented in third-party notices and the skill manifest. Some upstream collections have no redistribution license and are not bundled; the notices explain the optional explicit download path. Skills do not install a renderer, prove photorealism or automatically authorize cloud uploads and purchases.
Tests, speed and cost
npm test
npm run test:process
npm run test:install
npm run usage
npm run skills:verifyThe default tests use local fixtures without provider calls or account resets. Process fault tests require Windows and Git; see test and benchmark instructions.
One historical matched log experiment reduced Claude logical input from 89,908 to 9,489 tokens. Tiny forced delegation used substantially more context than direct work. A separate managed head/worker fixture took 40.252 seconds. These are observations from individual trials, not universal speed or savings claims. Cached reads are a subset of input; browser counters may be unavailable. Fixed monthly subscription bills remain unchanged. See verification and measurement limits.
Project files
server.mjs: five MCP tools and bounded worker adapters.workflows.mjs: original contract, dependency gates and scope audits.coordinator-supervisor.mjs: external managed-head lifecycle.coordinator-state.mjs,account-limits.mjs: observed quota state and native readiness.routing-memory.mjs: explicit reviewed task-fit feedback.media-evidence.mjs,browser.mjs: sampled video and sourced research.telemetry.mjs,usage-report.mjs: native counters, compact results and retained attempts.deltaroute-skill/: host instructions and on-demand references.
Original DeltaRoute code is MIT licensed. Third-party materials retain their own licenses. Local account data, prompts, caches and session logs are excluded from the release; see SECURITY.md.
Available Tools
5 toolscancel_taskA
Cancel a queued or running delegated task and its child process. Keep job files and worktree for inspection.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does add real behavioral detail: the child process is also terminated and job files/worktree are intentionally preserved for inspection. However, it omits permissions/auth needs, whether cancellation is graceful or immediate, and what happens when the task has already completed or failed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero filler. The action and its scope are front-loaded, and the second sentence delivers the non-obvious side effect about retained files.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a state-mutating tool with no annotations and no output schema, the description covers the core action and cleanup semantics but leaves open the return value, idempotency, and behavior against already-finished tasks. These are gaps an agent may hit in practice.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description would need to compensate, but it says nothing about task_id's format or where to obtain it. The single required parameter is close to self-evident from its name, so this is adequate rather than harmful.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (cancel) and resource (delegated task, plus its child process), and the phrase 'queued or running' scopes which tasks are affected. It is distinguishable from submit_task/get_task by the verb alone, though it never names a sibling explicitly, which keeps it just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Queued or running' implicitly tells the agent the applicable task states, but there is no explicit guidance on when to prefer this over siblings, no mention of what to do if the task is already terminal, and no prerequisites. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_taskB
Collect compact results and real token counters when exposed. wait_seconds up to 45 avoids repeated polling. Full prompts/research packet stay in artifacts; detail=full retrieves them only when needed. Truncated answers are labeled.
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No | ||
| task_id | No | ||
| workflow_id | No | ||
| wait_seconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden and does disclose real traits: long-polling semantics via wait_seconds, that full prompts/research packets are retained in artifacts, and that truncated answers are explicitly labeled. It still omits error behavior, auth needs, and what happens when a task is absent or still running.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences with the return content front-loaded and no filler; each sentence carries information. The phrasing is slightly telegraphic ('when exposed'), but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-param, no-output-schema, no-annotation tool, the description does a fair job covering return shape (compact vs full, token counters, truncation labeling) and the polling model. The remaining gap is the identifier parameters and the one-of task_id/workflow_id requirement, which the description never addresses.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It adds genuine meaning for two params (wait_seconds as an anti-polling delay, detail=full as an opt-in to artifacts), but says nothing about task_id vs workflow_id or the anyOf constraint requiring one of them, leaving the most important identifier semantics undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys what the tool returns (compact results, token counters, artifact-retained prompts) and the name get_task signals retrieval, so an agent can roughly infer the purpose. However, it never states the core operation plainly (fetch a task's results/status by id) and offers no differentiation from siblings like cancel_task or list_workers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives two concrete usage cues: use wait_seconds up to 45 instead of repeated polling, and request detail=full only when artifacts are actually needed. What is missing is any guidance on when to call this versus siblings (e.g., after submit_task, instead of cancel_task), so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_workersC
Compact worker/model availability. include_usage adds measured worker counters (not coordinator/browser totals); optional since ISO timestamp scopes them. Historical success does not guarantee current login/quota. Full paths/config only when detail=full.
| Name | Required | Description | Default |
|---|---|---|---|
| since | No | ||
| detail | No | ||
| include_usage | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose some non-obvious traits: that usage counters are measured worker counters and exclude coordinator/browser totals, and that historical success does not guarantee current login/quota. However, it omits permissions, cost, and any hint about the response shape beyond the compact/full split.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and front-loads the purpose, but it is written as disconnected fragments and semicolon-joined clauses rather than complete sentences, which costs clarity for no real gain in brevity. Every clause carries information, so nothing is padding, but the structure is cryptic.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter, no-annotation, no-output-schema tool, the description covers the output mode split, the usage counter scope, and a freshness caveat, which is more than nothing. It still leaves the meaning of 'since', the definition of a worker, and the full return structure for the agent to guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it partially does: include_usage is explained (measured worker counters, excludes coordinator/browser totals), detail=full is linked to full paths/config, and 'since ISO timestamp scopes them' gestures at the since parameter. Still, the since semantics are only obliquely implied and the compact enum value is never defined.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The fragment 'Compact worker/model availability' identifies the resource (workers/models and their availability) but supplies no explicit verb and never says it lists them, so the agent must infer 'list'. It is distinguishable from siblings like submit_task or recommend_route by resource, but the phrasing is telegraphic rather than a clear statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this tool versus alternatives such as recommend_route, nor any prerequisite or exclusion. The only conditional language ('Full paths/config only when detail=full') governs a parameter, not the decision to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recommend_routeB
Suggest a provider using editable task-fit heuristics. The coordinator chooses based on actual capabilities, context, previous outcomes and explicit user requests.
| Name | Required | Description | Default |
|---|---|---|---|
| task | No | Optional task text for relevant installed specialist skill hints and video routing | |
| category | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It usefully discloses that the output is a suggestion, that the heuristics are editable, and that the coordinator makes the final call based on capabilities and prior outcomes — important advisory semantics. It says nothing about cost, latency, determinism, or whether the recommendation is binding, so coverage is partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler, and the core purpose is front-loaded in the first. The second sentence is slightly abstract but does add the decision rationale.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter advisory tool with no annotations and no output schema, the description should clarify what comes back (a single provider? a ranked list?) and whether the result is consumed automatically. It leaves the return contract unstated, which is a meaningful gap even for a low-risk recommendation call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% — 'task' is documented but 'category' is only an enum with no field description. The description adds no parameter-level meaning, no hints on how category interacts with task, and no explanation of the enum values beyond what the schema shows. It does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Suggest a provider using editable task-fit heuristics.' An agent can tell this is an advisory routing tool, distinct from the sibling actions (submit_task, get_task, cancel_task). It stops short of explicitly naming how it differs from those siblings, so it is clear rather than sharply differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains the basis of the selection ('actual capabilities, context, previous outcomes and explicit user requests') but never states when to call this instead of submit_task or list_workers. Usage is only implied — presumably before submitting work — leaving the agent to infer the workflow position.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_taskB
Delegate a task or manage a heavy workflow: create_workflow, run_step, checkpoint. See the DeltaRoute heavy-workflows reference. Heavy profiles allow bounded 30-minute attempts. Workflow code requires scoped paths and reviewed dependencies. Optional wait_seconds (up to 45) collects short jobs in one call. Default read-only; code jobs use isolated clean Git worktrees. Returns compact status/result and full artifact path, never echoes the prompt. Automatic bounded provider fallback; no paid API fallback.
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | Absolute project directory | |
| mode | No | ||
| task | No | ||
| action | No | ||
| detail | No | ||
| context | No | ||
| profile | No | ||
| step_id | No | ||
| category | No | ||
| fallback | No | Default true: automatically try eligible subscription providers, then hand back to the current coordinator. False retries only the preferred provider. | |
| provider | No | ||
| workflow | No | Persistent contract: objective, constraints[], non_goals[], steps[{id,task,category,mode,depends_on[],allowed_paths[],acceptance[],inputs[],profile,media_options}], max_jobs, max_runs_per_step | |
| checkpoint | No | Coordinator review: accepted boolean, note, checks[{criterion,passed,evidence}], integrated_head for accepted code | |
| limit_error | No | Observed native hard quota event; never guessed | |
| workflow_id | No | ||
| wait_seconds | No | ||
| media_options | No | ||
| research_scope | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: default read-only, isolated clean Git worktrees for code jobs, bounded 30-minute attempts for heavy profiles, automatic bounded provider fallback with no paid API fallback, and it explicitly says the prompt is never echoed. Missing only permission/auth and mutation side-effects for create_workflow.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded, but the body is a dense semicolon-joined run-on mixing purpose, safety, fallback, and return behavior. It is terse yet unstructured, and the external doc reference ('See the DeltaRoute heavy-workflows reference') adds noise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 18-param tool with nested objects, an anyOf of three call shapes, and no output schema, the description is only partially complete. It helpfully states the return shape ('compact status/result and full artifact path'), but does not explain the anyOf call patterns, the limit_error reporting flow, or permissions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 28% across 18 params, so the description must compensate but largely does not. It mostly repeats enum values already in the schema (action names, mode) and the wait_seconds bound, adding only 'default read-only' for mode; key params like category, provider, detail, context, research_scope, and media_options get no elaboration.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states specific verbs and resources ('Delegate a task or manage a heavy workflow') and enumerates the workflow actions (create_workflow, run_step, checkpoint). It is clearly distinguishable from siblings like get_task and cancel_task, though it never names them explicitly to route the agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies usage contexts (heavy workflows, short jobs via wait_seconds, code jobs) and points to a 'DeltaRoute heavy-workflows reference,' but gives no explicit when-to-use vs when-not guidance relative to recommend_route or get_task. Usage must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v1.5.0- First observed
cancel_task - First observed
get_task - First observed
list_workers - First observed
recommend_route - First observed
submit_task
TDQS
Scored across 5 tools
list_workers and recommend_route are related but distinguishable (availability vs routing advice). submit_task, get_task, and cancel_task form a clear task lifecycle, though submit_task also bundles heavy-workflow subcommands, slightly blurring its scope.
All tool names follow a consistent snake_case verb_noun pattern: list_workers, recommend_route, submit_task, get_task, cancel_task. The convention is predictable and easy to scan.
Five tools cleanly cover worker listing, route recommendation, and task submit/get/cancel. The count is well-scoped with no obvious bloat or missing essential standalone operations.
The core delegation lifecycle is covered: discover workers, get a route recommendation, submit, retrieve, and cancel tasks. Minor gaps include no list_tasks/status browsing and heavy workflow operations folded into submit_task rather than exposed separately.
Maintenance
Related MCP Connectors
AI work orchestration for plans, tasks, teams, and coding-agent dispatch.
Shared task queue for humans and AI agents: leases, handoffs, approvals and signed receipts.
Work management where AI agents are first-class members: tasks, projects, memory over hosted MCP
Cross-agent artifact workspace with provenance across Claude Code, Codex, Cursor, LangGraph.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceEnables Codex to delegate bounded tasks to multiple AI model workers through a persistent OpenCode 2 service, with isolated Git worktrees and safe patch review and application.-
- AlicenseNot gradedqualityCmaintenanceEnables local, bounded routing and evidence judgments for Codex tasks, with tools for reading file context, checking outputs, and selecting registered workflows while keeping execution and review with the client.MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI coding providers to run structured multi-agent workflows with document specifications, tracked tasks, handoffs, and server-owned health evidence. It coordinates task claims, repairs, reviews, and completion gates across Claude Code, Codex CLI, Cursor, Grok Build, and OpenCode.29 npmMIT
- AlicenseNot gradedqualityAmaintenanceGives AI coding providers a structured, provider-agnostic workflow for managing specifications, tracked tasks, handoffs, and health-gated completion evidence. Enables coordinated multi-role workflows in which tasks are claimed, logged, and verified by server-owned health checks before work is marked done.29 npmMIT