Skip to main content
Aethis has exactly two access tiers. Everything on this site belongs to one of them, and every page says which before you start.
Generation steps send your source text to a model provider using your own key, passed per request in an X-Anthropic-Key header and never stored. Nothing on the evaluate tier calls a model at all — decisions run against pre-compiled rules.

What a 401 or 403 means

An authentication error on this API is a statement about which tier you are in, not a bug in your request. The full status table, including the blocking-error contract, is on the REST API page.

Published packages

Four interfaces call the same engine. These are the versions the registries resolve today. The REST API needs no package at all — see REST API.

MCP tool inventory

The MCP server (io.github.aethis-ai/aethis-mcp) exposes 32 tools: 7 are reachable with no Aethis API key (read-only evaluation and discovery) and 25 need an invite-only authoring key. Access is the tier a tool belongs to. “Any origin, hybrid” marks a tool whose common path is open but which has a narrower key-guarded path as well — aethis_graph renders a public ruleset map anonymously, but a rulebook map requires a key. Effect reproduces the readOnlyHint / destructiveHint annotations the server declares for each tool.
Treat the Effect column as a hint, not a safety boundary. It reports what the server declares about a tool, and a declaration can be wrong — a tool that spends your model-provider key and persists its result to your project can still be declared read-only. If your agent host gates approval on these annotations, do not rely on them alone to decide what may run unattended. Gate on the Access column as well, and treat every API-key tool as capable of writing.
Parameters, request shapes and worked examples for each tool: Tools reference.

How these numbers stay true

The table above is not maintained by hand. scripts/gen_capability_inventory.py builds generated/capability-inventory.json from three checked upstream sources — the MCP server’s own generated tool-inventory.json, its TOOL_CAPABILITIES registry (which its test suite pins against the handlers that actually require a key), and the PyPI and npm registries. A CI check re-renders these regions on every pull request and fails if a page has drifted from the artefact, or if any page reintroduces a hand-typed tool count.