Ennodia

Created By
cherninlab2 days ago
MCP server that lets one AI agent ask other agents for help
Overview
Ennodia

MCP server for multi-agent review with Compare and traceable receipts

License: MIT CI Smithery: Ennodia

Ennodia terminal comparing three completed AI reviews

No single model or agent should be the only reviewer for work that matters. Ennodia lets your primary agent ask the installed agent CLIs you already have, track every child task, and use model-led Compare to surface agreements, disagreements, blind spots, and one synthesized answer with receipts.

The subscription-pool idea is secondary: if you already pay for Codex, Claude Code, Antigravity, OpenCode, and other local agent tools, Ennodia gives your main agent one MCP doorway to use them as an independent review panel. The experimental IO package exposes a small local HTTP subset for apps, but the supported first-class surface is MCP.

Install

Send this to your primary agent and let it handle setup:

try-ennodia.cherninlab.com

Or run it directly as a stdio MCP server from npm:

npx -y ennodia

Prefer a registry or client installer? Use the Ennodia Smithery listing. It uses the same stdio command from smithery.yaml (npx -y ennodia) and does not need Ennodia-specific configuration.

Requires Bun 1.3.14 or newer — npx downloads Ennodia, Bun runs it. Prefer Bun directly? Use bunx ennodia. For manual setup, local development, or a full walkthrough, see Quickstart.

What Ennodia does

  • Discovers available local 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, timing, logs, and failures
  • Cancels tasks and runs explicitly
  • Compares multiple completed outputs
  • Synthesizes one answer from the comparison

The main entrypoint is ennodia_run: it plans, executes, optionally compares, and returns a run ID to poll with ennodia_get_run. See MCP tools for the full tool and parameter reference.

Ennodia is for deliberation-class work: a run usually takes minutes, and Compare adds two serial model passes after the child agents finish.

Ennodia IO

The separate @cherninlab/ennodia-io workspace package exposes a local HTTP and TypeScript interface for apps that want BYOK-style settings over installed local agents:

npx -y @cherninlab/ennodia-io

See Ennodia IO for supported fields, auth behavior, CORS posture, and current limits.

Supported harnesses

  • Codex CLI
  • Claude Code
  • OpenCode
  • Kilo Code
  • Kiro CLI
  • Cline CLI
  • Hermes Agent
  • Antigravity

Adapters stay thin — shared routing, tracing, task state, recovery, and Compare logic live in core modules.

Evaluated-but-not-shipped candidates include Gemini CLI, GitHub Copilot CLI, Amp, Aider, Goose, Qwen Code, and Cursor CLI. They will be added only when a supported non-interactive prompt-in/text-out surface can be verified without permission-bypass flags or provider-private APIs.

Documentation

Benchmarks

The current benchmark is multi-model-bug-recall: small TypeScript review fixtures scored against 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.

Contributing

Ennodia is under active development. Bug reports and small, focused pull requests are welcome. See CONTRIBUTING.md for the local verification workflow.

Server Config

{
  "mcpServers": {
    "ennodia": {
      "command": "npx",
      "args": [
        "-y",
        "ennodia"
      ]
    }
  }
}
Project Info
Created At
2 days ago
Updated At
a day ago
Author Name
cherninlab
Star
-
Language
-
License
-
Category

Recommend Servers

View All