Skip to main content
Glama

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.

License: MIT Node.js MCP TypeScript


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 editing

  • Multi-Round Deliberation: Agents see each other's outputs. Opus makes final decision

  • Zero AI SDKs: All providers via raw fetch() — minimal dependencies

  • Browser 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 chromium

2. Build & Run

npm run build    # Compile TypeScript
npm start        # Run the server

Or 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.js

5. 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

nexus_ask

Ask any provider/model a question — quick opinions

nexus_switch_model

Change active provider and model

nexus_list_models

List all 27 providers and 217+ models

nexus_status

Health check all providers

nexus_configure

Add/update API keys and settings from chat

nexus_reauth

Re-authenticate OAuth providers

Subagents — Parallel Text Tasks

Tool

Description

nexus_subagent_spawn

Create batch of parallel text-only tasks

nexus_subagent_run

Run subagents and collect results

nexus_subagent_collab

Chain models: A drafts → B reviews → C synthesizes

nexus_subagent_status

Check batch/task status

Agents — Autonomous Execution

Tool

Description

nexus_agent_run

Run single agent with file/bash/web tools (ReAct loop)

nexus_agent_multi

Run multiple agents in parallel with tools

Orchestration — Complex Work

Tool

Description

nexus_plan_execute

DAG plan executor — steps with dependencies, parallel execution

nexus_plan_status

Check plan status by ID

nexus_council

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:

  1. Use nexus_reauth tool or click the 🔑 button in the dashboard

  2. A Chromium browser window opens at the provider's login page

  3. Log in normally

  4. Close the browser — your session is saved

  5. 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 Servers

Single 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:

  1. Claude plans — Structure complex work as DAGs, orchestrate decisions via councils

  2. Nexus agents execute — Autonomous execution with tools (file read/write, bash, web search)

  3. Claude reviews & decides — Monitor all outputs, intervene when needed, make final calls

When to Use Each Tool

Scenario

Tool

Why

Quick question

nexus_ask

Get instant opinion from any model

Parallel research

nexus_subagent_run

5 agents researching in parallel

Code/file work

nexus_agent_run

Agent with tools (read, write, bash)

Multi-step project

nexus_plan_execute

DAG with dependencies, parallel execution

Architecture choice

nexus_council (debate)

Models challenge each other, Opus decides

Security audit

nexus_council (research)

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

NEXUS_DEBUG

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 emitting

Architecture 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:

  1. Fork the repository

  2. Create a feature branch (git checkout -b feature/my-feature)

  3. Make your changes

  4. Run tests and type-check (npm run typecheck)

  5. Submit a pull request

Adding a New Provider

  1. Create a new file in src/providers/cloud/ or src/providers/local/

  2. Implement the ProviderAdapter interface (or extend OpenAICompatibleProvider)

  3. Register it in src/providers/registry.ts

  4. Add default config in src/config/defaults.ts

  5. Type-check and test with other providers

Adding a New MCP Tool

  1. Create a new file in src/tools/my-tool.ts

  2. Export a function matching the tool interface

  3. Add to ALL_TOOLS in src/mcp-server.ts

  4. Add the switch case handler


License

MIT License. See LICENSE for details.

Available Tools

15 tools
nexus_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentsYesList of agents to run in parallel

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNoOptional label for this agent (e.g., "coder", "reviewer")
taskYesWhat the agent should accomplish. Be specific.
modelYesModel ID to use (e.g., "gpt-5.4", "nvidia/nemotron-3-super-120b-a12b")
providerYesProvider ID (e.g., "openai", "nvidia", "gemini", "groq")
maxTimeMsNoTotal timeout in milliseconds (default: 300000 = 5 minutes)
maxTokensNoMax tokens per model call
workingDirNoDirectory the agent can read/write files in (default: current project directory)
temperatureNoSampling temperature (0.0-2.0)
enabledToolsNoTools to enable. Available: read_file, write_file, edit_file, list_directory, search_files, run_command, web_fetch, think. Default: all tools.
systemPromptNoCustom agent persona or additional instructions
maxIterationsNoMax agent loop iterations (default: 25)

TDQS

A3.6/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel ID to use (e.g. "gpt-4o", "gemini-2.0-flash"). Defaults to active model.
promptYesThe prompt to send to the AI provider
providerNoProvider ID to use (e.g. "openai", "gemini", "ollama"). Defaults to active provider.
maxTokensNoMaximum tokens in the response
temperatureNoSampling temperature (0.0 to 2.0)
systemPromptNoOptional system prompt to set context

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyNoAPI key for this provider
baseUrlNoCustom base URL (for self-hosted or proxy endpoints)
enabledNoEnable or disable this provider
authModeNoAuth mode: "api-key", "browser", or "none"
providerYesProvider 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

B3.1/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNodiscussion=collaborative exploration, debate=adversarial argumentation (models challenge each other), research=tool-augmented investigation (models use file/web tools)
topicYesThe question, motion, or research topic for the council
roundsNoNumber of deliberation rounds (default: 3, max: 5)
max_time_msNoTotal timeout in ms (default: 600000 = 10 min)
participantsYesList of participants (2-8). Each brings a different perspective/role.

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
providerNoFilter to a specific provider ID (optional)

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
stepsYesOrdered list of steps. Steps with no depends_on run immediately in parallel.
titleNoHuman-readable title for this plan
contextNoShared context injected into ALL steps (e.g., project description, codebase info)
max_total_time_msNoTotal plan timeout in ms (default: 600000 = 10 min)

TDQS

A4/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
plan_idNoPlan ID to check. Omit to list all recent plans.

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoCustom login URL (optional, overrides default)
providerYesProvider to re-authenticate. Supported: openai, gemini, anthropic, perplexity, mistral, cohere, huggingface, deepseek, groq

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
providerNoCheck a specific provider only (optional)

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesThe main task description for the collaboration
modelsYesOrdered list of models with roles. First model produces, others review/refine/synthesize.

TDQS

A3.8/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
batchIdYesThe batch ID returned by nexus_subagent_spawn

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tasksYesList of tasks to spawn
timeoutMsNoPer-task timeout in milliseconds (default: 120000)

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
batchIdNoSpecific batch ID to check. Omit to list all recent batches.

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelYesModel ID to use with this provider
providerYesProvider 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

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

  1. 15 tool updatesv1.0.0
    • First observednexus_agent_multi
    • First observednexus_agent_run
    • First observednexus_ask
    • First observednexus_configure
    • First observednexus_council
    • First observednexus_list_models
    • First observednexus_plan_execute
    • First observednexus_plan_status
    • First observednexus_reauth
    • First observednexus_status
    • First observednexus_subagent_collab
    • First observednexus_subagent_run
    • First observednexus_subagent_spawn
    • First observednexus_subagent_status
    • First observednexus_switch_model

TDQS

A3.5/5.0

Scored across 15 tools

Disambiguation3/5

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.

Naming Consistency3/5

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.

Tool Count4/5

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.

Completeness4/5

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

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Gives Claude access to multiple AI models (Gemini, OpenAI, OpenRouter, Ollama) for enhanced development capabilities including extended reasoning, collaborative development, code review, and advanced debugging.
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables 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.
    44
    MIT