Aethis MCP server
io.github.Aethis-ai/aethis-mcp·v0.22.0·1 starsDeterministic eligibility decisions and test-driven rule authoring via the Aethis developer API.
1 stars632 downloads/wk
Reviews
Write oneNobody has reviewed Aethis yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Aethis tools (35, 5 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
aethis_add_domain_guidanceAdd a guidance hint at domain level — applies to ALL projects in the domain, not just one project.
aethis_add_guidanceAdd a guidance hint to a project. Use for domain knowledge not in the source text. Then call aethis_generate_and_test to regenerate.
aethis_archive_projectArchive a project. Archived projects are preserved but excluded from listing. This is permanent.
aethis_archive_rulesetArchive a rule ruleset. Archived rulesets are preserved but excluded from /decide resolution. This is permanent.
aethis_cancel_generationwrite actionRequest cancellation of one observed generation job and release only its project ownership. First call aethis_generation_status and bind the exact job_id; confirm_job_id protects against accidental target mismatch but does not itself prove human approval. MCP hosts should require destructive-action approval, and agents must obtain a fresh explicit user reply before calling. The response outcome is
aethis_create_rulebookwrite actionCreate a new Rulebook — the composed-whole execution unit that bridges multiple rulesets (the parts) via outcome_logic. Created empty: no rulesets, no field vocabulary, no tests, status='draft'. Populate afterwards with aethis_create_ruleset for each section, then wire up the field vocabulary and composition logic before publishing. Requires an API key.
aethis_create_rulesetwrite actionCreate a new rule ruleset with source text and test cases (TDD). Test cases are required. After creation, call aethis_generate_and_test.
aethis_decideEvaluate eligibility against either a single published ruleset (ruleset_id) or a composed rulebook (rulebook_id). Provide exactly one. A rulebook composes multiple rulesets via outcome_logic — use it for the whole-form decision (e.g. `aethis/uk-fsm`). A ruleset is one section in isolation (e.g. `aethis/uk-fsm/child-eligibility`). Returns eligible/not_eligible/undetermined with optional trace and e
aethis_discover_fieldsDiscover input fields from the project's source text. Returns field names, types, descriptions, and completeness assessment. Run this BEFORE writing test cases to ensure field names are consistent. Call repeatedly with aethis_refine_fields to improve completeness.
aethis_discover_rulesetsList public showcase rulesets across all tenants. No authentication required. Use this for first-time discovery, demos, or whenever the user asks 'what rulesets are available?' without referencing a specific project. Returns slug, ruleset_id, name (the human-readable section title), description, field_count, rule_count for each — pass the slug or ruleset_id to aethis_decide / aethis_schema / aethi
aethis_discover_sectionsDiscover the logical sections of source legislation for a domain.
aethis_explainGet human-readable descriptions of the rules in a ruleset, including criteria groups, requirements, and exception paths.
aethis_explain_failureDiagnose why a ruleset produced an unexpected outcome for specific test inputs. Use during rule authoring when a test fails — returns the diagnosis, criteria with DSL metadata (waivable, review_required), and a targeted hint for fixing the rule.
aethis_generate_and_testGenerate rules from source text and run all test cases. Triggers generation, polls until complete, then runs tests. Returns pass/fail with regression detection. Usually takes 60-120 seconds; if polling times out, use aethis_generation_status before retrying, and aethis_cancel_generation only when the caller wants to stop the run.
aethis_generation_statusCheck the current generation job for a project without changing it. Returns generation_contract_version, telemetry_availability, server-authoritative worker_lifecycle, retry_readiness, and the active or most recent job's progress and safe failure diagnostics. Retry only when retry_readiness is ready; an old heartbeat alone does not prove worker death. Tenant-scoped — requires an API key.
aethis_graphGet the ruleset-map graph for a single published ruleset (ruleset_id) or a composed rulebook (rulebook_id) — provide exactly one. Returns {ruleset_id|rulebook_id, slug, name, graph: {nodes, edges, sections, stats}, mermaid}: each node's display.sentence / display.routes / display.expr shows how that branch composes, and mermaid is a ready-to-render diagram string. Use this to visualise or explain
aethis_list_domain_guidanceList all active guidance hints for a domain. Returns cross-section hints that apply to all projects in the domain.
aethis_list_guidanceList all guidance hints accumulated for a project. Shows the text, source, and active status of each hint. Use before adding new guidance to avoid duplicates.
aethis_list_projectsList all projects in the current tenant. Returns project IDs, names, domains, and latest ruleset information.
aethis_list_rulebooksList rulebooks (composed wholes that bridge multiple rulesets) in the current tenant. Returns rulebook_id, slug (e.g. `aethis/uk-fsm`), name, domain, status (draft/active/archived), version, outcome_logic (the composition Expr AST), ruleset_refs, and timestamps. Use this when the user asks 'what rulebooks exist?' or to disambiguate whether several `<ns>/<x>/*` rulesets are bridged into one parent
aethis_list_rulesetsList all rule rulesets for a project, including version history. Shows ruleset ID, human-readable name (the section title the ruleset covers, e.g. 'Knowledge of language and life in the UK'), status (active/archived), version, field count, and rule count.
aethis_next_questionGet the optimal next question for a conversational eligibility check. Call with empty field_values for the first question, then add answers and call again until decision is reached. When the ruleset author attached notes to a question (e.g. why it is asked, or legal background), they are surfaced under a Notes block.
aethis_publishwrite actionPublish the latest rule ruleset. Runs tests first and refuses if they fail unless force=true. Auto-deprecates previous active ruleset.
aethis_refineRefine an existing published ruleset: add optional feedback, then make the MINIMAL edit to fix failing test cases while keeping passing tests green, and re-run the full suite (seed-from-existing incremental re-authoring). Use this to fix a specific finding without re-authoring the whole section; use aethis_generate_and_test for a from-scratch rebuild.
aethis_refine_fieldsAdd guidance to improve field discovery, then re-discover. Use when fields are missing, misnamed, or enum values are incomplete. Adds a field_extraction guidance hint and re-runs discovery.
aethis_refine_sectionsAdd guidance to improve section discovery, then re-discover sections.
aethis_review_projectReview an authoring project against the deterministic authoring-coach rubric and get skill-building feedback. Returns a score, per-check evidence across grounding / process / lifecycle, strengths, and the single highest-leverage next improvement. Advisory only — it never blocks publishing. The deterministic report needs no LLM key; set coach=true (with an Anthropic key) to add an LLM-synthesised c
aethis_rulebook_schemaGet the composition + aggregated input fields for a rulebook. Returns the outcome_logic Expr AST (how the bridged rulesets compose, e.g. `A AND (B OR C)`), the list of bridged rulesets (ruleset_name, ruleset_id, slug, status), and the union of all required input fields. Use this BEFORE aethis_decide on a rulebook_id to know what field_values to supply, or to inspect how a rulebook is wired. Pass a
aethis_schemaGet the input fields required for an eligibility check. Returns field names, types, descriptions, and allowed values. Use this before calling aethis_decide.
aethis_set_field_specStore the expected field specification for a project.
aethis_set_testsReplace the complete reviewed test suite for an existing project after field discovery. Requires 1 to 100 legacy cases, or up to 500 with contract_version: 1, and replaces prior tests without creating a project or changing its sources, fields, or guidance. This is destructive. The target API must advertise replacement support before any write. If the response is interrupted, inspect the project be
aethis_update_rulebookwrite actionUpdate a Rulebook's name, description, slug, or robot_hints (assistant guidance for the conversational agent). Provide at least one field to change; omitted fields are left as-is. Requires an API key.
aethis_usageShow the caller's rate-limit budget per operation class over the rolling 24h window: for each of decide / generate / author / read / keys / admin, the used count, limit, remaining, and reset time. `generate` (LLM rule generation) is the scarce class; browsing and status polling (`read`) are effectively unlimited-but-metered. Check this before a large authoring run — and report remaining `generate`
aethis_validate_fieldsAssert that the discovered fields match an expected field specification.
aethis_validate_sectionsCompare discovered sections against an expected specification.
Public scan report
scanner v0.1.10 · 2026-10-03 · same rubric, same numbers if you re-run it
- Code scan11 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 2 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year9/10
How Aethis compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 85/100
- higher than 70% of 48,243 servers
- Tools
- 35
- the typical server has 7
- Tools that change things
- 14%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 1
- more than 65% of 28,706 servers
- Downloads a week
- 632
- more than 91% of 12,306 servers with a package
What its tools let an agent do: 30 read · 5 change
Release history: 4 versions in the registry since 2026-09-14, latest 2026-09-30, typically one every 5 days.
Install Aethis in Claude Code, Cursor or VS Code
Runs npx -y aethis-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add aethis-mcp -- npx -y aethis-mcp
What the publisher says
From the Aethis repository's README, as published. We do not edit it. Read it on GitHub
aethis-mcp
MCP server for the Aethis decision engine. Compile legislation, policy, contracts, and regulation into deterministic logic — same input, same answer, every time, with a full audit trail.
Install · Skills · Quick start · Tools · Setup · Authoring · DSL · Troubleshooting
Install
Authoring is in private beta. Decision tools (aethisdecide, aethisschema, aethisexplain, aethisnext_question) are public — no key required. Authoring tools (rule generation, test refinement, publishing) require an invite. Request access at aethis.ai/developer-access.
Recommended — one command via aethis-cli:
uv tool install aethis-cli
aethis mcp install --target allWires the server into claude-code, cursor, claude-desktop, or windsurf. Idempotent. Restart your editor to pick up the change. Re-run after aethis account generate rotates a key. Full options: aethis mcp install --help.
Manual install:
claude mcp add aethis -- npx -y aethis-mcpFor Cursor / Claude Desktop / Windsurf manual config, see Setup.
Onboarding an AI coding agent end-to-end? See docs.aethis.ai/agents/onboarding — install + verify + auth + workflow patterns in one page.
Skills
After the MCP server is installed, add reusable agent workflows with aethis-skills:
npx skills add Aethis-ai/aethis-skillsThe skills package provides workflows for policy-to-ruleset authoring, test/refine/publish loops, decisions with trace, and regression comparison. It calls the MCP tools in this package; it does not replace the MCP server.
Quick start
aethis_decide({
ruleset_id: "aethis/spacecraft-crew-certification",
field_values: { "space.crew.species": "Vogon" },
include_trace: true
}){
"decision": "not_eligible",
"fields_provided": 1,
"fields_evaluated": 11,
"trace": {
"species_check": "FAIL — species is 'Vogon' (disqualifying, Section 3)"
}
}Public rulesets work without a key. Browse: aethisdiscoverrulesets({}) or docs.aethis.ai.
Engine determinism + accuracy benchmarks: Aethis-ai/confidently-wrong-benchmark.
Tools
35 tools across six groups.
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Aethis: common questions
- Is Aethis MCP server safe?
- Yes, by our scan: it is graded A (85/100). Read the Aethis safety report
- How do I install Aethis?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Aethis need an API key?
- Yes. The registry entry asks for
AETHIS_API_KEY. - Is Aethis maintained?
- The last commit was 35 days ago (2026-10-01). The latest release is v0.22.0.
- How does Aethis compare with other MCP servers?
- safety score 85/100 (higher than 70% of 48,243 servers); tools 35 (the typical server has 7); tools that change things 14% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.