Nexus MCP

Nexus MCP

Enables Claude to orchestrate tasks across 27 AI providers, run multi-agent plans, and conduct multi-model councils for decision-making.

Category
Visit Server

README

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

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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured