Decision tools
No API key required. Safe to call from any environment.aethis_decide
Evaluate eligibility against either a single published ruleset (ruleset_id) or a composed rulebook (rulebook_id). Provide exactly one.
outcome_logic:
undetermined, the response also includes next_question, optimal_path, and missing_fields.
aethis_schema
Get the input fields required for an eligibility check.aethis_decide to discover what fields to provide.
aethis_next_question
Conversational eligibility — returns the optimal next question given answers so far. Call with emptyfield_values for the first question, then add each answer and call again until a decision is reached.
notes (aethis-mcp v0.10.0+): when the ruleset’s author attached notes to a question, aethis_next_question renders them under a Notes block. Each line is - [<metadata.type>] <note>, where metadata.type labels the note (why, legal_background, and so on). Because a note is author-provided free text returned by the API, its body is wrapped in an <api_response label="note_..."> fence: untrusted-content hardening, so a note can never reach the model as an instruction. When the author attached no notes, the block is omitted entirely. The notes are grounded in the ruleset’s provenance, not the model’s general knowledge.
The engine evaluates all paths simultaneously — the remaining path shows the 2 questions needed to reach the section-A decision. For richer multi-section flows that demonstrate ORed alternative routes, evaluate the composed rulebook (rulebook_id: "aethis/uk-fsm", API key required) — the engine surfaces a 9–11 question path across Sections B and C. After answering both child-eligibility fields:
aethis_explain
Human-readable descriptions of every rule compiled into a ruleset.aethis_explain_failure
Diagnose why a ruleset produced an unexpected outcome for specific test inputs.Section and field discovery
Decompose legislation into sections and discover input fields. API key required. Anthropic key required for discovery (bring your own key).Bring-your-own LLM key. Discovery and generation tools call an Anthropic model on your behalf and accept the key per request; it is used only for that request and never stored. Three forms, in order of preference:
anthropic_key_env(preferred) — the name of an environment variable (set in your MCP client config) that holds the key. The raw value never appears in the tool call, so it never lands in the host’s session transcript.anthropic_key_keychain(preferred on macOS) — a keychain reference, eitherservice:accountor justaccount(service defaults toaethis-anthropic-key). The server reads it via thesecuritycommand at call time.anthropic_key(deprecated) — the raw key as a string. Passing it as a tool argument writes the key verbatim into the host’s session transcript, so prefer a reference form above.
anthropic_key for brevity, but it is optional, never required.aethis_discover_sections
Propose how to split source legislation into independently testable sections.aethis_validate_sections
Compare discovered sections against an expected list.aethis_refine_sections
Add guidance to improve section discovery, then re-discover.aethis_set_field_spec
Store expected fields for a project. Once set, everyaethis_discover_fields call auto-validates against this spec.
Bool, Int, Enum, Date, Duration, String.
aethis_discover_fields
Discover input fields from the project’s source text. Run before writing test cases.
Returns fields with name, type, description, enum values, a completeness score (0–1), and any missing pathways. If a field spec was set, also returns validation results.
aethis_validate_fields
Explicit validation of discovered fields against an expected spec.
Returns PASS/FAIL with lists of: missing fields, type mismatches, enum value mismatches, and extra discovered fields.
aethis_refine_fields
Add guidance to improve field discovery, then re-discover.Rule generation
Create, iterate, and publish rule rulesets. API key required. Anthropic key required for generation — see the bring-your-own LLM key note above for the preferredanthropic_key_env / anthropic_key_keychain forms.
aethis_create_ruleset
Create a new project with source text and test cases.project_id. Use this ID for all subsequent calls.
aethis_generate_and_test
Generate rules from source text and run all test cases. Takes 60–120 seconds.aethis_refine
Add optional guidance, then make the minimal edit to fix failing tests — seeded from the section’s active ruleset, keeping passing tests green — and re-run the full suite. This is incremental re-authoring: it does not rebuild the section from scratch (useaethis_generate_and_test for that). Available in aethis-mcp v0.9.0+.
aethis_generate_and_test — pass/fail count with test results.
aethis_add_guidance
Add a guidance hint without regenerating. Use to accumulate multiple hints before triggering a run.process_type controls which authoring phase the hint targets:
"rule_generation"— influences how rules are compiled from source text"field_extraction"— influences how input fields are discovered
adherence controls how strictly the LLM must follow the hint:
"exact"— must follow precisely"guided"— strong preference (default)"loose"— suggestion only
aethis_add_domain_guidance
Add guidance that applies to all projects in a domain — use for cross-section principles.aethis_list_guidance / aethis_list_domain_guidance
List all guidance hints for a project or domain.aethis_publish
Publish the current rule ruleset. Runs tests first — refuses if any fail unlessforce: true.
ruleset_id, version, and test pass count. Auto-deprecates the previous active ruleset.
aethis_review_project
Review an authoring project against the deterministic Authoring Coach rubric. 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; setcoach: true (with an Anthropic key) to add a coaching narrative on top. Available in aethis-mcp v0.13.0+.
next_skill to act on, and each check’s status, evidence, and a docs_url linking to the Review checks reference. Every check names an actionable_via lever (add test cases, run discovery, upload sources, …) so you know which tool call moves the needle.
Discovery and management
aethis_discover_rulesets
Browse the public showcase catalogue across all tenants. No API key required — the no-auth entry point for first-time discovery and demos. Returnsslug, ruleset_id, name (the human-readable section title), description, field_count, and rule_count for each; pass a slug or ruleset_id to aethis_decide / aethis_schema / aethis_explain. Distinct from aethis_list_rulesets, which is tenant-scoped.
aethis_list_rulebooks
List rulebooks — composed wholes that bridge multiple rulesets — in the current tenant. No parameters. Returnsrulebook_id, slug (e.g. aethis/uk-fsm), name, domain, status (draft / active / archived), version, outcome_logic (the composition Expr AST), ruleset_refs, and timestamps. Tenant-scoped — requires an API key. Pass a returned rulebook_id or slug to aethis_decide (as rulebook_id) or aethis_rulebook_schema.
aethis_rulebook_schema
Get the composition and aggregated input fields for a rulebook. Returns theoutcome_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. Call this before aethis_decide on a rulebook_id to know what field_values to supply.
aethis_list_projects
List all projects. No parameters. Returns project IDs, names, domains, and latest ruleset info.aethis_list_rulesets
List all rulesets for a project.aethis_archive_project / aethis_archive_ruleset
Permanently archive a project or ruleset. Archived items are preserved but excluded from listings and/decide resolution.