Aethis MCP server
Deterministic eligibility decisions and test-driven rule authoring via the Aethis developer API.
1 stars247 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 cases 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 before approving another replacement.
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.5 · 2026-09-19 · same rubric, same numbers if you re-run it
- Code scan9 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 5 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year9/10
Install directly
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
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, Claude Desktop or Cursor 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 6 days ago (2026-09-14). The latest release is v0.18.0.
- What can I use instead of Aethis?
- Servers from other publishers that do the same job: State Memory MCP server.
Alternatives to Aethis
Same job from other publishers: the closest match first, then the best rated.
State Memory MCPDeterministic, persistent graph server for tracking workflow state, decisions, and blockers.not reviewedEstablishedA