Arcaeon MCP server
io.arcaeon/arcaeon·v0.9.0A record of what an agent did that the agent cannot quietly rewrite, and a way for anyone to check.
0 stars198 downloads/wk
Reviews
Write oneNobody has reviewed Arcaeon yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Arcaeon tools (17, 1 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
_all_audit_fetch_gate_has_entrypointDoes this file actually SERVE? A module that defines a handler and never runs is a fragment, and asking a fragment where its audit trail is, is noise. Confessed as a gap: handlers in tools.py with run() in __main__.py are never asked the question.
_inline_is_tool_handlerIs `fn` registered as a tool handler by a decorator? `extra` adds spellings the caller accepts beyond the FastMCP set (see `_DISPATCH_DECORATORS`).
_readaddaudit_record_appliesWould `audit-record` ASK this file the question? True only for a file with tool handlers AND an entrypoint. An empty finding list means "all four gates met" for such a file and "question not applicable" for any other; a consumer that reads [] as a clean bill for a test file has graded a test file (the registry benchmark did, on its own first run, 2026-09-02).
decoget_fieldsledger_appendAppend one action record to the tamper-evident log at `path`.
ledger_createwrite actionOpen (or report) a tamper-evident, hash-chained action log at `path`.
ledger_verifyVerify the hash chain over the whole log file at `path`.
mainshow
Public scan report
scanner v0.1.9 · 2026-09-25 · same rubric, same numbers if you re-run it
- Code scan105 source files scanned15/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 0 days ago15/15
- Maintainer identitynamespace and repository owner differ; website matches verified namespace6/10
Findings (2)
- mediumsubprocess with shell=True
exec.shell-truearcaeon-0.9.0/src/arcaeon/prove/baseline/runner.py: …bprocess.run( self.cmd, shell=True, input=prompt, capture_output=True, …
- mediumeval / new Function used
exec.evalarcaeon-0.9.0/src/arcaeon/prove/vet/checks.py: …loads(arg) is as dangerous as one doing eval(arg). Resolved through the # same import…
How Arcaeon compares
Against every graded AI and agents MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 65/100
- higher than 25% of 4,460 AI and agents servers
- Tools
- 17
- the typical AI and agents server has 6
- Tools that change things
- 6%
- typical: 0%. Fewer write tools means less an agent can break
- Downloads a week
- 198
- more than 74% of 1,538 AI and agents servers with a package
What its tools let an agent do: 15 read · 1 create · 1 change
Install Arcaeon in Claude Code, Cursor or VS Code
claude mcp add arcaeon -- uvx arcaeon
What the publisher says
From the Arcaeon repository's README, as published. We do not edit it. Read it on GitHub
arcaeon
<!-- mcp-name: io.arcaeon/arcaeon -->
A record of what an agent did that the agent cannot quietly rewrite, and a way for anyone who doubts it to check.
Every row your agent writes is hash-chained to the row before it. Change a row, delete one, or swap two, and the check names the line where the chain breaks. Hand the file to someone else and they can run the same check without asking you for anything.
One package. One command: arcaeon .
Install
pip install arcaeonPython 3.10 or newer. The base install has zero dependencies. That means pip pulls in arcaeon and nothing else: no protocol SDK, no crypto library, no parser. Everything in the Record, Prove and Save lists below runs on the Python standard library. It also means no network on import. The hosted verbs open a connection when you run them, and so do a few options that say so: proxy --pin-witness, and receipt cite, which looks each citation up online. Everything else works offline.
The heavy parts are extras. Add only what you use:
pip install "arcaeon[mcp]"A 60-second first run
Log two rows, check them, change one word of history, check again. These are POSIX shell lines (on Windows, use Git Bash or WSL, or adjust the quotes).
$ arcaeon log agent.jsonl '{"tool": "search", "query": "weather"}'
<the new row's chain value>
$ arcaeon log agent.jsonl '{"tool": "send_email", "to": "ops"}'
<the new row's chain value>
$ arcaeon verify agent.jsonl
{
"verdict": "VERIFIED",
"ok": true,
"rows": 2,
...
(exit 0)
$ python -c "import pathlib; p = pathlib.Path('agent.jsonl'); p.write_text(p.read_text().replace('weather', 'sunshine'))"
$ arcaeon verify agent.jsonl
{
"verdict": "BROKEN",
"ok": false,
...
"first_break": "line 1: chain mismatch",
...
(exit 1)That is the whole idea. The edit was one word in the first row, and the check found it and named the line. Exit 0 means VERIFIED. Exit 1 means BROKEN. A CI gate can use the exit code alone.
What it did not catch: someone deleting the last rows. See Limits below, and arcaeon pin, which is the fix.
The verbs
Three families. The full reference, with usage lines and examples, is docs/VERBS.md.
Record: write down what happened
- log: add one JSON row to a ledger.
- verify: check a ledger's chain. VERIFIED, BROKEN or COULD NOT LOOK.
- receipt: issue or check a portable receipt someone else can verify.
- once: prove a side effect (a refund, an email) ran once, not twice.
- proxy: sit in front of an MCP server and record every tool call.
- pin: hand a ledger's current head to a witness, a local file or the hosted one.
- deal: a purchase recorded on both sides, step by step.
Prove: check what was written
- reconcile: line up two tapes of the same calls. MATCHED, MISSING, ALTERED or COULD NOT LOOK.
- audit: check a log, pin its head, or export it as one bundle.
- vet: read an MCP server's source and grade it. No code runs.
- badge: a free Markdown badge and JSON report for an MCP server.
- seal: the same badge, sealed by the hosted witness. Paid.
- baseline: score a fixed probe set before a change and again after.
- compact: check a receipt that says what a context compaction dropped.
Save: spend fewer tokens
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Arcaeon: common questions
- Is Arcaeon MCP server safe?
- With care: it is graded C, so read the findings first (65/100). Read the Arcaeon safety report
- How do I install Arcaeon?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Arcaeon need an API key?
- Yes. The registry entry asks for
ARCAEON_KEY. - Is Arcaeon maintained?
- The last commit was 40 days ago (2026-09-25). The latest release is v0.9.0.
- What can I use instead of Arcaeon?
- Servers from other publishers that do the same job: three.ws Provenance MCP server, Mockserver MCP server and CHAP Coordinator MCP server.
- How does Arcaeon compare with other AI and agents MCP servers?
- safety score 65/100 (higher than 25% of 4,460 AI and agents servers); tools 17 (the typical AI and agents server has 6); tools that change things 6% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Arcaeon
Same job from other publishers: the closest match first, then the best rated.
- three.ws ProvenanceAppend-only, signed, on-chain-verifiable agent action log — record and audit what agents did.not reviewedEstablishedB
- MockserverMock, record/replay, verify and chaos-test any HTTP, REST, gRPC or LLM dependency over MCP.not reviewedEstablishedA
- CHAP CoordinatorAuditable records of human decisions over AI agent work. Approvals, edits, overrides, escalations.not reviewedEstablishedA
- KilnSpawn an object into existence: describe it, and your agent designs it, checks it, and 3D prints it.not reviewedEstablishedB
- Vibe CheckMetacognitive AI agent oversight: adaptive CPI interrupts for alignment, reflection and safetynot reviewedEstablishedB