{"name":"io.github.cherninlab/ennodia","slug":"cherninlab-ennodia","title":null,"description":"Try other agents, models, and skills from your familiar AI workflow through a local MCP server","url":"https://mcp.market/server/cherninlab-ennodia","rating":null,"grade":"A","score":92,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":38,"stars":5,"forks":0,"downloads_week":327,"last_push_at":"2026-09-18T21:44:34.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/cherninlab/ennodia","website":"https://ennodia.cherninlab.com","version":"0.3.0","remotes":[],"packages":[{"registryType":"npm","identifier":"ennodia","version":"0.3.0","transport":{"type":"stdio"}}],"tools":[{"name":"ennodia_cancel_compare","description":"Cancel a running Judge + Result Advisor comparison and its active child task.","write_action":true,"price_micros":0,"input_schema":null},{"name":"ennodia_cancel_plan_advice","description":"Cancel a running Plan Advisor request and its Advisor task.","write_action":true,"price_micros":0,"input_schema":null},{"name":"ennodia_cancel_run","description":"Cancel a high-level run and any active child task, Judge, or Result Advisor.","write_action":true,"price_micros":0,"input_schema":null},{"name":"ennodia_cancel_task","description":"Cancel a running task by task ID.","write_action":true,"price_micros":0,"input_schema":null},{"name":"ennodia_estimate_budget","description":"Estimate the input-token budget for a planned Ennodia run and report whether optional limits would be exceeded before starting child tasks.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ennodia_estimate_compositional_budget","description":"Resolve focused compositional slices to harnesses and estimate child-task and later Judge + Result Advisor budget without starting child processes.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ennodia_get_compare","description":"Inspect comparison status, candidate inputs, Judge analysis, Result Advisor answer, child task IDs, degradation state, and ETA.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ennodia_get_compositional_status","description":"Inspect a batch of compositional shard tasks, group running and terminal states, and return successful task IDs ready for Judge + Result Advisor comparison.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ennodia_get_plan_advice","description":"Inspect Plan Advisor status, validation issues, frozen inventory identity, proposal, validated plan, digest, budgets, events, and ETA. A plan can be launched only when status is ready. An authorized plan has status consumed and cannot run again.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ennodia_get_run","description":"Inspect a run or wait up to waitMs for completion. Prefer waitMs: 30000, compact: true and includeEvents: false while awaiting results. A nonterminal response means work continues; do not claim its findings were consumed.","write_action":true,"price_micros":0,"input_schema":null},{"name":"ennodia_get_task","description":"Inspect task status, captured output, events, and ETA.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ennodia_history","description":"Read terminal run receipts persisted under the local Ennodia history directory. Use after a restart to inspect previous final answers and Judge disagreement analysis.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ennodia_install_skills","description":"Install bundled Ennodia Agent Skills into native harness skill directories. Defaults to dryRun so clients can inspect planned writes before applying them.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ennodia_list_compares","description":"List Judge + Result Advisor comparisons started by this Ennodia MCP server process.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ennodia_list_harnesses","description":"Discover local harnesses, availability, versions, capabilities, adapter notes, and inputGuidance. Before audio/image/video work, read inputGuidance: model capabilities do not guarantee native input through a harness. Use first when setup or routing fails.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ennodia_list_plan_advice","description":"List recent Plan Advisor requests started by this Ennodia MCP server process.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ennodia_list_runs","description":"List high-level Ennodia runs started by this MCP server process.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ennodia_list_skills","description":"Discover prompt-only skills from project, user, and built-in skill directories without returning full instruction text.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ennodia_list_tasks","description":"List tasks started by this Ennodia MCP server process.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ennodia_plan","description":"Classify a prompt and preview the route Ennodia would take without starting any child process. Use before ennodia_run when you want to inspect routing.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ennodia_run","description":"Start a high-level Ennodia orchestration. Set pragmatic for evidence-focused investigation or patch proposals with one or more independent workers. Use Plan Advisor for tailored model and skill assignments. Use this as the default entrypoint: it plans routing, starts one or more local harness tasks, optionally compares successful outputs, and returns a run ID. Runs usually take minutes; use ennodi","write_action":true,"price_micros":0,"input_schema":null},{"name":"ennodia_start","description":"Start raw child harness tasks without a run-level Judge + Result Advisor pass. Use for debugging, direct harness calls, or manual comparison workflows; prefer ennodia_run for normal end-to-end use.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ennodia_start_advised_plan","description":"Explicitly launch the exact validated worker plan from a ready Plan Advisor request. Ennodia re-checks the caller-supplied digest, current harness and skill inventory, caller allowlisted model assignments, and budget before starting the first worker task; any mismatch fails closed with zero launches. A plan is single-use after authorization. Provider model availability remains unverified until the","write_action":false,"price_micros":0,"input_schema":null},{"name":"ennodia_start_compare","description":"Compare completed Ennodia task outputs or caller-supplied responses. The Judge maps agreements, contradictions, and risks; the Result Advisor then combines that analysis into the final answer. Returns a Compare ID to inspect with ennodia_get_compare.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ennodia_start_compositional","description":"Start one focused child task per slice for compositional reviews. Poll the returned task IDs, then pass useful completed task IDs to ennodia_start_compare for a Judge + Result Advisor comparison.","write_action":false,"price_micros":0,"input_schema":null},{"name":"ennodia_start_plan_advice","description":"Ask one Advisor to propose a bounded team of harness, model, and skill assignments. This starts only the Advisor task: its output is strict, inert plan data that Ennodia validates and never executes automatically. Poll ennodia_get_plan_advice, then explicitly call ennodia_start_advised_plan with the returned digest.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":92,"grade":"A","scanned_at":"2026-09-19T19:33:38.041Z","report":{"scannerVersion":"0.1.5","scannedAt":"2026-09-19T19:33:38.023Z","components":{"code":{"score":25,"max":25,"notes":["22 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":15,"max":15,"notes":["last push 1 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"ennodia","version":"0.3.0","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":2,"publishedAt":"2026-09-18T11:02:03.812Z","repositoryUrl":"git+https://github.com/cherninlab/ennodia.git","weeklyDownloads":327}],"repo":{"found":true,"owner":"cherninlab","repo":"ennodia","archived":false,"pushedAt":"2026-09-18T21:44:34Z","stars":5,"forks":0,"openIssues":6,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/164030498?v=4","ownerCreatedAt":"2024-03-19T13:50:03Z","license":"MIT"},"icon":{"url":"https://ennodia.cherninlab.com/favicon.svg","source":"registry"},"presence":{"stars":5,"forks":0,"downloadsWeek":327,"license":"MIT","lastPushAt":"2026-09-18T21:44:34.000Z","score":38}}}},"grade_history":[],"reviews":[]}