mcpField
O
OpenRouter Agents MCP Server

OpenRouter Agents MCP Server

Local
terminals.techData & Analytics55Updated 34w ago

About OpenRouter Agents MCP Server

OpenRouter Agents MCP Server is an MCP server for multi-agent research, with a mini client adapter. It targets users who need parallel investigation and synthesized answers across several models accessed through OpenRouter.

Key features

  1. 01Parallel multi-agent research with synthesis
  2. 02Async jobs and batch research queries
  3. 03Hybrid BM25 and vector search over reports
  4. 04Embedding-based model routing without an LLM call
  5. 05Circuit breaker for model API failures

Use cases

  1. 01Running parallel research queries on one topic
  2. 02Searching previously saved reports and knowledge base content
  3. 03Tracking and resuming research sessions

MCP support

The server runs over STDIO or Streamable HTTP and exposes research, knowledge base, session and graph tools to MCP clients, with sampling and elicitation support.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"openrouter-deep-research": {
"command": "npx",
"args": [
"-y",
"@terminals-tech/openrouter-agents"
]
}
}
}
Run commandnpx -y @terminals-tech/openrouter-agents

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@terminals-tech/openrouter-agents

Tools

42

Saved tool list · updated 3w ago

ParameterTypeRequiredDescription
messagesarrayYes
sessionIdstringNo
modelstringNo
_requestIdstringNo

Details

From the project README

OpenRouter Agents MCP Server

npm MCP Stable GitHub

Production MCP server for multi-agent AI research. Plan, parallelize, synthesize.

Install

npx @terminals-tech/openrouter-agents --stdio

Claude Code one-liner:

claude mcp add openrouter-agents -- npx @terminals-tech/openrouter-agents --stdio

What's New (v2.0.0)

  • MCP SDK 1.27.1 — registerTool/registerPrompt/registerResource APIs, security fixes
  • Zod 4 — Upgraded from Zod 3; z.record() syntax, config schema fixes
  • Express 5 — Upgraded from Express 4; modern path patterns, req.query handling
  • Streamable HTTP — Primary transport (SSE deprecated as legacy fallback)
  • Circuit breaker — Model API fault tolerance with configurable thresholds
  • Embedding-based model routing — Local vector similarity for model selection (no LLM call)
  • Persistent storage — Reports, jobs, knowledge graph persist across sessions by default

macOS/Node 25 Note: A cosmetic libc++abi: mutex lock failed message may appear on shutdown. This is harmless — data is checkpointed before shutdown. Set DB_AUTO_HEAL=true for in-memory mode (no persistence, no message).

Full Changelog | Extensions Guide | MCP Compliance Report

Configuration

Set OPENROUTER_API_KEY in your environment, then configure via .env or .mcp.json:

VariableDefaultDescription
OPENROUTER_API_KEYrequiredOpenRouter API key
OPENROUTER_API_KEYS(optional)Comma-separated OpenRouter keys for rotation
OPENROUTER_KEY_COOLDOWN_MS5000Base cooldown per key after failures
SERVER_PORT3002HTTP server port
MODEALLAGENT, MANUAL, or ALL
EMBEDDING_ROUTING_ENABLEDtrueEnable embedding-based model routing
INDEXER_ENABLEDtrueEnable knowledge indexing

Full ENV Reference

.mcp.json example (team-shareable)
{
  "mcpServers": {
    "openrouter-agents": {
      "command": "npx",
      "args": ["@terminals-tech/openrouter-agents", "--stdio"],
      "env": {
        "OPENROUTER_API_KEY": "${OPENROUTER_API_KEY}",
        "INDEXER_ENABLED": "true"
      }
    }
  }
}

Multi-Client Setup

Transport Modes
TransportFlagUse Case
STDIO(default)MCP clients (Claude, Jan AI, Continue)
HTTP--httpWeb apps, shared server

STDIO is the default transport per MCP spec. Use --http explicitly for HTTP mode.

Client-Specific Setup
Jan AI
  1. Enable MCP Servers in Settings → Advanced → Experimental
  2. Click + to add server
  3. Configure:
    • Name: openrouter-agents
    • Command: npx
    • Arguments: @terminals-tech/openrouter-agents
    • Environment: OPENROUTER_API_KEY=sk-or-...

Note: STDIO is now default - no --stdio flag needed.

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "openrouter-agents": {
      "command": "npx",
      "args": ["@terminals-tech/openrouter-agents"],
      "env": {
        "OPENROUTER_API_KEY": "sk-or-..."
      }
    }
  }
}
Continue / Zed / Other MCP Clients

Standard MCP config - STDIO is default, no flags needed:

{
  "command": "npx",
  "args": ["@terminals-tech/openrouter-agents"],
  "env": { "OPENROUTER_API_KEY": "..." }
}
Feature Matrix
FeatureAll MCP ClientsClaude Code Only
Core Research Tools✓✓
Knowledge Base✓✓
Session/Graph Tools✓✓
Rail Protocol Tools✓✓
Slash Commands-✓

Models (v2.0.0)

High-Cost Tier
ModelDomains
anthropic/claude-sonnet-4.5reasoning, technical, general, creative
anthropic/claude-opus-4.6reasoning, technical, general, creative
openai/gpt-5.2-chatreasoning, technical, general
openai/gpt-5.3-codexcoding, technical, reasoning
google/gemini-3-pro-previewreasoning, technical, general
qwen/qwen3-codercoding, editing, technical
Low-Cost Tier
ModelDomains
google/gemini-3-flash-previewcoding, editing, technical
anthropic/claude-haiku-4.5general, technical, reasoning
deepseek/deepseek-chat-v3.1general, reasoning, technical, coding
deepseek/deepseek-v3.2general, reasoning, technical, coding
openai/gpt-oss-120bgeneral, reasoning, search

Models are selected via embedding-based routing — query embeddings are matched to model domain profiles without an LLM call.

Tools

Research
ToolDescription
researchAsync research (returns job_id)
conduct_researchSync research with streaming
batch_researchParallel batch queries
research_follow_upContext-aware follow-up
agentUnified entrypoint (auto-routes)
Knowledge Base
ToolDescription
searchHybrid BM25+vector search
retrieveIndex or SQL query
querySQL SELECT with params
get_reportGet report by ID
historyList recent reports
Session & Graph
ToolDescription
undo / redoSession time-travel
checkpointNamed save points
fork_sessionCreate alternate timeline
graph_traverseExplore knowledge graph
graph_clustersFind node clusters
graph_pagerankImportance rankings
Rail Protocol
ToolDescription
list_railsList rails, tunnels, routes, consensus
explain_railDetailed rail/tunnel config
list_routesAll defined routes
list_tunnelsActive agent-to-agent tunnels
list_consensusStreaming consensus sessions
Utility
ToolDescription
pingHealth check
get_server_statusFull diagnostics
job_statusCheck async job
date_timeCurrent timestamp
calcMath evaluation
list_toolsAvailable tools

MCP Compliance

Compliant with MCP Specification 2025-11-25 (stable, AAIF/Linux Foundation governance).

FeatureSEPStatus
JSON-RPC 2.0CoreCompliant
Tools/Resources/PromptsCoreCompliant
Task ProtocolSEP-1686Compliant
Sampling with ToolsSEP-1577Compliant
ElicitationSEP-1036Compliant
MCP AppsSEP-1865Compliant
Enterprise AuthSEP-990Compliant
Client MetadataSEP-991Compliant

Full Compliance Report

Architecture

User Query
    │
    ▼
┌─────────────────┐
│  Planning Agent  │ ─── Decomposes into sub-queries
└────────┬────────┘
         │
    ┌────┴────┐
    ▼         ▼
┌───────┐ ┌───────┐
│Agent 1│ │Agent N│ ─── Parallel research (embedding-routed models)
└───┬───┘ └───┬───┘
    │         │
    ▼         ▼
┌─────────────────┐
│   Synthesizer   │ ─── Consensus + citations (Signal protocol)
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│  Knowledge Base  │ ─── PGlite + pgvector (persistent)
└─────────────────┘

Core Abstractions

ModulePurpose
Signal ProtocolInter-agent communication with confidence scoring and consensus
Rail ProtocolBidirectional channels with backpressure, provenance, tunnels
Error TaxonomyDeterministic classification with auto-learning and circuit breakers
Circuit BreakerModel API fault tolerance with configurable thresholds and auto-recovery
Parameter NormalizationDeclarative alias system (q→query, cost→costPreference)
RoleShift ProtocolBidirectional server↔client via MCP sampling/elicitation
Embedding RouterLocal vector-based model selection via @terminals-tech/embeddings
Circuit Breaker

Protects against cascading model API failures. Configurable via environment:

VariableDefaultDescription
RAIL_CIRCUIT_BREAKERtrueEnable circuit breaker
RAIL_CIRCUIT_THRESHOLD5Failures before tripping
RAIL_CIRCUIT_RESET_MS120000Recovery timeout (ms)

States: closed (normal) -> open (failing, requests rejected) -> half-open (testing recovery).

Transport (v2.0.0)
TransportStatusUse Case
Streamable HTTPPrimaryAll new integrations
SSEDeprecatedLegacy compatibility only
STDIODefaultMCP clients (Claude, Jan AI, Continue)

Links

Releasing

Releases are automated via release-please:

  1. Push conventional commits to main (e.g. feat:, fix:, chore:)
  2. release-please opens a version-bump PR
  3. Merge the PR → GitHub Release created automatically
  4. npm publish triggers on release via CI

Manual publish:

npm test && npm publish --access public

Version: 2.0.0 | MCP SDK: 1.27.1 | MCP Spec: 2025-11-25 | Author: Tej Desai | License: MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.