Listed from the MCP registry; nobody on Odel publishes it.
Local MCP server that copies selected files into an evidence packet while the agent holds authority
Runs on your machine from its package; the steps are below.

Not assessed yet.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
npx -y @ramex-labs/irontrellis-mcp
MCP client config
{
"mcpServers": {
"irontrellis-evidence": {
"command": "npx",
"args": [
"-y",
"@ramex-labs/irontrellis-mcp"
]
}
}
}
Agents change. The structure holds.
Authority, duties and succession for AI agents.
IronTrellis (formerly Continuity) is open-source software that keeps a checkable, append-only record of authority for AI agents. It records grants, revocations and duties; answers whether an action is allowed, denied or cannot be decided, and why; and shows which duties survive when an agent is replaced. It works alongside policy engines such as Cedar and OpenFGA rather than replacing them.
This is 1.0.0-rc.2.3, history format 2, a release candidate: 1.0.0-rc.2 with dependency fixes and security fixes (CHANGELOG). Its first worked example is anchored on Etherlink mainnet: chapter 1, an agent-authority scenario that plays out as a storyboard, ten working days of an AI assistant at an invented company, including a refused attempt to copy files out. Finality for that record is reported by nodes we chose. A stronger mode, consensus-verified anchoring, is defined and partly vectored but is not part of this release, because the code that confirms finality against independently run Tezos nodes is not finished yet. Installation checks and passing tests do not establish production readiness, public deployment or certification.
Warning (releases 1.0.0-rc.2 to 1.0.0-rc.2.3): don't re-run
irontrellis migrateagainst a history that has already been migrated and used. These releases delete and rewrite the migrated history, losing any events recorded after the migration. Fixed in the next release.
| If you want to | Go to |
|---|---|
| Try it with your own coding agent | The agent hook runs Claude Code, OpenAI Codex CLI or Cursor under IronTrellis. To see it first, run the demo in See it work. |
| Read the model and the format | The specification and the conformance suites |
| Check the claims | How IronTrellis was tested, the published Lean proofs and why we check IronTrellis with Lean |
| Read our IETF proposal | Replayable Authority Histories for Auditing Automated Agents, the model written up as an Internet-Draft: a public proposal to the Internet Engineering Task Force (IETF), offered for discussion in its AUDIT effort (Agent Use of Delegation and Interaction Traceability). See docs/ietf |
| Understand how it was built | How this is built and the historical reviews |
| Set it up for an organization | The Commissioning Disclosure, read and signed before commissioning, and the Install Checklist |
| Know why it exists | Why IronTrellis, why now and the origin of IronTrellis |
An AI agent acts on authority that changes while it runs. Later, someone asks about one of its actions: was it allowed, at that moment, and on whose authority? Logs record what a system says it did, but rarely the authority the answer depends on. IronTrellis records the authority itself, in a signed, replayable history:
| The difficulty | What the history records |
|---|---|
| Authority changes while agents run | Each grant and revocation, owner-signed, in order |
| A session, an agent and its role can each be replaced | Sessions, agents and roles as separate records |
| Refusals and unfinished work matter too | Refusals, and duties that survive a replacement |
Use Node.js 22.18 or later.
The quickest way to see it is from npm:
npx irontrellis@next demo
To build it from source instead, get the code and let Node's corepack fetch the pinned pnpm version:
git clone https://github.com/zerohourzulu/irontrellis.git
cd irontrellis
corepack enable
pnpm install
pnpm -r build
node packages/cli/bin/irontrellis.mjs demo
The demo plays this story:
flowchart LR
G["Owner grants bea<br/>read and collect<br/>on incident:42"] --> R["bea reads incident:42<br/>ALLOW, recorded"]
R --> D["bea records duty:42:<br/>review the material"]
D --> H["bea is replaced<br/>by alex"]
H --> S["duty:42 passes<br/>to alex"]
H --> N["bea's grant<br/>does not follow"]
linkStyle 2,3 stroke:#E8692A,stroke-width:2px
It then asks three questions, and prints commands to ask them yourself:
| Question | Command: what it answers |
|---|---|
WHY was bea allowed to read incident:42? | why: the recorded grants behind a decision |
| Who is RESPONSIBLE for that action now? | responsible: who is attributed for an action, then and now |
| What SURVIVES bea? | survives: what outlives an agent (tenures, duties, intents) |
Asked again now, WHY answers DENY: bea's termination ended her authority; the record of what was allowed then is unchanged. An answer describes a captured history. An ALLOW answer is not a credential for a later dispatch.
The demo creates synthetic state. For a real integration, read the operator guide, API and security boundaries before choosing identities, signers and dispatch handlers. In every deployment:
History format 2 includes signed runtime sessions, authority and budgets, checkpoints and export views, refusals, counterparty records, reconciliation observations, and duties with handover and disposition.
Owner approval policies set how many owner signatures a change needs: M-of-N thresholds per type of change, power reduction by effect (PR_eff), separation of credentials and recovery using committed next keys. Replay honors a recovery rotation, but this release ships no tool that writes one: a deployment that sets recovery and loses its quorum needs an external producer of the event, which this release neither ships nor documents (known issue 24; owner policies). The writer is planned after this release.
The attestation policy for PHL, Proof of Human Lineage, ships in 1.0.0-rc.2. The ATTESTED profile includes lapse, restoration and T1/T2 time bounds. It establishes the specified relationship to accepted attestation evidence; a key's declared class alone does not prove a physical human or a person's legal identity. See the format guide and owner-policy reference.
Publishing 1.0.0-rc.2 releases format 2. A history it writes keeps its verdicts: later versions read it exactly as 1.0.0-rc.2 does, or refuse it; rule fixes after 1.0.0-rc.2 come as a new format. Format 2 as released means challenge profile g3; the frozen-r2.3 profile only verifies the frozen conformance vectors. Existing histories retain their own profile; migration is explicit.
| Surface | Purpose |
|---|---|
| Core and CLI | Signed history, replay, authority, queries, storage and explicit control operations |
| Hooks | Host integration; the same OS account is not an isolation boundary |
| MCP gateway | Fixed upstream tools, retained attempts, cooperative execution, HTTP and Tasks subpaths |
| Witness | Separately operated retention and comparison of authenticated heads |
| Remote SDK / remote tools | Format-2 cooperative destination, transfer, recovery and tools |
| Managed agents / agent shims | Trusted execution adapters and framework approval/resume bindings |
| Policy composition | Cedar/OpenFGA examples alongside native authority |
| Evidence integrations | Protected evidence MCP and LangChain tools |
The packaged Python verifier/evaluator is frozen at 1.0.0rc1 and the legacy/format-1 boundary; it refuses format 2 with UNSUPPORTED_VERSION and is not a writer. The separate spec-only format-2 checker is advisory. Do not infer whole-format parity from either name or a finite set of passing examples.
scripts/verify-install.mjs reports 71 passed, 0 failed, 0 skipped. The install check also needs python3 and its venv module (on Ubuntu: apt install python3 python3-venv); see platforms. These are build checks, not production qualification. Conformance identifies the suites and their limits; benchmarks separates historical format-1 measurements from current format-2 claims.Read the threat model for the chosen deployment and keep its trust assumptions explicit.
Run the demo, then check its history with the verify command it prints. To report a vulnerability, see SECURITY.md; to contribute, CONTRIBUTING.md; to build your own checker from the text, conformance/IMPLEMENTERS.md.
Last reviewed: 24 October 2026. This page is revisited at each release.