Incorporates Google's Gemini model (gemini-2.0-flash-001) as one of the research agents for information gathering and analysis.
Leverages OpenAI models (gpt-4o-search-preview and gpt-4o-mini-search-preview) as research agents for conducting information searches and analysis.
Uses Perplexity models (sonar-deep-research, sonar-pro, sonar-reasoning-pro, sonar-reasoning) for advanced research tasks with specialized search capabilities.
OpenRouter Agents MCP Server
[UPDATE – 2025-08-26] Two modes (set MODE env):
- AGENT: one simple tool (
agent
) that routes research / follow_up / retrieve / query - MANUAL: individual tools for each action
- ALL (default): both AGENT and MANUAL, plus always-on ops tools
Diagram (simple)
- Killer features
- Plan → parallelize → synthesize workflow with bounded parallelism
- Dynamic model catalog; supports Anthropic Sonnet‑4 and OpenAI GPT‑5 family
- Built‑in semantic KB (PGlite + pgvector) with backup, export/import, health, and reindex tools
- Lightweight web helpers: quick search and page fetch for context
- Robust streaming (SSE), per‑connection auth, clean logs
Install / Run
- Install (project dependency)
- Global install (optional)
- Run with npx (no install)
What’s new (v1.5.0)
- Version parity across npm, GitHub Releases, and GitHub Packages
- Dual publish workflow enabled
Quick start
- Prereqs
- Node 18+ (20 LTS recommended), npm, Git, OpenRouter API key
- Install
- Configure (.env)
- Run
- STDIO (for Cursor/VS Code MCP):
- HTTP/SSE (local daemon):
Windows PowerShell examples
- STDIO
- HTTP/SSE
One-liner demo scripts
Dev (HTTP/SSE):
STDIO (Cursor/VS Code):
MCP client JSON configuration (no manual start required)
You can register this server directly in MCP clients that support JSON server manifests.
Minimal examples:
- STDIO transport (recommended for IDEs)
- HTTP/SSE transport (daemon mode)
With the package installed globally (or via npx), MCP clients can spawn the server automatically. See your client’s docs for where to place this JSON (e.g., ~/.config/client/mcp.json
).
Tools (high‑value)
- Always‑on (all modes):
ping
,get_server_status
,job_status
,get_job_status
,cancel_job
- AGENT:
agent
(single entrypoint for research / follow_up / retrieve / query) - MANUAL/ALL toolset:
submit_research
(async),conduct_research
(sync/stream),research_follow_up
,search
(hybrid),retrieve
(index/sql),query
(SELECT),get_report_content
,list_research_history
- Jobs:
get_job_status
,cancel_job
- Retrieval:
search
(hybrid BM25+vector with optional LLM rerank),retrieve
(index/sql wrapper) - SQL:
query
(SELECT‑only, optionalexplain
) - Knowledge base:
get_past_research
,list_research_history
,get_report_content
- DB ops:
backup_db
(tar.gz),export_reports
,import_reports
,db_health
,reindex_vectors
- Models:
list_models
- Web:
search_web
,fetch_url
- Indexer:
index_texts
,index_url
,search_index
,index_status
Tool usage patterns (for LLMs)
Use tool_patterns
resource to view JSON recipes describing effective chaining, e.g.:
- Search → Fetch → Research
- Async research: submit, stream via SSE
/jobs/:id/events
, then get report content
Notes
- Data lives locally under
PGLITE_DATA_DIR
(default./researchAgentDB
). Backups are tarballs in./backups
. - Use
list_models
to discover current provider capabilities and ids.
Architecture at a glance
See docs/diagram-architecture.mmd
(Mermaid). Render to SVG with Mermaid CLI if installed:
Or use the script:
If the image doesn’t render in your viewer, open docs/diagram-architecture-branded.svg
directly.
Answer crystallization view
How it differs from typical “agent chains”:
- Not just hardcoded handoffs; the plan is computed, then parallel agents search, then a synthesis step reasons over consensus, contradictions, and gaps.
- The system indexes what it reads during research, so subsequent queries get faster/smarter.
- Guardrails shape attention: explicit URL citations, [Unverified] labelling, and confidence scoring.
Minimal‑token prompt strategy
- Compact mode strips preambles to essential constraints; everything else is inferred.
- Enforced rules: explicit URL citations, no guessing IDs/URLs, confidence labels.
- Short tool specs: use concise param names and rely on server defaults.
Common user journeys
- “Give me an executive briefing on MCP status as of July 2025.”
- Server plans sub‑queries, fetches authoritative sources, synthesizes with citations.
- Indexed outputs make related follow‑ups faster.
- “Find vision‑capable models and route images gracefully.”
/models
discovered and filtered, router template generated, fallback to text models.
- “Compare orchestration patterns for bounded parallelism.”
- Pulls OTel/Airflow/Temporal docs, produces a MECE synthesis and code pointers.
Cursor IDE usage
- Add this server in Cursor MCP settings pointing to
node src/server/mcpServer.js --stdio
. - Use the new prompts (
planning_prompt
,synthesis_prompt
) directly in Cursor to scaffold tasks.
FAQ (quick glance)
- How does it avoid hallucinations?
- Strict citation rules, [Unverified] labels, retrieval of past work, on‑the‑fly indexing.
- Can I disable features?
- Yes, via env flags listed above.
- Does it support streaming?
- Yes, SSE for HTTP; stdio for MCP.
Command Map (quick reference)
- Start (stdio):
npm run stdio
- Start (HTTP/SSE):
npm start
- Run via npx (scoped):
npx @terminals-tech/openrouter-agents --stdio
- Generate examples:
npm run gen:examples
- List models: MCP
list_models { refresh:false }
- Submit research (async):
submit_research { q:"<query>", cost:"low", aud:"intermediate", fmt:"report", src:true }
- Track job:
get_job_status { job_id:"..." }
, cancel:cancel_job { job_id:"..." }
- Unified search:
search { q:"<query>", k:10, scope:"both" }
- SQL (read‑only):
query { sql:"SELECT ... WHERE id = $1", params:[1], explain:true }
- Get past research:
get_past_research { query:"<query>", limit:5 }
- Index URL (if enabled):
index_url { url:"https://..." }
- Micro UI (ghost): visit
http://localhost:3002/ui
to stream job events (SSE).
Package publishing
- Name:
@terminals-tech/openrouter-agents
- Version: 1.3.2
- Bin:
openrouter-agents
- Author: Tej Desai admin@terminals.tech
- Homepage: https://terminals.tech
Install and run without cloning:
Publish (scoped)
Validation – MSeeP (Multi‑Source Evidence & Evaluation Protocol)
- Citations enforced: explicit URLs, confidence tags; unknowns marked
[Unverified]
. - Cross‑model triangulation: plan fans out to multiple models; synthesis scores consensus vs contradictions.
- KB grounding: local hybrid index (BM25+vector) retrieves past work for cross‑checking.
- Human feedback:
rate_research_report { rating, comment }
stored to DB; drives follow‑ups. - Reproducibility:
export_reports
+backup_db
capture artifacts for audit.
Quality feedback loop
- Run examples:
npm run gen:examples
- Review:
list_research_history
,get_report_content {reportId}
- Rate:
rate_research_report { reportId, rating:1..5, comment }
- Improve retrieval:
reindex_vectors
,index_status
,search_index { query }
Architecture diagram (branded)
- See
docs/diagram-architecture-branded.svg
(logo links tohttps://terminals.tech
).
Stargazers
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
A Model Context Protocol server that enables conversational LLMs to delegate complex research tasks to specialized AI agents powered by various OpenRouter models, coordinated by a Claude orchestrator.
- 🚀 New Beta Branch (03-29-2025)
- 🌟 Support This Project
- Prerequisites
- Features
- How It Works
- Installation (Node.js / Standard)
- Cline / VS Code MCP Integration (Recommended)
- Available Models
- Customization
- Alternative Installation: HTTP/SSE for Claude Desktop App
- Persistence & Data Storage
- Troubleshooting
- Advanced Configuration
- Testing Tools
- License
Related MCP Servers
- -securityFlicense-qualityA Model Context Protocol server that enables Claude users to access specialized OpenAI agents (web search, file search, computer actions) and a multi-agent orchestrator through the MCP protocol.Last updated -9
- -security-license-qualityA Model Context Protocol server that enables intelligent task delegation from advanced AI agents like Claude 3.7 to cost-effective LLMs, providing a comprehensive suite of tools spanning cognitive memory, browser automation, Excel manipulation, database interactions, and document processing.Last updated -107MIT License
- AsecurityAlicenseAqualityA Model Context Protocol server that scans and exposes AI-related dotfiles and configuration files to LLM agents, helping them understand project context and guidelines.Last updated -MIT License
- -securityAlicense-qualityA sophisticated server that coordinates multiple LLMs (Claude, Gemini, etc.) using the Model Context Protocol to enhance reasoning capabilities through strategies like progressive deep dive and consensus-based approaches.Last updated -MIT License