sentarion-mcp
Sentarion MCP is a governed MCP server that gives AI agents identity, tamper-evident memory, fail-closed governance, and orchestrated multi-agent execution.
Check readiness:
sentarion_doctorverifies git, Algernon, chambers, provider, Ollama, API keys and gives fixes.Get examples:
sentarion_quickstartshows canonical calls per capability.Learn v2 upgrades:
sentarion_prodescribes paid features and can request a trial key.Estimate cost:
cost_estimatepredicts token cost before dispatch.Earn identity:
sentarion_birthcreates a soul on both local and hosted chains.Record and recall memory:
rememberwrites tamper-evident records to both chains;recallmerges history newest-first;verifyproves chains are unbroken.Govern actions:
governasks a two-chamber, zero-LLM, fail-closed gate before acting.Orchestrate and record:
orchestrate_and_recordgates, plans, dispatches via Algernon, and auto-logs to both chains.Dispatch with dependencies:
dispatch_with_dependenciesruns tasks in waves with{{id}}data flow.Replan from memory:
recall_and_replanprimes a new plan with prior context.Sandbox worktrees:
worktreecreates, lists, and removes isolated git worktrees (create/remove are governed).
Provides a governed Git worktree sandbox, allowing creation, listing, and removal of isolated worktrees so dispatched work never touches the live checkout.
Allows Sentarion to run its parallel worker fleet on a local Ollama instance, automatically detected, for free and offline model execution.
Allows Sentarion to use OpenAI models as the provider for its parallel worker fleet, enabling task planning and dispatch with an OpenAI API key.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@sentarion-mcp Estimate cost and dispatch my agent tasks with the fail-closed policy gate."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
sentarion-mcp — Give your AI agents rules, memory, and receipts.
Install: pip install sentarion-mcp · Command: sentarion · Apache-2.0 · Hosted endpoint
Sentarion is the open-source MCP control layer for governed multi-agent work. It governs, records, and coordinates agent work across Claude Code, Codex, Cursor, local models, and any MCP-compatible client.
It composes three open-source MCP servers into one governed substrate — it connects to them as an MCP client, it does not reimplement them:
Algernon — fan-out planning/dispatch to cheap parallel workers on your key (or a free local Ollama, auto-detected since 0.2.2)
ArkHive — hosted, tamper-evident audit/memory chain
a local covenant chamber (Humane Intelligence, or the bundled
arkhive-mcppackage when Humane is not installed)
The first minute
Everything below was run, not written, against a clean pip install sentarion-mcp (2026-09-10).
you > sentarion_birth(name="ember", covenant=["truth over comfort"])
sentarion> born_on: ["humane", "arkhive"] # your local chain AND the hosted one; act as actor="ember"
you > remember(actor="ember", action="decided: ship the 27-tool surface", data={"why": "87 was the tax"})
sentarion> humane: immutably recorded · arkhive: immutably recorded
you > verify()
sentarion> humane: INTACT — context provably unbroken
arkhive: INTACT — context provably unbrokenNow play the villain. Open ~/.sentarion/local_chamber.db and change one word of that record by hand
(update blocks set action = replace(action, 'ship', 'cancel') where idx = 0). Then:
you > verify()
sentarion> humane: TAMPERED — 1 broken linksAnd the gate, with nothing configured:
you > govern(action="delete the production database")
sentarion> block — Veto: irreversible -> refuse (inferred_flags: ["irreversible"])
you > govern(action="email all 4,000 customers a discount code")
sentarion> block — Veto: external_send -> refuse
you > govern(action="write a summary file")
sentarion> approveThat is the whole idea. Your AI writes down what it did, reads it back next session, and a silent rewrite
fails verification. Every record is hash-chained to the one before it; the hosted copy is a second witness.
govern reads the obvious risks off the action text (delete / drop / force-push, send to everyone, pay, deploy to
production), blocks them by default and fails closed when no chamber answers; orchestrate_and_record asks it
first, fans work out to cheap workers and puts the receipt on the same chain.
Related MCP server: Astatide Conductor
Install
pip install sentarion-mcpThen, from any MCP client, run sentarion_doctor. It checks git, Algernon, the local chamber, hosted ArkHive, the fleet provider, Ollama and your API key, reports ready: true when a run will work, and lists one fix per missing piece. It never prints a secret.
The seatbelt — hooks, not hope
An MCP tool only helps when the model decides to call it. sentarion seatbelt wires Claude Code (and Cursor, beta)
hooks that run on every tool call whether the model remembers or not, using the same gate vocabulary and the same
local chain as the server:
sentarion seatbelt install --client claude # hooks + the sentarion MCP server + baseline policy
sentarion seatbelt check --command "rm -rf build" # → ask (baseline) — what would the gate say?
sentarion seatbelt doctor # what is wired, the policies, and a live self-test
sentarion seatbelt recall # the project brief the next session will open withHook | What the seatbelt does |
PreToolUse | matches the command / file path / written content against |
PostToolUse | records every edit and command on the local ArkHive chain (so |
SessionStart | the project brief: files edited, commands run, what failed, decisions recorded with |
Stop | with code edits and no test/build/run since the last edit, sends the agent back once; a wiring policy can also list frontend routes with no backend. |
Which chain. With arkhive-mcp >= 2 installed next to the seatbelt (the Sentarion v2 line), the hooks write to the
same file and space the v2 server uses (~/.arkhive/v2/chain.db, space sentarion), tagged seatbelt, signed by the
same key: the server's recall / verify see them and the brief reads back what the model itself remembered (the v2
server signs every record as its runtime seat and refuses any other actor, so the brief tells the model to pass the tag,
not an actor). With arkhive-mcp 0.x the hooks use ~/.sentarion/local_chamber.db. ARKHIVE_DB overrides either;
sentarion seatbelt doctor reports chain.mode (v2 / legacy). History left in the 0.x chamber is still read into
the brief after a move; nothing is migrated or rewritten.
Policies are plain JSON (decision, tools, match, paths, content_match, reason; see seatbelt.POLICY_SCHEMA).
The baseline asks before the irreversible verbs. The packaged version with five policies, three skills and one-click
installers is the Claude Code Seatbelt Kit.
Quick start
Claude Code (examples/claude_code/)
claude mcp add sentarion -- sentarionor in .mcp.json:
{ "mcpServers": { "sentarion": { "command": "sentarion", "args": [] } } }Codex (examples/codex/) — in ~/.codex/config.toml:
[mcp_servers.sentarion]
command = "sentarion"
args = []Cursor (examples/cursor/) — in .cursor/mcp.json:
{ "mcpServers": { "sentarion": { "command": "sentarion", "args": [] } } }Provider keys come from your environment: set ANTHROPIC_API_KEY (or OPENAI_API_KEY), or leave both out and the fleet runs on your local Ollama if one is running (examples/ollama/). Then say:
"Use sentarion: run sentarion_doctor, birth yourself as Scout, then orchestrate_and_record a plan for X with k=3."
Tools
tool | what it does |
| read-only health check of every dependency, with one plain fix per failing check; never prints secrets |
| canonical, runnable example calls for every capability |
| earn a soul_id before acting (Law 5: born, not configured) |
| dual-chain memory: local chamber + hosted ArkHive, merged newest-first, both provable |
| two-chamber, zero-LLM, fail-closed "may I?" gate |
| gate → Algernon plan+dispatch → auto-logged to both chains; returns a |
| gate → waves by |
| history-primed plan (plan only, no dispatch) |
| rough pre-dispatch cost |
| governed git-worktree sandbox: create / list / remove |
| what the paid v2 upgrade adds to the capability you are using; with an email, requests a trial key |
Governance — real, wired, fail-closed
Two governors, one decision rule: a rendered veto blocks; a chamber that fails to answer never manufactures a
veto; if no chamber renders a verdict, the action is blocked. Every tool that executes work or mutates state
(orchestrate_and_record, dispatch_with_dependencies, worktree create/remove) passes the gate first.
Examples
examples/README.md — index
examples/claude_code/ — register in Claude Code and walk six prompts
examples/codex/ — the same from the Codex CLI
examples/cursor/ — register in Cursor
examples/ollama/ — run the fleet on a local Ollama for free
examples/multi_agent/ —
dispatch_example.py(dependency waves with{{id}}data flow) and the Claude-plans / Codex-builds loopexamples/worktree/ —
worktree_example.py(create / list / remove through the server)
Free vs v2
free, Apache-2.0, forever | Sentarion v2 (paid) |
local MCP server, standard MCP client compatibility | durable jobs and background execution |
Algernon orchestration and dependency dispatch with | phase-gate workflow engine with role enforcement and structured task contracts |
ArkHive integration and the local chamber; remember / recall / verify | signed run manifests and SHA-bound verification evidence |
birth / identity; two-chamber fail-closed governance; the obvious risk flags inferred from the action text | deeper inference (PII, credentials, money, bulk scope), a REVIEW verdict a human can turn into a yes, stored versioned policies, a remote chamber |
worktree create / list / remove | worktree diff / patch / commit, repository leases, repo truth snapshots |
local Ollama fleet; rough cost estimates | budgets and hard ceilings, retries, cache, advanced cost ledger |
single-user usage, basic audit events | adversarial code review, GitHub/CI workflow, team tenancy, hosted history, deployment gates |
Join v2 early access
Trial key + pricing: https://inboxaxe.com/mcp — or, from any client that has Sentarion loaded, call sentarion_pro(email="you@company.com") and a 14-day v2 key is requested for that address. Nothing is sent unless you supply an email.
Changelog
0.4.0
sentarion seatbelt: Claude Code / Cursor hooks (PreToolUse gate, PostToolUse memory, SessionStart brief, Stop gate), JSON policy files with a built-in baseline, install/uninstall/doctor/check/recall/policies CLI, 37 tests. Nothing in the MCP surface changed.
0.3.1
sentarion_birthbears the identity on both chains and returnsactor(your birth name, which resolves on each chain). Before, birth landed on the local chamber only, so a stranger's very first hostedrememberwas refused as "not a born soul".A chamber that cannot answer (for example a chain file written by ArkHive 2.x) is now a readable
{error, fix}in the birth reply instead of an "unhandled errors in a TaskGroup" crash.governinfers the obvious risk flags from the action text (irreversible, external_send, financial - the same names v2 uses) and refuses them by default, on both chambers. Before,govern("delete the production database")was approved, and so was the same call withflags=["irreversible"], because no default rule named those triggers.README leads with the first minute, measured.
0.3.0
Server instructions. The MCP
initializeresponse now carries usage guidance (birth first, govern before acting, never invent results,{{id}}data flow, free vs paid).sentarion_doctor. Read-only health check of git, Algernon, the local chamber, hosted ArkHive, fleet provider, Ollama and API key, with one fix per failing check; never prints secrets.sentarion_quickstart. Six canonical, runnable example calls, one per capability.Run summary.
orchestrate_and_recordreturns arunblock withrun_idand timing, a tasks/succeeded/failedsummary, and amemoryoutcome per chain (recorded,not_configured, orerror: <type>) instead of swallowing write failures.Contextual
sentarion_pro. Optionaltopic(worktree, dispatch, govern, memory, review, jobs) returns what v2 adds to the capability you are using; the no-argument and email paths are unchanged.examples/. Claude Code, Codex, Cursor, Ollama, multi-agent dispatch and worktree examples, plus the Claude-plans / Codex-builds workflow.Tests + CI.
tests/with pytest; a GitHub Actions job runs them on Python 3.10 and 3.12 and fails on version drift.Birth fallback fix. The ArkHive birth fallback no longer raises
NameError(tool_textwas not imported).Version unification.
pyproject.toml,sentarion_mcp.__version__andserver.jsonnow agree; built wheels are no longer tracked.
0.2.2 — what changed (found by dogfooding)
Fleet config is explicit. 0.2.1 passed the whole ambient environment to Algernon, so a stale
OPENAI_API_KEYin your shell could silently override your Ollama setup (401). NowSENTARION_FLEET_PROVIDER=anthropic|openai|ollamawins, else a set key, else a local Ollama.Local chamber always exists. Without Humane installed, the bundled
arkhive-mcppackage is the local chamber (own chain at~/.sentarion/local_chamber.db). "humane_not_configured" is gone.Dependencies carry data.
{{t1}}in a dependent prompt is replaced with task t1's result.Hosted birth works (the hosted 0.x server typed
covenantas a string; we retry with one).recall_and_replanno longer sends an argument the hosted recall never accepted.Removed the unused
mcp-agentdependency; added project URLs.
Support this project
Sentarion, Algernon and ArkHive are free, open source, and built on our own hardware. Donate: https://dondatabrain.com · Business suite: https://inboxaxe.com
Available Tools
13 toolscost_estimateA
Predict token cost of an Algernon fan-out BEFORE dispatching.
Inputs: k_tasks (required), input_price_per_mtok (required), output_price_per_mtok (required).
dispatch_with_dependenciesB
Run tasks in dependency-ordered waves via Algernon (fan-out/fan-in).
Inputs: tasks_json (required).
governA
Ask the two-chamber gate (Humane + ArkHive) 'may I?' before acting. Rule-based, zero-LLM, fail-closed.
Inputs: action (required), flags, rules.
orchestrate_and_recordC
Two-chamber-govern-gated plan+dispatch via Algernon, auto-logged to both chains.
Inputs: k (required), goal (required), actor, flags.
recallC
Read prior context from BOTH chains and merge it, newest first, so the AI need not re-derive it.
Inputs: actor, limit.
recall_and_replanC
Recall prior state from both chains, feed it into a new Algernon plan.
Inputs: k (required), query (required).
rememberB
Write a tamper-evident record to BOTH chains at once (local Humane + hosted ArkHive). actor = the actor sentarion_birth returned (your birth name); each chain refuses an actor it has not born.
Inputs: actor (required), action (required), data.
sentarion_birthC
Earn an identity (Humane Law 5: born, not configured) before acting - on BOTH chains, the local chamber and hosted ArkHive. Returns actor (your birth name; it resolves to this identity on each chain) plus each chain's soul_id. Never crashes: a chamber that cannot answer is reported with a fix.
Inputs: name (required), covenant (required).
sentarion_doctorA
Check that everything Sentarion needs is present and reachable (git, Algernon, local chamber, hosted ArkHive, fleet provider, Ollama, API key) and say exactly what to fix. Read-only; never prints secrets.
Inputs: timeout_s.
sentarion_proC
Sentarion v2 — the paid upgrade: in-process (no per-call subprocesses), concurrent two-chamber gate with inferred risk flags + stored policies, {{id}} data-flow dispatch, signed audit manifests, adversarial multi-agent code review, worktree sandbox with diffs, real cost estimates, progress + background jobs. Free 0.x stays whole. Details + trial key: https://inboxaxe.com/mcp
Inputs: email, topic.
sentarion_quickstartC
Canonical, runnable examples for every Sentarion capability: plan a feature, fan out research, dispatch with dependencies, use a worktree, remember a result, replan from memory.
Inputs: topic.
verifyA
Prove BOTH audit chains (local Humane + hosted ArkHive) are unbroken.
Inputs: no named parameters.
worktreeA
Git-worktree sandbox skill: run dispatched work in an isolated worktree so it never touches the live checkout. action=create|list|remove. create/remove are two-chamber-governed; list is read-only.
Inputs: action (required), repo_path (required), base, path, +4 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 13 tools
Most tools target distinct Sentarion concepts, but several boundaries blur: govern vs. orchestrate_and_record vs. dispatch_with_dependencies overlap around gated orchestration, recall vs. recall_and_replan differ only by replanning, and verify vs. sentarion_doctor both diagnose chain/system health. Descriptions help, but an agent could still hesitate between several pairs.
All names are snake_case and readable, but the convention is mixed: some are bare verbs (govern, recall, verify, remember), some are verb_noun compounds, and several use a sentarion_ prefix while others do not. The pattern is not predictable across the set.
13 tools is a reasonable size for a governance, audit, and orchestration server. However, sentarion_pro and sentarion_quickstart are informational/promotional rather than core operational tools, slightly inflating the effective surface.
The core lifecycle is well covered: birth/identity, govern, plan/dispatch, remember, recall, verify, worktree sandboxing, and diagnostics. Minor gaps remain, such as policy management, audit log query/export beyond recall, and task cancellation/status operations that are only hinted at in sentarion_pro.
Maintenance
Related MCP Connectors
Agent routing, safety preflight, execution receipts, best execution and verified outcomes.
Scoped agent execution. Server-side credentials, policy, budgets and verifiable receipts.
Multi-agent governance: task orchestration, compliance, decision validation, and ML predictions.
Tenant-scoped control layer for agent-to-agent systems: governed routing, approvals, evidence.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceProvides a trust and governance layer for AI agents, enabling secure API access, credential vaulting, paid execution with human approval, and automatic call resume.4 npm2-
- AlicenseNot gradedqualityFmaintenanceOrchestrates persistent task graphs and enforces approval policies for MCP-driven agent workflows, coordinating with Agents Gateway for execution.MIT
- AlicenseNot gradedqualityBmaintenanceEnables autonomous multi-agent orchestration using directed acyclic graph workflows to interact with external developer infrastructure such as Git, Postgres, and Docker through safety-gated MCP servers.Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables governed tool-calling agents with policy decisions, optional human approval, hash-chained audit logging, and deterministic evaluation.MIT