Nexus MCP
Enables querying Google Gemini models (Gemini 2.0 Flash, Pro) for text generation and reasoning, integrated into agents, plans, and councils.
Enables querying NVIDIA models (Nemotron-120B) for text generation and reasoning, integrated into agents, plans, and councils.
Enables querying local Ollama models for text generation and reasoning, integrated into agents, plans, and councils.
Enables querying OpenAI models (GPT-4o, GPT-5.4, o1) for text generation, reasoning, and task execution, integrated into agents, plans, and councils.
Enables querying Perplexity models (Sonar Pro, Sonar Reasoning) for text generation and research, integrated into agents, plans, and councils.
Enables querying Replicate's open-source models for text generation and reasoning, integrated into agents, plans, and councils.
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., "@Nexus MCPRun a multi-model council to decide the best pricing strategy"
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.
Nexus MCP
The Universal AI Gateway for Claude — Delegate tasks to 27 AI providers. Orchestrate multi-agent plans. Run councils for decisions. All from a single MCP server.
What is Nexus MCP?
Nexus MCP is a Model Context Protocol (MCP) server that turns Claude into an orchestration engine for multi-AI systems. Instead of Claude doing everything, Nexus agents execute tasks while Claude plans, decides, monitors, and intervenes.
Paradigm: Opus Plans, Nexus Executes
Claude/Opus: Strategic thinking, planning, final decisions
Nexus agents: Autonomous execution, research, reasoning, tool use, code generation
27 AI providers: GPT-5.4, Gemini, Nemotron, Claude, Ollama, local models, and more
Key Features
27 Providers: 22 cloud (OpenAI, Google Gemini, Anthropic, Mistral, Cohere, Groq, Together, Perplexity, DeepSeek, xAI, HuggingFace, Replicate, Nvidia, etc.) + 5 local (Ollama, LM Studio, llama.cpp, LocalAI, vLLM)
15 MCP Tools: Quick asks, subagents, autonomous agents, plan execution, multi-agent councils
3 Orchestration Modes:
Agents: Autonomous execution with file/bash/web tools (ReAct loop)
Plans: Structured DAG workflows with dependencies and context injection
Councils: Multi-model deliberation (discussion/debate/research modes)
3 Auth Modes: API Key, Browser Session (Playwright), No Auth (local models)
Web Dashboard: Visual config at
http://localhost:9777— no JSON editingMulti-Round Deliberation: Agents see each other's outputs. Opus makes final decision
Zero AI SDKs: All providers via raw
fetch()— minimal dependenciesBrowser Auth: Log in via Chromium — no API keys needed
Related MCP server: Agent Communication MCP Server
Quick Start
1. Install
git clone https://github.com/your-username/nexus-mcp.git
cd nexus-mcp
npm install
npx playwright install chromium2. Build & Run
npm run build # Compile TypeScript
npm start # Run the serverOr for development:
npm run dev # Run with tsx (hot reload)3. Add to Claude Desktop
Edit your Claude Desktop config (%APPDATA%\Claude\claude_desktop_config.json on Windows):
{
"mcpServers": {
"nexus": {
"command": "node",
"args": ["C:/path/to/nexus-mcp/dist/index.js"]
}
}
}Restart Claude Desktop. You should see Nexus tools in the MCP tool list.
4. Add to Claude Code
claude mcp add nexus -- node /path/to/nexus-mcp/dist/index.js5. Configure
Open http://localhost:9777 in your browser to:
Enable providers
Add API keys
Switch models
Set up browser auth
Or configure from chat:
Use nexus_configure to set up OpenAI with API key sk-...
Use nexus_switch_model to switch to openai / gpt-4o
Use nexus_ask to ask: What is the meaning of life?MCP Tools (15 Total)
Core Tools
Tool | Description |
| Ask any provider/model a question — quick opinions |
| Change active provider and model |
| List all 27 providers and 217+ models |
| Health check all providers |
| Add/update API keys and settings from chat |
| Re-authenticate OAuth providers |
Subagents — Parallel Text Tasks
Tool | Description |
| Create batch of parallel text-only tasks |
| Run subagents and collect results |
| Chain models: A drafts → B reviews → C synthesizes |
| Check batch/task status |
Agents — Autonomous Execution
Tool | Description |
| Run single agent with file/bash/web tools (ReAct loop) |
| Run multiple agents in parallel with tools |
Orchestration — Complex Work
Tool | Description |
| DAG plan executor — steps with dependencies, parallel execution |
| Check plan status by ID |
| Multi-model council — discussion/debate/research modes, multi-round |
Supported Providers (27 Total)
Cloud Providers (22)
Provider | Auth Modes | Key Models |
OpenAI | API Key, OAuth | gpt-4o, gpt-5.4, o1, o3-mini |
Google Gemini | API Key, OAuth | gemini-2.0-flash, gemini-2.0-pro |
Anthropic | API Key | claude-opus-4-6, claude-sonnet-4-6 |
Nvidia | API Key (free) | Nemotron-120B, NV-Embed |
Mistral | API Key | mistral-large, codestral |
Cohere | API Key | command-r-plus, command-r |
Groq | API Key | Llama-3.3-70B, Mixtral-8x7B |
Together AI | API Key | Llama-3.3-70B, Qwen2.5-72B |
Perplexity | API Key | sonar-pro, sonar-reasoning |
DeepSeek | API Key | deepseek-chat, deepseek-reasoner |
xAI (Grok) | API Key | grok-2, grok-2-mini |
HuggingFace | API Key | Llama-3.3-70B, Mixtral-8x7B |
Replicate | API Key | 100+ open-source models |
OpenRouter | API Key | Multi-provider routing |
Fireworks | API Key | Fast inference |
DeepInfra | API Key | 100+ models, cheap |
Cerebras | API Key | Fast inference |
SambaNova | API Key | CoE architecture |
Abacus.AI | API Key | Custom models |
AI21 Labs | API Key | Jurassic models |
OpenCode Zen | API Key | Custom gateway |
Custom | API Key, OAuth | Any OpenAI-compatible endpoint |
Local Providers (5)
Provider | Default Port | Notes |
Ollama | 11434 | Auto-discovers installed models |
LM Studio | 1234 | OpenAI-compatible API |
llama.cpp | 8080 | OpenAI-compatible API |
LocalAI | 8080 | OpenAI-compatible API |
vLLM | 8000 | OpenAI-compatible API |
Browser Authentication
For providers that support it, you can use your existing browser login instead of an API key:
Use
nexus_reauthtool or click the 🔑 button in the dashboardA Chromium browser window opens at the provider's login page
Log in normally
Close the browser — your session is saved
Future requests use the saved session (headless)
Sessions are stored at ~/.nexus/sessions/.
Architecture
Claude Desktop/Code
│
├──stdio──> Nexus MCP Server
│ ├─ MCP Handler (15 tools)
│ ├─ Orchestrator
│ │ ├─ Agent Executor (ReAct loop, tools)
│ │ ├─ Plan Executor (DAG scheduler, dependency injection)
│ │ ├─ Council Manager (multi-round deliberation)
│ │ └─ Subagent Manager (parallel text tasks)
│ ├─ Provider Router (27 providers, auto-failover)
│ ├─ Auth Manager (API Key, OAuth PKCE, Sessions)
│ └─ Web Dashboard (:9777)
│
├──http──> Dashboard UI (http://localhost:9777)
│
└──APIs──> 27 AI Providers
├─ 22 Cloud APIs
└─ 5 Local ServersSingle Node.js process. Stdio for MCP (Claude communication), HTTP for dashboard UI, outbound to provider APIs. Config at ~/.nexus/config.json.
The Paradigm: Opus Plans, Nexus Executes
Claude/Opus is the strategic brain. It never executes directly. Instead:
Claude plans — Structure complex work as DAGs, orchestrate decisions via councils
Nexus agents execute — Autonomous execution with tools (file read/write, bash, web search)
Claude reviews & decides — Monitor all outputs, intervene when needed, make final calls
When to Use Each Tool
Scenario | Tool | Why |
Quick question |
| Get instant opinion from any model |
Parallel research |
| 5 agents researching in parallel |
Code/file work |
| Agent with tools (read, write, bash) |
Multi-step project |
| DAG with dependencies, parallel execution |
Architecture choice |
| Models challenge each other, Opus decides |
Security audit |
| Agents investigate with tools |
Plan Example
A three-step code generation project:
{
title: "Add JWT Auth",
steps: [
{
id: "analyze",
mode: "agent",
description: "Read codebase and find auth patterns"
},
{
id: "code",
depends_on: ["analyze"],
inject_context_from: ["analyze"],
mode: "agent",
description: "Generate JWT implementation"
},
{
id: "test",
depends_on: ["code"],
inject_context_from: ["code"],
mode: "agent",
description: "Write and run tests"
}
]
}Step code automatically sees step analyze's output. Steps run in parallel where possible.
Configuration
All configuration is managed through the web dashboard or MCP tools. The config file is at ~/.nexus/config.json but you should never need to edit it manually.
Environment Variables
Variable | Description |
| Set to any value to enable debug logging |
Development
npm run dev # Run with tsx
npm run build # Compile TypeScript
npm run typecheck # Type check without emittingArchitecture Deep Dive
Core Subsystems
Agent Executor (
src/agent/executor.ts) — ReAct loop with OpenAI function-calling format. Agents can read/write files, run bash, search web.Plan Executor (
src/orchestrator/plan-executor.ts) — DAG scheduler using topological sort (Kahn's algorithm). Detects cycles, runs steps in parallel, injects context from dependencies.Council Manager (
src/orchestrator/council.ts) — Multi-round deliberation. Three modes:Discussion — Models collaborate
Debate — Models challenge each other
Research — Agents investigate with tools
Provider Router (
src/providers/router.ts) — Failover logic. If one provider is down, auto-switches to next available.Auth Manager (
src/auth/) — API keys, OAuth PKCE (Chromium browser), session storage.Web Dashboard (
src/web/server.ts) — Visual config UI at port 9777.
File Structure
src/
├── index.ts # Entry point
├── mcp-server.ts # MCP tool handlers
├── agent/
│ ├── executor.ts # ReAct agent loop
│ ├── sandbox.ts # Tool execution sandbox
│ └── tools.ts # File/bash/web/search tools
├── orchestrator/
│ ├── plan-executor.ts # DAG scheduler
│ ├── plan-types.ts # PlanStep, PlanRecord interfaces
│ ├── council.ts # Multi-agent councils
│ └── council-types.ts # Council interfaces
├── providers/ # 27 provider adapters
│ ├── router.ts # Main routing logic
│ ├── registry.ts # Provider registration
│ ├── cloud/ # OpenAI, Gemini, Anthropic, etc.
│ └── local/ # Ollama, LM Studio, etc.
├── auth/ # Authentication strategies
├── config/ # Config schema & defaults
├── tools/ # 15 MCP tool definitions
├── utils/ # Logging, errors, HTTP
└── web/ # Dashboard frontend + server
dist/ # Compiled JS (after npm run build)Contributing
Contributions are welcome! Please:
Fork the repository
Create a feature branch (
git checkout -b feature/my-feature)Make your changes
Run tests and type-check (
npm run typecheck)Submit a pull request
Adding a New Provider
Create a new file in
src/providers/cloud/orsrc/providers/local/Implement the
ProviderAdapterinterface (or extendOpenAICompatibleProvider)Register it in
src/providers/registry.tsAdd default config in
src/config/defaults.tsType-check and test with other providers
Adding a New MCP Tool
Create a new file in
src/tools/my-tool.tsExport a function matching the tool interface
Add to
ALL_TOOLSinsrc/mcp-server.tsAdd the switch case handler
License
MIT License. See LICENSE for details.
Available Tools
15 toolsnexus_agent_multiA
Run multiple autonomous AI agents IN PARALLEL, each with its own model and task. Each agent independently reads files, writes code, and executes commands. Perfect for divide-and-conquer tasks: one agent codes while another tests, or multiple agents each tackle a different part of a large codebase. All agents run simultaneously and results are returned together.
| Name | Required | Description | Default |
|---|---|---|---|
| agents | Yes | List of agents to run in parallel |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly states that agents run simultaneously, operate autonomously, and can read files, write code, and execute commands, signaling meaningful side effects. It does not detail failure/partial-result semantics, but the core behavior is transparent enough for selection.
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 description is well structured and front-loaded, with the core action in the first sentence. The use-case sentence is useful. Minor redundancy exists because 'IN PARALLEL' and 'All agents run simultaneously' repeat the same idea, but the overall length is appropriate.
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 tool with one nested parameter and no output schema, the description covers what an agent needs to decide to use it: parallel execution, per-agent model/task, code/file/command side effects, and combined results. It could go deeper on partial failures or limits, but the provided context is solid.
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?
The only top-level parameter, 'agents', has a schema description ('List of agents to run in parallel'), and required nested fields are documented in the schema. The tool description does not add parameter-level meaning beyond the schema, so with high schema coverage the baseline score of 3 applies.
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 opens with a specific verb and resource: 'Run multiple autonomous AI agents IN PARALLEL, each with its own model and task.' It clearly conveys a batch, parallel orchestration tool, which differentiates it from single-agent or status-related sibling tools. The divide-and-conquer examples reinforce what the tool is for without ambiguity.
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?
The description gives concrete use cases: 'one agent codes while another tests' and splitting a large codebase across agents. This provides clear context for when to reach for this tool, though it does not explicitly state when not to use it or name alternative sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nexus_agent_runA
Run an autonomous AI agent that can read files, write code, execute shell commands, search the web, and iterate until the task is complete. The agent uses the specified model (GPT-5.4, Nemotron, Gemini, etc.) and works independently through a ReAct loop. Returns the final answer plus a full trace of every action taken.
| Name | Required | Description | Default |
|---|---|---|---|
| role | No | Optional label for this agent (e.g., "coder", "reviewer") | |
| task | Yes | What the agent should accomplish. Be specific. | |
| model | Yes | Model ID to use (e.g., "gpt-5.4", "nvidia/nemotron-3-super-120b-a12b") | |
| provider | Yes | Provider ID (e.g., "openai", "nvidia", "gemini", "groq") | |
| maxTimeMs | No | Total timeout in milliseconds (default: 300000 = 5 minutes) | |
| maxTokens | No | Max tokens per model call | |
| workingDir | No | Directory the agent can read/write files in (default: current project directory) | |
| temperature | No | Sampling temperature (0.0-2.0) | |
| enabledTools | No | Tools to enable. Available: read_file, write_file, edit_file, list_directory, search_files, run_command, web_fetch, think. Default: all tools. | |
| systemPrompt | No | Custom agent persona or additional instructions | |
| maxIterations | No | Max agent loop iterations (default: 25) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It discloses the ReAct loop, autonomy, tool access, and the two-part return (final answer + full trace), which is meaningful transparency for an agent runner. It does not mention side-effect risk or auth requirements, but what it states is clear and non-contradictory.
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 compact sentences; the first sentence front-loads the core action and capabilities, and the second explains the execution model and return value. 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?
Given the high parameter count, no output schema, and no annotations, the description supplies the essential behavior and return shape while the schema covers parameter details. It could note timeouts or side effects, but overall it is sufficient for an agent to invoke the tool correctly.
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 100%, so the baseline 3 applies. The description adds examples of model IDs and providers and maps capabilities to tool names, but it does not significantly alter or deepen parameter meaning beyond the schema.
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?
States a specific verb and resource: 'Run an autonomous AI agent' with a concrete list of capabilities and a ReAct-loop execution model. This clearly identifies the tool as a single-agent orchestration run, though it does not explicitly contrast with subagent/multi-agent siblings.
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?
No guidance about when to choose this over nexus_subagent_run, nexus_subagent_spawn, or nexus_agent_multi. The capability list implies use for end-to-end autonomous tasks, but there are no exclusions or alternative routing conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nexus_askB
Send a prompt to any AI provider (ChatGPT, Gemini, Claude, Ollama, etc.). Uses the active provider/model by default, or specify a different one.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Model ID to use (e.g. "gpt-4o", "gemini-2.0-flash"). Defaults to active model. | |
| prompt | Yes | The prompt to send to the AI provider | |
| provider | No | Provider ID to use (e.g. "openai", "gemini", "ollama"). Defaults to active provider. | |
| maxTokens | No | Maximum tokens in the response | |
| temperature | No | Sampling temperature (0.0 to 2.0) | |
| systemPrompt | No | Optional system prompt to set context |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It only repeats the defaulting behavior already present in the schema and says nothing about response format, errors, authentication failures, rate limits, or side effects, which is a significant gap for a tool that calls external providers.
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 description is two concise sentences with no filler. The core action is front-loaded in the first sentence, and the second sentence adds a useful usage detail about defaults without redundancy.
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?
The description provides enough to start using the tool with just a prompt, but it omits what the tool returns, which matters because there is no output schema. It also lacks guidance on provider configuration requirements or how this compares to agent-related sibling tools, leaving moderate gaps.
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 100%, so the schema already documents all six parameters. The description adds no parameter-level meaning beyond the schema, such as examples, constraints, or relationships between provider and model, so the baseline score of 3 is appropriate.
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?
Description states a specific verb and resource: 'Send a prompt to any AI provider', with concrete provider examples. It clearly conveys the tool's function, though it does not explicitly differentiate it from sibling tools like nexus_agent_run or nexus_subagent_run.
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?
The description gives useful context about default provider/model behavior and the option to override it. However, it does not state when to prefer this tool over alternatives such as agent_run, subagent_run, or plan_execute, leaving the choice partly implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nexus_configureB
Configure a provider directly from chat — set API keys, base URLs, enable/disable providers. For full management, use the web dashboard.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | API key for this provider | |
| baseUrl | No | Custom base URL (for self-hosted or proxy endpoints) | |
| enabled | No | Enable or disable this provider | |
| authMode | No | Auth mode: "api-key", "browser", or "none" | |
| provider | Yes | Provider ID to configure. Available: openai, gemini, anthropic, mistral, cohere, groq, together, perplexity, deepseek, xai, huggingface, openrouter, nvidia, fireworks, cerebras, sambanova, deepinfra, ai21, abacus, copilot, opencode-zen, custom, ollama, lmstudio, llamacpp, localai, vllm |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description must disclose behavior on its own. It never says whether configuration changes are persistent, global, immediately applied, or what happens to existing keys/settings when only a partial config is sent; it also doesn't warn about sensitive API key handling. This is a meaningful gap for a state-changing tool.
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 description is just two sentences and front-loads the action before moving to the dashboard pointer. The phrase 'directly from chat' adds little because all MCP tools are invoked from chat, so it is the only mildly redundant element.
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 mutation tool with no output schema and no annotations, the definition omits expected results (confirmation/errors), persistence/scope, and any prerequisites like existing provider records. The input schema covers parameters, but the description does not round out the call context sufficiently.
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 100%, so the schema alone documents all five parameters and the provider enum. The description only restates the parameter themes (API keys, base URLs, enable/disable) and adds no extra meaning such as defaults, precedence, or validation rules.
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 uses a specific verb and resource ('Configure a provider') and lists concrete settings (API keys, base URLs, enable/disable), making the core action clear. It does not explicitly contrast with adjacent tools like nexus_reauth or nexus_switch_model, so sibling differentiation is only implicit.
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 establishes a clear context for use ('directly from chat') and steers 'full management' to the web dashboard, which is a weak when-not signal. It offers no guidance on when to prefer nexus_configure over sibling tools such as nexus_reauth for authentication issues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nexus_councilA
Convene a multi-model council where AI agents deliberate in rounds and Opus makes the final decision. DISCUSSION: Models build on each other collaboratively. DEBATE: Models challenge each other adversarially. RESEARCH: Models investigate with tools (file read, web search) and cross-reference findings. All participants respond in parallel each round, seeing all prior contributions. Use this for architecture decisions, code reviews, security audits, complex analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | discussion=collaborative exploration, debate=adversarial argumentation (models challenge each other), research=tool-augmented investigation (models use file/web tools) | |
| topic | Yes | The question, motion, or research topic for the council | |
| rounds | No | Number of deliberation rounds (default: 3, max: 5) | |
| max_time_ms | No | Total timeout in ms (default: 600000 = 10 min) | |
| participants | Yes | List of participants (2-8). Each brings a different perspective/role. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of revealing behavior, and it does so meaningfully: participants respond in parallel, see all prior contributions, run in rounds, and Opus ultimately decides. It also discloses that research mode uses tools such as file/web search and cross-references findings. It does not cover cost, auth, or side effects, but the core execution model is transparent.
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?
Every sentence earns its place: the core action, mode explanations, parallel round behavior, and use-case list are all useful and non-redundant. It is front-loaded with the verb and outcome, and it remains compact despite covering a complex tool.
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 complex council tool with no output schema and five parameters, the description lays out the workflow, participant interaction model, mode variations, and intended use cases. It leaves out return-value details, but 'Opus makes the final decision' sufficiently communicates the outcome. The description is complete enough for an agent to decide whether to call it and roughly how it will behave.
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 100%, so baseline is 3, but the description adds value by explaining what each mode means behaviorally (build collaboratively, challenge adversarially, investigate with tools). This supplements the enum's short schema descriptions with operational detail, particularly the cross-referencing aspect of research mode.
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 clearly identifies the action ('convene a multi-model council') and the resource ('AI agents deliberate in rounds... Opus makes the final decision'). It also defines three distinct modes—DISCUSSION, EBATE, ESEARCH—and lists concrete use cases, making the tool's purpose unmistakable and distinguishing it from the subtool/sibling tools.
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 explicitly claims the tool for specific use cases: 'Use this for architecture decisions, code reviews, security audits, complex analysis.' This provides clear context for when to invoke it, though it does not explicitly name alternatives or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nexus_list_modelsA
List all available AI providers and their models, with status indicators. Optionally filter by a specific provider.
| Name | Required | Description | Default |
|---|---|---|---|
| provider | No | Filter to a specific provider ID (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden. It states the scope (all providers/models) and mentions status indicators, which implies a read-only inventory operation. It does not explicitly confirm read-only behavior or describe how statuses are determined, leaving some ambiguity.
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?
A single, front-loaded sentence states the action, object, output feature, and filter option without wasted words. Every phrase adds useful information.
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 one-optional-param listing tool, this is nearly complete: the agent knows the action, scope, and filter. The only minor gap is that status indicator semantics and provider ID values are not expanded, but no output schema exists to fill that in.
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 100%: the provider parameter has a clear description and is optional. The description reinforces this by restating the optional filter, but adds no new format or value information beyond the schema.
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 opens with the specific action 'List' and names the resource: all available AI providers and their models, plus status indicators. This clearly differentiates it from siblings like nexus_switch_model and nexus_configure, which perform different actions.
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?
The description gives no when-to-use guidance or alternatives; 'Optionally filter by a specific provider' is parameter usage, not tool selection guidance. An agent cannot tell from the description when listing models is preferred over switch_model or configure.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nexus_plan_executeA
Execute a structured multi-step plan where Claude is the orchestrator and Nexus agents do the work. Independent steps run IN PARALLEL. Dependent steps wait and receive context from prior steps. Use mode="agent" for steps that need file access/code execution. Use mode="prompt" for analysis/review steps. Opus plans, Nexus executes.
| Name | Required | Description | Default |
|---|---|---|---|
| steps | Yes | Ordered list of steps. Steps with no depends_on run immediately in parallel. | |
| title | No | Human-readable title for this plan | |
| context | No | Shared context injected into ALL steps (e.g., project description, codebase info) | |
| max_total_time_ms | No | Total plan timeout in ms (default: 600000 = 10 min) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and discloses the core execution model well: independent steps run in parallel, dependent steps wait and receive prior-step context, and the orchestrator/executor division of labor. It does not cover failure semantics, side effects, or resource consumption, but the essential behavioral traits are explicitly stated.
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 four substantive sentences are tight, front-loaded, and each carries meaning: purpose, parallelism, dependency behavior, and mode selection. The closing tagline "Opus plans, Nexus executes" is redundant with the opening sentence and adds branding rather than information, costing the description a perfect score.
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 complex orchestration tool with no output schema and no annotations, the description explains the execution model but omits return format, failure flow behavior, and how results correlate to step IDs, which an agent needs to interpret outcomes. The rich, self-documenting schema (100% parameter coverage including on_failure and inject_context_from) compensates significantly, making this adequate but with clear gaps.
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 100%, so every parameter including nested step properties is already documented, setting the baseline at 3. The description adds genuine value by giving selection criteria for the mode enum ('agent' = file access/code execution, 'prompt' = analysis/review) that the schema does not provide, helping agents choose correctly.
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?
"Execute a structured multi-step plan where Claude is the orchestrator and Nexus agents do the work" states a specific verb, resource, and scope in one sentence. The parallel/dependency execution model clearly distinguishes it from single-agent siblings like nexus_agent_run or nexus_agent_multi, even without naming them.
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?
The description provides actionable within-tool guidance ("Use mode='agent' for steps that need file access/code execution. Use mode='prompt' for analysis/review steps") but never says when to choose this tool over its 14 siblings, such as nexus_agent_run or nexus_council. Usage context is implied rather than explicit, and no alternatives or exclusions are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nexus_plan_statusB
Check the status of a previously executed plan. Returns per-step results and metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| plan_id | No | Plan ID to check. Omit to list all recent plans. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. 'Check' implies a read-only action, and 'Returns per-step results and metadata' states an observable behavior, but it does not explicitly guarantee no side effects, mention prerequisites, or describe error cases.
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 description is two concise sentences with purpose first and return behavior second. There is no redundancy or filler.
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 simple tool with one optional parameter, the description plus schema covers the main usage: what the tool checks, what it returns, and how to list recent plans. It could add explicit read-only wording or sibling differentiation, but nothing essential is missing for correct invocation.
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?
The schema fully documents the single plan_id parameter with 100% coverage, so the description does not need to add much. The phrase 'previously executed plan' connects loosely to plan_id, but the description offers no extra format or behavior details.
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?
Uses a clear verb ('Check') and identifies the specific resource ('status of a previously executed plan'), while adding that it returns per-step results and metadata. It does not explicitly distinguish itself from sibling tools like nexus_status or nexus_subagent_status, so it stops short of full sibling differentiation.
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?
The description gives no explicit guidance on when to call this tool instead of nexus_plan_execute, nexus_status, or nexus_subagent_status. The schema says plan_id can be omitted to list recent plans, but the description itself does not frame usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nexus_reauthA
Open a browser window for re-authentication with a provider. Log into your account, then close the browser. Your session will be saved for future use. Supported providers: openai, gemini, anthropic, perplexity, mistral, cohere, huggingface, deepseek, groq
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Custom login URL (optional, overrides default) | |
| provider | Yes | Provider to re-authenticate. Supported: openai, gemini, anthropic, perplexity, mistral, cohere, huggingface, deepseek, groq |
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 discloses key behavior: it opens a browser, requires the user to log in and close it, and saves the session for future use. It does not mention potential blocking/timeout or whether existing sessions are invalidated, but the core interactive flow is transparent.
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 concise sentences with no redundancy, front-loading the core action and then explaining the interactive steps and supported providers.
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 simple 2-parameter interactive tool with no output schema, the description covers the action, user steps, outcome, and permitted values. It omits return-value details and timeout behavior, but these are not critical for invoking the tool correctly.
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 100%, so the schema already documents provider and url. The description only repeats the provider list and gives no additional parameter nuances, so it stays at the baseline.
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 uses a specific verb ('Open') and resource ('browser window for re-authentication with a provider'), and details the expected flow. This clearly distinguishes it from sibling tools focused on subagents, model switching, and configuration, none of which handle authentication.
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 intended use case (re-authentication) and lists supported providers, so an agent knows when it applies. It does not explicitly name alternatives or exclusions, but no sibling tool serves the same auth purpose, so this is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nexus_statusB
Health check all configured AI providers. Shows connection status, latency, and any errors.
| Name | Required | Description | Default |
|---|---|---|---|
| provider | No | Check a specific provider only (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must communicate behavioral traits. It only states what it shows (status, latency, errors) but does not disclose whether it is read-only, whether it may make network calls, or any potential side effects. For a health check, read-only behavior is implied but not asserted.
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 description is a single, tight sentence (15 words) that is front-loaded with the core purpose ('Health check all configured AI providers') followed by what is shown. No filler or redundant information.
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 tool with one optional parameter, no output schema, and no annotations, the description covers the essential purpose and output adequately. It does not mention potential failure modes or output format, but for a health check, this may be sufficient. The description is complete enough to call the tool without further context.
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 100%, so the parameter 'provider' is already fully described in the schema ('Check a specific provider only (optional)'). The description does not add any additional meaning about the parameter. With high schema coverage, the baseline of 3 is appropriate.
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 clear verb and resource: 'Health check all configured AI providers'. It also specifies what it shows (connection status, latency, errors). However, it does not explicitly distinguish itself from sibling tools like nexus_subagent_status or nexus_plan_status, though the subject matter (providers vs subagents) is implicitly different.
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?
The description provides no guidance on when to use this tool versus any alternative. It does not mention prerequisites, typical usage scenarios (e.g., 'check before making API calls'), or when not to use it. The use case is implied but not stated explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nexus_subagent_collabA
Multi-model collaboration pipeline. Models work sequentially: first model produces output, next reviews/refines, optional final model synthesizes. Returns final output plus all intermediate steps showing each model's contribution.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | The main task description for the collaboration | |
| models | Yes | Ordered list of models with roles. First model produces, others review/refine/synthesize. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It clearly states that execution is sequential, that intermediate steps are retained, and that both final and intermediate outputs are returned. It does not mention async behavior, costs, or failure handling, but the core behavioral contract is transparent.
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 sentences with no filler. The pipeline concept is front-loaded, followed by the ordering behavior and return format, so an agent grasps the essential information immediately.
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 two-parameter tool with a thoroughly described schema, the description covers input semantics, process ordering, and return value. It could be more complete by clarifying whether execution is synchronous and how it relates to the subagent status/run siblings, but nothing critical is missing for basic invocation.
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 100%, and the schema already documents task, models, provider, model, role, maxTokens, temperature, and systemPrompt. The description adds ordering semantics, but the models property schema already states that the list is ordered and that later roles review/refine/synthesize, so the added value is limited.
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 identifies a specific workflow: sequential multi-model collaboration with first-model production, review/refinement, and optional synthesis. This distinguishes it from parallel collaboration siblings like nexus_council or nexus_agent_multi, though it does not name them explicitly.
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?
The description implies when to use it: multi-stage sequential tasks where one model's output is refined by another. However, it provides no explicit when-to-use or when-not-to-use guidance, nor does it contrast with alternatives that also handle multi-model or multi-agent collaboration.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nexus_subagent_runA
Execute all tasks in a spawned batch in parallel. Waits for all to complete. Returns results from every model with metadata (text, latency, tokens, errors).
| Name | Required | Description | Default |
|---|---|---|---|
| batchId | Yes | The batch ID returned by nexus_subagent_spawn |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It discloses parallelism, blocking semantics ('Waits for all to complete'), and the return payload with metadata (text, latency, tokens, errors). It does not mention timeout, partial-failure handling, or side effects, but what is stated is substantial and relevant.
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 short sentences, each earning its place: the core action, the blocking behavior, and the return value. There is no fluff or repetition, and the most important verb ('Execute') is front-loaded.
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 single-parameter tool with no output schema, the description is largely complete: it explains input provenance, execution semantics, and return metadata. A small gap is the lack of guidance on long-running behavior or cancellation, but 'Waits for all to complete' partially covers this.
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 100%, and the batchId parameter is already well explained as 'The batch ID returned by nexus_subagent_spawn'. The tool description reinforces the provenance of the parameter but adds no new format or constraint details beyond the schema.
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 uses a specific verb and resource: 'Execute all tasks in a spawned batch in parallel.' It clearly identifies the operation and distinguishes it from siblings like status or spawn by focusing on execution of an already-spawned batch and explicitly referencing the spawn counterpart.
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?
The description implies when to use the tool: when you have a batch ID from nexus_subagent_spawn and want to execute all tasks. It does not explicitly exclude alternatives like nexus_subagent_status or nexus_subagent_collab, but the context is clear enough for an agent to infer the correct invocation point.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nexus_subagent_spawnA
Spawn one or more AI subagent tasks for parallel execution. Each task targets a specific provider/model with its own prompt. Returns a batch ID — use nexus_subagent_run to execute.
| Name | Required | Description | Default |
|---|---|---|---|
| tasks | Yes | List of tasks to spawn | |
| timeoutMs | No | Per-task timeout in milliseconds (default: 120000) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden. It discloses the return contract (batch ID), the parallel nature of the spawned tasks, and the important lifecycle detail that execution happens later via nexus_subagent_run. It does not mention auth, rate limits, or cost implications, but the core behavioral contract is clear.
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 description is two dense, front-loaded sentences with no filler. The first sentence states what the tool does; the second explains the task composition and points to the next tool. Every clause contributes useful information.
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?
The description is complete enough for correct invocation: required task fields are covered by the schema, and the description explains the return value and the next step. Minor gaps remain around failure modes, status checking, and permissions, but these do not block an agent from using the tool correctly.
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 100%, so the schema already documents the tasks array, timeoutMs, and nested fields like prompt, provider, model, role, maxTokens, temperature, and systemPrompt. The description adds high-level context about "one or more" tasks and parallel execution, but it does not need to repeat parameter details. Baseline 3 applies.
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 starts with a specific action and resource: "Spawn one or more AI subagent tasks for parallel execution." It clearly explains what each task targets (provider/model/prompt) and what the tool returns (batch ID), making it easy to distinguish from the sibling nexus_subagent_run, which is the execution step.
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?
The description provides clear workflow guidance by explicitly telling the agent to use nexus_subagent_run to execute the spawned batch. It does not spell out when to avoid this tool in favor of nexus_subagent_collab or nexus_subagent_status, but the parallel-batch framing gives sufficient context for most calls.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nexus_subagent_statusB
Check status of subagent batches. Shows pending, running, or completed batches with results. Omit batchId to list all recent batches.
| Name | Required | Description | Default |
|---|---|---|---|
| batchId | No | Specific batch ID to check. Omit to list all recent batches. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It does add useful context by naming the statuses returned and the default list-all-recent-batches behavior. However, it does not explicitly state that the operation is read-only or disclose potential limitations such as auth requirements or result pagination.
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 short sentences with no unnecessary content. The purpose is front-loaded, and the optional-parameter behavior is stated in the second sentence. This is concise and well structured.
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 low-complexity tool with one optional parameter and no output schema, the description covers invocation and default behavior sufficiently. Mentioning 'with results' partially describes the return content, though the exact result shape is not specified; this is a minor gap.
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 100%, and the description duplicates the schema's guidance about omitting batchId to list all recent batches. It adds no meaningful parameter semantics beyond what the schema already provides, so the baseline score of 3 is appropriate.
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 uses a specific verb and resource: 'Check status of subagent batches', and lists the observable states (pending, running, completed). It clearly describes what the tool does, but it does not explicitly contrast it with sibling tools such as nexus_status or nexus_subagent_run, so full sibling differentiation is missing.
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?
The description gives no guidance on when to choose this tool over alternatives like nexus_status or nexus_plan_status. The only usage instruction concerns omitting or providing batchId, which is parameter-level behavior rather than tool selection context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nexus_switch_modelA
Switch the active AI provider and model. After switching, all subsequent nexus_ask calls will use the new provider/model.
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | Model ID to use with this provider | |
| provider | Yes | Provider ID. Available: openai, gemini, anthropic, mistral, cohere, groq, together, perplexity, deepseek, xai, huggingface, openrouter, nvidia, fireworks, cerebras, sambanova, deepinfra, ai21, abacus, copilot, opencode-zen, custom, ollama, lmstudio, llamacpp, localai, vllm |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It usefully reveals that the switch is stateful and affects subsequent nexus_ask calls. However, it does not mention whether the change affects other tools, whether it persists across sessions, requires authentication, or returns any confirmation, leaving some behavioral ambiguity.
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 description is two short sentences with no filler. The core action is front-loaded, and the persistent effect is stated immediately after, making it easy for an agent to parse quickly.
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 simple two-parameter tool, the description captures the essential context: what the switch does and what the consequence is for future calls. It does not explain failure modes, return values, or interaction with sibling tools, but these are less critical given the schema already documents the available providers.
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 100%, so both provider and model are already documented. The description adds no additional parameter meaning beyond what the schema provides, which matches the baseline for full schema coverage.
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 clearly states the primary action—switching the active AI provider and model—and names the affected resource ('active AI provider and model'). It also adds a scoping detail by linking the switch to subsequent nexus_ask calls. However, it does not explicitly distinguish itself from sibling tools like nexus_configure, which might also manage provider/model settings.
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?
The description implies when to use the tool: when you need subsequent nexus_ask calls to use a different provider/model. It does not explicitly state alternatives or when not to use it, nor does it mention related tools like nexus_list_models or nexus_reauth that may be relevant before switching.
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.
15 tool updates
v1.0.0- First observed
nexus_agent_multi - First observed
nexus_agent_run - First observed
nexus_ask - First observed
nexus_configure - First observed
nexus_council - First observed
nexus_list_models - First observed
nexus_plan_execute - First observed
nexus_plan_status - First observed
nexus_reauth - First observed
nexus_status - First observed
nexus_subagent_collab - First observed
nexus_subagent_run - First observed
nexus_subagent_spawn - First observed
nexus_subagent_status - First observed
nexus_switch_model
TDQS
Scored across 15 tools
The provider-management tools are clearly distinct, but the orchestration family overlaps: nexus_subagent_spawn/run, nexus_agent_run/multi, nexus_subagent_collab, and nexus_council all involve dispatching model tasks, and the boundaries between subagent, agent, and council workflows are not immediately obvious. The descriptions clarify the different interaction patterns enough to be usable, but an agent could still misselect among them.
All tools share the nexus_ prefix and snake_case, but the convention is inconsistent: list_models, switch_model, and reauth use verb-led names, while subagent_spawn, subagent_collab, agent_multi, and council use noun-led or noun-only names. The prefix helps recognition, but an agent cannot reliably predict a tool name from its function.
At 15 tools, this sits at the upper edge of the ideal range but is justifiable for a multi-provider orchestration server covering provider configuration, simple prompts, subagents, autonomous agents, plans, and councils. A few orchestration modes could potentially be consolidated, but the count is not bloated.
The surface covers provider health, authentication, configuration, model listing/switching, prompt execution, subagent batches, autonomous agents, plans, and councils, with status/result retrieval for the async workflows. The main gap is the lack of any cancel/abort tool for long-running agents, batches, or councils, which is a notable but non-fatal omission.
Maintenance
Related MCP Connectors
One MCP endpoint for Claude, GPT & Gemini: 100+ tools + no-code connectors + agent workers.
AI work orchestration for plans, tasks, teams, and coding-agent dispatch.
AI routing, memory, guardrails, and governance. Routes across Claude, GPT, Gemini.
Build, validate, and deploy multi-agent AI solutions from any AI environment.
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceGives Claude access to multiple AI models (Gemini, OpenAI, OpenRouter, Ollama) for enhanced development capabilities including extended reasoning, collaborative development, code review, and advanced debugging.-
- AlicenseBqualityDmaintenanceEnables Claude to coordinate multiple specialized AI agents by creating tasks, tracking their complete thought process and execution in real-time, and monitoring progress across parallel workflows with full transparency.185 npm2MIT
- AlicenseNot gradedqualityAmaintenanceEnables Claude to consult over 17 AI platforms and 800,000+ models to provide alternative perspectives, code reviews, and diverse feedback. It features a unique personality system and supports multi-AI group discussions and debates directly within the chat interface.44MIT
- AlicenseNot gradedqualityCmaintenanceCoordinates up to 64 parallel expert agents for complex multi-agent orchestration and intelligent task routing within Claude Code. It enables users to analyze requests, manage hierarchical execution plans, and monitor active orchestration sessions.MIT