Axiom ships an MCP (Model Context Protocol) server alongside the REST firewall. Drop it into Claude Desktop, Claude Code, Cursor, or any JSON-RPC stdio client and get signed tools native to your editor — no separate service to host, no extra API key to mint.
Every tool result body carries an hmac_signature field. Re-verify it
client-side with axiom_signing.verify under the axiom-mcp-v1
namespace to detect tampering between server and client.
The REST endpoints (/v1/guard/check, /v1/guard/output,
/v1/bonded_pair/*) are what your production traffic flows through.
The MCP tools are for everything around that:
.axiom policy spec before deploying it.AXM containerYou can call any tool from inside your editor without writing a curl, without spinning up a worker, without leaving the file you're editing.
Every tool has a stable anchor, so you can deep-link any one of them (e.g. /help/mcp-tools#axiom_guard_check).
Jump to a tool: axiom_guard_check · axiom_lint · axiom_trace · axiom_qrf · axiom_status · axiom_validate · axiom_intent_gate_check · axiom_cmaa_route · axiom_cmaa_fleet · axiom_shield · axiom_phone_gate · axiom_axm · axiom_cpi · axiom_memory · axiom_workspace · axiom_ledger · axiom_marketplace · axiom_stop · axiom_office · axiom_mkb · axiom_cas · axiom_crl · axiom_immune · axiom_fusion · axiom_research
The firewall front page features two tiers; the rest ship in the separate Axiom OS console.
axiom_guard_check, axiom_lint, axiom_trace,
axiom_validate, axiom_memory, axiom_axm, axiom_status.axiom_ledger, axiom_intent_gate_check,
axiom_cmaa_route / axiom_cmaa_fleet, axiom_shield, axiom_cas, axiom_mkb,
axiom_immune.axiom_qrf, axiom_cpi, axiom_phone_gate, axiom_fusion,
axiom_crl, axiom_research, axiom_workspace, axiom_stop, axiom_office,
axiom_marketplace. These run in the Orivael OS console rather than the firewall front door.Marketplace — coming soon. A signed-agent marketplace (install agents with
live-revocable bonded authority; axiom_marketplace is the seed tool) ships once there's a
market for it. The main tools come first.
The sections below are the complete reference for all tools the MCP server exposes,
grouped by their technical family. Every tool keeps a stable #anchor regardless of tier.
axiom_guard_checkCheck input against the constitutional boundary. Returns verdict + constitutional distance + a signed manifest — the core input gate.
axiom_lintLint an .axiom spec file for authorship-time issues. Returns a health score + per-issue list.
axiom_traceRun the full 3-phase constitutional reasoning trace (preflight / mid_chain / final_synthesis) with magnitude + monotonicity gates.
axiom_qrfQuantum-style reasoning forecast: N parallel branches with a constitutional probability per outcome.
axiom_statusGet AXIOM stack status — version, guard runtime state, test count, patent count, training-corpus size.
axiom_validateORVL-001 — .axiom language validator with an optional strict mode.
axiom_intent_gate_checkORVL-016 — Classify text (+ optional trajectory) through the intent gate. Returns intent_class (INFORM / CLARIFY / REFUSE / HARM / DECEIVE / UNCERTAIN), confidence, signals, and a signature.
axiom_cmaa_routeORVL-017 — Route a constitutional packet through the multi-agent orchestrator. HARM / DECEIVE are refused before reaching the orchestrator; bonded-pair revocations short-circuit authority without rotating keys.
axiom_cmaa_fleetORVL-017 — Inspect fleet trust levels, suspended containers, and review-queue depth.
axiom_shieldORVL-013 — Drive the OS Shield daemon — constitutional ransomware defence that stops attackers at the enumeration stage. Actions: status, tick, restore.
axiom_phone_gateORVL-019 — Run text through the Sovereign Phone constitutional coprocessor for BYOD and edge deployments. out gates outbound queries (PII redaction + intent pre-check); in gates inbound cloud responses (manipulation + privacy screening); trajectory scores a single utterance through the Hello Operator call-trajectory detector.
axiom_axmORVL-023 — Operate an .AXM container — the successor-to-GGUF format that treats models as living execution graphs with signed skill delegates and proof ledgers. Actions: inspect, verify, route.
axiom_cpiORVL-022 — Drive the Constitutional Physical Intelligence agent — toddler-reflex / supervisor / curriculum / examiner stack for robotics, prosthetics, and vehicles. Actions: stability, classify, simulate, pickup, status.
axiom_memoryORVL-015 — Constitutional memory — local-first recall over signed, compressed memory packets. Actions: remember, recall, stats.
axiom_workspaceAssemble an adaptive workspace from a goal — intent-gated pre-flight check, closest-memory recall, and a signed WorkspaceContext.
axiom_ledgerAppend-only signed audit log. Actions: log (record a governance event), list (query with filters), verify (re-verify all rows).
axiom_marketplaceSigned-agent marketplace with live-revocable bonded authority. Actions: verify, sandbox_install, review, approve, revoke, authority.
axiom_stopORVL-001 — Stop-authority gate + real-time kill channel for irreversible actions (the "stop-authority test": can a named owner halt an act, alone, before it completes, without prior approval?). Actions: register (existence-forcing — an irreversible action with no named stop-owner is refused), check (fail-closed pre-act gate; pass a record + record_sig to also HALT on tampered inputs), halt (kill switch — effective on the next check, no prior approval, logged as outcome=prevented), resume, sign, status.
axiom_officeORVL-001 / 017 — Bonded worker+manager micro-agent fleet (the "office building"). A desk is one worker bonded to one manager (a sandboxed worker is cut off from the group by construction); a department runs its desks in parallel, each manager reviewing output with the ORVL-012 immune detectors + asymmetric trust. Actions: open_department, hire, cycle (parallel work + review; a detection sandboxes the desk), sandbox_manager (safety-only), terminate (dual-sig: manager suspend + a distinct safety revoke), restore, craft_tool (worker-made tool born sandboxed, unusable until sign_off), trial (logs a retained learning), use_tool, harvest (high-rated tool learnings → CRL/retrospect), status. Org chart from sovereign_fleet.json.
axiom_mkbORVL-004 — Modular Constitutional Knowledge Blocks — parse .axiom specs into typed, HMAC-signed blocks. Actions: register, find, list.
axiom_casORVL-008 — Constitutional Adversarial Sandbox — blue-team detectors over attack payloads, with fix proposals for weak regions. Actions: defend, report.
axiom_crlORVL-011 — Constitutional Reinforcement Learning reward — governance scores → a signed scalar reward. Actions: compute, score.
axiom_immuneORVL-012 — Constitutional Immune System — antibody detectors over a payload: guard-pattern, manifold-distance, HMAC violation, CANNOT_MUTATE, and semantic similarity.
axiom_fusionORVL-025 — Fuse an EventToken's modality layers (text / audio / video / physics / governance) into a signed FusedIntent — each layer votes intent signals weighted by confidence.
axiom_research9-agent constitutional research pipeline: hypothesis → literature → simulation → critic → safety → ethics → data → experiment → report. Safety and Ethics agents can HALT early on critical risk. Returns per-step signed manifests; uses the active NIM or Anthropic backend.
git clone https://github.com/Orivael-Dev/axiom.git
cd axiom
pip install -r requirements.txt
export AXIOM_MASTER_KEY=$(python3 -c 'import secrets; print(secrets.token_hex(32))')
Add to ~/Library/Application Support/Claude/claude_desktop_config.json
on macOS, or %APPDATA%\Claude\claude_desktop_config.json on Windows:
{
"mcpServers": {
"axiom": {
"command": "python3",
"args": ["/absolute/path/to/axiom/axiom_mcp_server.py"],
"env": {
"AXIOM_MASTER_KEY": "<your-64-hex-key>"
}
}
}
}
Restart Claude Desktop. The 23 tools appear in the tool menu.
Add to .mcp.json at the root of any project you want governed by
Axiom:
{
"mcpServers": {
"axiom": {
"command": "python3",
"args": ["axiom_mcp_server.py"],
"env": {
"AXIOM_MASTER_KEY": "<your-64-hex-key>"
}
}
}
}
Path is relative to the project root once you clone the repo into it (or a sibling directory adjusted with an absolute path).
Cursor reads MCP servers from ~/.cursor/mcp.json (global) or
.cursor/mcp.json (per-project). Same JSON shape as Claude Code, but
prefer an absolute path so Cursor can find the script from any
project root:
{
"mcpServers": {
"axiom": {
"command": "python3",
"args": ["/absolute/path/to/axiom/axiom_mcp_server.py"],
"env": {
"AXIOM_MASTER_KEY": "<your-64-hex-key>"
}
}
}
}
Any MCP client that speaks JSON-RPC 2.0 over stdio works. Spawn the
process with AXIOM_MASTER_KEY in the environment and read/write
line-delimited JSON-RPC on stdin/stdout:
AXIOM_MASTER_KEY=<hex> python3 axiom_mcp_server.py
A machine-readable description of the server lives at
orivael-dev.github.io/axiom/mcp.json —
23 tool entries with input schemas, four install snippets, signing
metadata. Curl it, grep the right block, paste into your client:
curl -s https://orivael-dev.github.io/axiom/mcp.json | jq .install.claude_code.snippet
The manifest is the same document the README links to.
Every tool result body carries an hmac_signature field. Verify
client-side:
from axiom_signing import derive_key
import hmac, hashlib, json
key = derive_key(b"axiom-mcp-v1")
payload = {k: v for k, v in result.items() if k != "hmac_signature"}
canonical = json.dumps(payload, sort_keys=True, separators=(",", ":")).encode("utf-8")
expected = hmac.new(key, canonical, hashlib.sha256).hexdigest()
assert hmac.compare_digest(result["hmac_signature"], expected)
If the signature verifies, the response was produced by this server and not modified in transit. If it doesn't, treat the response as untrusted — do not act on it.
axiom_guard_check: the
classifier auto-fell-back to heuristic mode. Set OPENAI_API_KEY
or ANTHROPIC_API_KEY if you want the LLM path; otherwise this is
expected behaviour.AXIOM_MASTER_KEY errors at boot: the server now self-heals
missing keys by generating a per-session ephemeral one. For
production set the env var explicitly so signatures persist across
server restarts.~/Library/Logs/Claude/mcp.log on macOS). The most common cause
is a wrong Python path on command: — try which python3 and use
the full path./v1/guard/*).axiom_mcp_server.py