Are you the author? Sign in to claim
MCP server that lets Claude Code delegate tasks to GPT-5.6 (Codex CLI), DeepSeek, GLM, OpenRouter and local LM Studio mo
Delegate tasks from Claude Code to other companies' models — without leaving the app.
This is a small MCP (Model Context Protocol) server that acts as a "waiter" between your main coding agent and every other model you have access to. Claude Code stays the orchestrator; the waiter takes an order to whichever kitchen you point at:
The same pattern works for any MCP-capable agent — nothing here is Claude-specific except where it's registered.
| Tool | What it does |
|---|---|
list_models | Returns the menu: every enabled model with its exact id and provider status (missing key, offline local server, etc.) |
delegate_task | Sends a self-contained task to the chosen model and returns its answer, tagged with origin and token usage |
Delegation niceties, all born from the benchmarks below: pick the Codex model per call (codex:gpt-5.6-luna), set reasoning effort per call (effort works for Codex, z.ai and OpenRouter), per-provider concurrency queues (z.ai and LM Studio silently choke on parallel calls — the server now queues them), configurable per-provider timeouts, and automatic retry on network drops / 429 / 5xx (the answer footer says repescada 1× when the second attempt saved the day).
git clone https://github.com/dpmadsen/multimodels-mcp.git
cd multimodels-mcp
npm install
npm run build
# copy the key template and fill in what you use
cp .env.example .env
# register in Claude Code (user scope = available in every project)
claude mcp add --scope user multimodels -- node "$(pwd)/dist/index.js"
Then ask Claude: "use the list_models tool and show me the menu".
config/models.json — which providers exist, their base URLs, and which models are enabled. Adding an OpenAI-compatible provider is one JSON block; enabling a model is one line in its models array..env — API keys only. Never in models.json, never in code. The server reads models.json fresh on every call (edit and it applies immediately); .env is read at startup (restart the server after adding a key).npm run panel opens a localhost page (http://127.0.0.1:4747) to manage keys and toggle models. Keys are shown last-4-only; the panel binds to localhost.~/.codex/config.toml sets (the CLI accepts -m gpt-5.6-luna etc.).https://api.z.ai/api/coding/paas/v4). On the generic endpoint they fail with a misleading "insufficient balance". The default config already points at the right one.The benchmark/ folder contains a full evaluation run through this server: 6 stations × 11 models × 3 rounds = 198 runs, graded by hidden test suites written before any model saw the tasks. Stations: build-from-spec, find-and-fix-a-bug, code review with seeded bugs, strict JSON extraction, a long compound deliverable, and honesty under missing context.

Highlights:
Everything needed to reproduce is in the folder: station prompts (benchmark/estacoes/, in Portuguese), automated graders (benchmark/corretores/), and every raw response (benchmark/respostas/).

Seven implementers (Claude, GPT-5.6 and GLM lanes, agentic and text-only) built the same real feature of this very server, each on an isolated git branch, judged by 12 hidden acceptance checks: benchmark/rodada2-implementacao/. Sonnet 5 won on fine-grained review; the text-only lanes revealed their two blind spots (context and verification).
Designed by the Reddit comment section: 13 lanes × 2 stations × 3 rounds, with reasoning effort controlled and a station built against the actually installed zod v4: benchmark/rodada3-esforco-e-cutoff/. The cheap models didn't fail at reasoning — they failed at knowing what year it is (0/14 nine-for-nine on the trap, 18/18 on pure reasoning). Only two defenses exist: file access, or fresh training data.
Two requested lanes on the same two stations: benchmark/rodada4-raias-novas/. Kimi K3 (text-only, via OpenRouter) ran and became the second text-only lane ever to beat the cutoff trap — 14/14 on the zod v4 station from memory alone, joining Grok 4.5 in the "fresh memory" club. It went 5 of 6 perfect; the one blemish is a systematic failure mode (it reasons to completion but never emits the final answer, 3× identically on the same cell). It's the slowest and heaviest reasoner in the study — 6-12 min per task, ~$0.20 per delivered task ($3/$15 per M). The two Gemini lanes (3.1 Pro high and 3.6 Flash high) are pending — the Google subscription quota ran out; that window resets ~Jul 29.

There's also an interactive decision report (in Portuguese) consolidating all rounds: benchmark/relatorio-decisao.html.
benchmark/respostas/ are untranslated on purpose — they're the evidence. The graders are language-independent.npm test.1000+ skills curated from Anthropic, Vercel, Stripe, and other engineering teams
Design enforcement with memory — keeps your UI consistent across a project
Detects 37 AI writing patterns and rewrites text with human rhythm across 5 voice profiles
WCAG accessibility audit — automated scanning, manual review, remediation