Ennodia
MCP server that orchestrates multi-agent reviews by running installed agent CLIs, tracking child tasks, and using Compare to produce a traceable recommended answer with receipts.
README
<div align="center">
<a href="https://ennodia.cherninlab.com"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/cherninlab/ennodia/raw/main/docs/assets/logo-dark.svg"> <source media="(prefers-color-scheme: light)" srcset="https://github.com/cherninlab/ennodia/raw/main/docs/assets/logo.svg"> <img alt="Ennodia" src="https://github.com/cherninlab/ennodia/raw/main/docs/assets/logo.svg" width="235" height="50"> </picture> </a>
<p><strong>Model Context Protocol (MCP) server for multi-agent review with Compare and traceable receipts</strong></p>
<p> <a href="LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-informational"></a> <img alt="Continuous integration" src="https://github.com/cherninlab/ennodia/actions/workflows/ci.yml/badge.svg" /> <a href="https://smithery.ai/servers/cherninlab/ennodia"><img alt="Smithery: Ennodia" src="https://img.shields.io/badge/Smithery-Ennodia-FF5601"></a> </p>
<p align="center"> <img alt="Ennodia terminal with three completed artificial intelligence reviews" src="https://github.com/cherninlab/ennodia/raw/main/docs/assets/terminal.png" width="600"> </p>
</div>
Ennodia gives your primary agent access to installed agent command-line interfaces (CLIs). It tracks each child task and uses model-led Compare to show agreements, disagreements, omissions, and one recommended answer with receipts.
Before work, an optional Plan Advisor can propose a bounded set of harnesses, models, and skills. It does not start the proposed work.
Install
Send this address to your primary agent. The agent can then complete the installation:
try-ennodia.cherninlab.com
To run Ennodia directly as a standard input/output (stdio) MCP server, use:
npx -y ennodia
To use Bun directly, run bunx ennodia.
For a registry or client installer, use the Ennodia Smithery page.
For manual installation or local development, see Quickstart.
What Ennodia does
- Discovers available local artificial intelligence (AI) tools
- Plans a route with a caller-provided category or keyword fallback
- Estimates preflight input tokens and enforces local caps on that estimate
- Starts and monitors child tasks
- Shows status, elapsed time, logs, and failures
- Cancels tasks and runs explicitly
- Lets a Plan Advisor propose an inert, validated work plan
- Compares multiple completed outputs with a Judge
- Lets a Result Advisor combine the Judge findings into one answer
ennodia_run is the main entrypoint. It plans and starts tasks. It can also use
Compare. It returns a run identifier (ID) for use with ennodia_get_run.
See MCP tools for the full tool and parameter reference.
Use Ennodia for work that needs additional model analysis. A run usually takes minutes. Compare adds two serial model passes after the child agents finish.
Judge, Plan Advisor, and Result Advisor
Each role has limited responsibilities:
- Plan Advisor runs before work when requested. It proposes explicit harness, model, and skill assignments as inert data. Ennodia validates the proposal against a frozen inventory. Plan Advisor cannot execute it. The caller must use a separate call to start the validated plan once.
- Judge runs during Compare and maps agreements, contradictions, unique evidence, omissions, and risks across completed outputs.
- Result Advisor follows the Judge. It uses the Judge findings and original
outputs to recommend an answer. If Judge analysis is not usable, it uses
basis: "candidates-only". This status makes the degradation visible.
Ennodia IO
The separate @cherninlab/ennodia-io package provides a local Hypertext
Transfer Protocol (HTTP) and TypeScript interface. Apps can use it with
user-supplied keys and installed local agents:
npx -y @cherninlab/ennodia-io
See Ennodia IO for supported fields, authentication behavior, cross-origin resource sharing rules, and current limits.
Supported harnesses
- Codex CLI
- Claude Code
- OpenCode
- Kilo Code
- Kiro CLI
- Cline CLI
- Hermes Agent
- Antigravity
Adapters stay thin. Core modules contain shared routing, trace data, task state, recovery, and Compare logic.
Evaluated candidates include Gemini CLI, GitHub Copilot CLI, Amp, Aider, Goose, Qwen Code, and Cursor CLI. Ennodia does not include these candidates.
Ennodia can add a candidate after verification of a supported prompt-in and text-out interface. Verification must not use permission-bypass flags or provider-private APIs.
Documentation
- Installation for Agents: agent-controlled installation
- Quickstart: manual installation and local development
- MCP Tools: full tool parameter reference
- How Ennodia Works: orchestration pipeline
- Second Opinions: replicate, decompose, and red-team patterns
- Data Governance: local storage and data movement boundaries
- Controlled English: ASD-STE100 rules and Ennodia technical terms
- Comparisons: comparisons with adjacent tools
- Benchmarks: deterministic bug-recall results
- Better Audits: prompt rubrics for Compare
Benchmarks
The current benchmark is multi-model-bug-recall. It uses small TypeScript
review fixtures and committed bug oracles. Run the deterministic suite with:
bun run bench:bug-recall
Live harness runs are available through bun run bench:bug-recall:live and are
kept out of bun run verify.
The current dated fixture snapshot is published in
Benchmarks: 4
cases, with ennodia-parallel-compare at 100% recall and 100% precision.
Contribute
Ennodia is under active development. You can submit bug reports and small, focused pull requests. See CONTRIBUTING.md for the local verification workflow.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。