Sentarion MCP
Orquestación multiagente gobernada para agentes de codificación de IA: puerta de políticas, cadena de auditoría a prueba de manipulaciones, incluye el Claude Code Seatbelt.
Servidor MCP alojado
npx add-mcp 'https://arkhive.dondatabrain.com/sentarion/mcp'Se instala en Claude Code, Codex, Cursor y más
Documentación
sentarion-mcp — Dale a tus agentes de IA reglas, memoria y recibos.
Instalación: pip install sentarion-mcp · Comando: sentarion · Apache-2.0 · Endpoint alojado
Sentarion es la capa de control MCP de código abierto para trabajo multiagente gobernado. Gobierna, registra y coordina el trabajo de los agentes en Claude Code, Codex, Cursor, modelos locales y cualquier cliente compatible con MCP.
Compone tres servidores MCP de código abierto en un sustrato gobernado — se conecta a ellos como cliente MCP, no los reimplementa:
- Algernon — planificación/despacho en abanico hacia trabajadores paralelos económicos con tu clave (o un Ollama local gratuito, autodetectado desde 0.2.2)
- ArkHive — cadena de auditoría/memoria alojada y a prueba de manipulaciones
- una cámara de pactos local (Humane Intelligence, o el paquete incluido
arkhive-mcpcuando Humane no está instalado)
El primer minuto
Todo lo siguiente se ejecutó, no se escribió, contra un pip install sentarion-mcp limpio (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 unbroken
Ahora haz de villano. Abre ~/.sentarion/local_chamber.db y cambia una palabra de ese registro a mano
(update blocks set action = replace(action, 'ship', 'cancel') where idx = 0). Luego:
you > verify()
sentarion> humane: TAMPERED — 1 broken links
Y la puerta, sin nada configurado:
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> approve
Esa es toda la idea. Tu IA escribe lo que hizo, lo lee de nuevo en la siguiente sesión, y una reescritura silenciosa
falla la verificación. Cada registro está encadenado por hash al anterior; la copia alojada es un segundo testigo.
govern lee los riesgos obvios del texto de la acción (delete / drop / force-push, enviar a todos, pagar, desplegar a
producción), los bloquea por defecto y falla en modo cerrado cuando ninguna cámara responde; orchestrate_and_record le pregunta
primero, distribuye el trabajo a trabajadores económicos y coloca el recibo en la misma cadena.
Instalación
pip install sentarion-mcp
Luego, desde cualquier cliente MCP, ejecuta sentarion_doctor. Comprueba git, Algernon, la cámara local, ArkHive alojado, el proveedor de flota, Ollama y tu clave de API, informa ready: true cuando una ejecución funcionará, y lista una solución por cada pieza faltante. Nunca imprime un secreto.
El cinturón de seguridad — hooks, no esperanza
Una herramienta MCP solo ayuda cuando el modelo decide llamarla. sentarion seatbelt conecta los hooks de Claude Code (y Cursor, beta)
que se ejecutan en cada llamada de herramienta, recuerde el modelo o no, usando el mismo vocabulario de puerta y la misma
cadena local que el servidor:
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 with
| Hook | Qué hace el cinturón de seguridad |
|---|---|
| PreToolUse | compara el comando / la ruta del archivo / el contenido escrito contra ~/.sentarion/seatbelt/policies/*.json → deny / ask / allow, con una razón. Una denegación se aplica en todos los modos de permiso y se registra en la cadena. |
| PostToolUse | registra cada edición y comando en la cadena local de ArkHive (para que recall y verify lo vean) y anota cuándo se ejecuta un comando de test/build/run. |
| SessionStart | el resumen del proyecto: archivos editados, comandos ejecutados, qué falló, decisiones registradas con remember, y cómo terminó la última sesión. |
| Stop | con ediciones de código y sin test/build/run desde la última edición, envía al agente de vuelta una vez; una política de cableado también puede listar rutas de frontend sin backend. |
Qué cadena. Con arkhive-mcp >= 2 instalado junto al cinturón de seguridad (la línea Sentarion v2), los hooks escriben en el
mismo archivo y espacio que usa el servidor v2 (~/.arkhive/v2/chain.db, espacio sentarion), etiquetado seatbelt, firmado por la
misma clave: los recall / verify del servidor los ven y el resumen lee de vuelta lo que el propio modelo remember (el servidor v2
firma cada registro como su asiento de ejecución y rechaza cualquier otro actor, así que el resumen le dice al modelo que pase la etiqueta,
no un actor). Con arkhive-mcp 0.x los hooks usan ~/.sentarion/local_chamber.db. ARKHIVE_DB anula cualquiera de los dos;
sentarion seatbelt doctor informa chain.mode (v2 / legacy). El historial dejado en la cámara 0.x todavía se lee en
el resumen después de una migración; nada se migra ni se reescribe.
Las políticas son JSON plano (decision, tools, match, paths, content_match, reason; ver seatbelt.POLICY_SCHEMA).
La línea base pregunta antes de los verbos irreversibles. La versión empaquetada con cinco políticas, tres habilidades e instaladores de un clic
es el Claude Code Seatbelt Kit.
Inicio rápido
Claude Code (examples/claude_code/)
claude mcp add sentarion -- sentarion
o en .mcp.json:
{ "mcpServers": { "sentarion": { "command": "sentarion", "args": [] } } }
Codex (examples/codex/) — en ~/.codex/config.toml:
[mcp_servers.sentarion]
command = "sentarion"
args = []
Cursor (examples/cursor/) — en .cursor/mcp.json:
{ "mcpServers": { "sentarion": { "command": "sentarion", "args": [] } } }
Las claves del proveedor vienen de tu entorno: configura ANTHROPIC_API_KEY (o OPENAI_API_KEY), o déjalas fuera y la flota se ejecutará en tu Ollama local si uno está en funcionamiento (examples/ollama/). Luego di:
"Usa sentarion: ejecuta sentarion_doctor, nace como Scout, luego orquesta_y_registra un plan para X con k=3."
Herramientas
| herramienta | qué hace |
|---|---|
sentarion_doctor(timeout_s) | comprobación de salud de solo lectura de cada dependencia, con una solución clara por cada comprobación fallida; nunca imprime secretos |
sentarion_quickstart(topic) | ejemplos de llamadas canónicos y ejecutables para cada capacidad |
sentarion_birth(name, covenant) | gana un soul_id antes de actuar (Ley 5: nacido, no configurado) |
remember / recall / verify | memoria de doble cadena: cámara local + ArkHive alojado, fusionado del más nuevo al más antiguo, ambos demostrables |
govern(action, flags, rules) | puerta de dos cámaras, cero LLM, fail-closed "¿puedo?" |
orchestrate_and_record(goal, k) | puerta → plan+despacho de Algernon → registrado automáticamente en ambas cadenas; devuelve un run_id, un resumen de tareas/exitosas/fallidas y el resultado de memoria por cadena |
dispatch_with_dependencies(tasks_json) | puerta → oleadas por depends_on; los dependientes reciben resultados {{id}} (flujo de datos, nuevo en 0.2.2) |
recall_and_replan(query, k) | plan con historial previo (solo plan, sin despacho) |
cost_estimate(k, in_price, out_price) | costo aproximado previo al despacho |
worktree(action, repo_path, ...) | sandbox de worktree git gobernado: crear / listar / eliminar |
sentarion_pro(topic, email) | lo que la actualización de pago v2 añade a la capacidad que estás usando; con un correo electrónico, solicita una clave de prueba |
Gobernanza — real, conectada, fail-closed
Dos gobernadores, una regla de decisión: un veto emitido bloquea; una cámara que falla al responder nunca fabrica un
veto; si ninguna cámara emite un veredicto, la acción se bloquea. Cada herramienta que ejecuta trabajo o muta estado
(orchestrate_and_record, dispatch_with_dependencies, worktree create/remove) pasa la puerta primero.
Ejemplos
- examples/README.md — índice
- examples/claude_code/ — regístrate en Claude Code y recorre seis indicaciones
- examples/codex/ — lo mismo desde la CLI de Codex
- examples/cursor/ — regístrate en Cursor
- examples/ollama/ — ejecuta la flota en un Ollama local gratis
- examples/multi_agent/ —
dispatch_example.py(oleadas de dependencias con flujo de datos{{id}}) y el bucle Claude-plans / Codex-builds - examples/worktree/ —
worktree_example.py(crear / listar / eliminar a través del servidor)
Gratis vs v2
| gratis, Apache-2.0, para siempre | Sentarion v2 (de pago) |
|---|---|
| servidor MCP local, compatibilidad estándar con clientes MCP | trabajos duraderos y ejecución en segundo plano |
orquestación de Algernon y despacho de dependencias con flujo de datos {{id}} | motor de flujo de trabajo con compuertas de fase, aplicación de roles y contratos de tareas estructurados |
| integración de ArkHive y la cámara local; recordar / recuperar / verificar | manifiestos de ejecución firmados y evidencia de verificación vinculada a SHA |
| nacimiento / identidad; gobernanza fail-closed de dos cámaras; los indicadores de riesgo obvios inferidos del texto de la acción | inferencia más profunda (PII, credenciales, dinero, alcance masivo), un veredicto REVIEW que un humano puede convertir en un sí, políticas versionadas almacenadas, una cámara remota |
| worktree crear / listar / eliminar | worktree diff / patch / commit, arrendamientos de repositorio, instantáneas de verdad del repositorio |
| flota local de Ollama; estimaciones de costo aproximadas | presupuestos y techos duros, reintentos, caché, libro mayor de costos avanzado |
| uso de un solo usuario, eventos de auditoría básicos | revisión de código adversarial, flujo de trabajo GitHub/CI, tenencia de equipo, historial alojado, compuertas de despliegue |
Únete al acceso anticipado de v2
Clave de prueba + precios: https://inboxaxe.com/mcp — o, desde cualquier cliente que tenga Sentarion cargado, llama a sentarion_pro(email="you@company.com") y se solicita una clave v2 de 14 días para esa dirección. No se envía nada a menos que proporciones un correo electrónico.
Registro de cambios
0.4.0
sentarion seatbelt: hooks de Claude Code / Cursor (puerta PreToolUse, memoria PostToolUse, resumen SessionStart, puerta Stop), archivos de política JSON con una línea base integrada, CLI de install/uninstall/doctor/check/recall/policies, 37 pruebas. Nada en la superficie MCP cambió.
0.3.1
sentarion_birthlleva la identidad en ambas cadenas y devuelveactor(tu nombre de nacimiento, que se resuelve en cada cadena). Antes, el nacimiento aterrizaba solo en la cámara local, así que el primerrememberalojado de un extraño era rechazado como "alma no nacida".- Una cámara que no puede responder (por ejemplo, un archivo de cadena escrito por ArkHive 2.x) ahora es un
{error, fix}legible en la respuesta de nacimiento en lugar de un fallo de "errores no manejados en un TaskGroup". governinfiere los indicadores de riesgo obvios del texto de la acción (irreversible, external_send, financial — los mismos nombres que usa v2) y los rechaza por defecto, en ambas cámaras. Antes,govern("delete the production database")era aprobado, y también lo era la misma llamada conflags=["irreversible"], porque ninguna regla predeterminada nombraba esos disparadores.- El README comienza con el primer minuto, medido.
0.3.0
- Instrucciones del servidor. La respuesta MCP
initializeahora lleva orientación de uso (nacer primero, gobernar antes de actuar, nunca inventar resultados, flujo de datos{{id}}, gratis vs de pago). sentarion_doctor. Comprobación de salud de solo lectura de git, Algernon, la cámara local, ArkHive alojado, proveedor de flota, Ollama y clave de API, con una solución por cada comprobación fallida; nunca imprime secretos.sentarion_quickstart. Seis llamadas de ejemplo canónicas y ejecutables, una por capacidad.- Resumen de ejecución.
orchestrate_and_recorddevuelve un bloquerunconrun_idy tiempos, unsummaryde tareas/exitosas/fallidas, y un resultadomemorypor cadena (recorded,not_configured, oerror: <type>) en lugar de tragarse los fallos de escritura. sentarion_procontextual.topicopcional (worktree, dispatch, govern, memory, review, jobs) devuelve lo que v2 añade a la capacidad que estás usando; las rutas sin argumentos y con correo electrónico no cambian.examples/. Ejemplos de Claude Code, Codex, Cursor, Ollama, despacho multiagente y worktree, más el flujo de trabajo Claude-plans / Codex-builds.- Pruebas + CI.
tests/con pytest; un trabajo de GitHub Actions los ejecuta en Python 3.10 y 3.12 y falla en desviación de versiones. - Corrección del fallo de nacimiento. El respaldo de nacimiento de ArkHive ya no lanza
NameError(tool_textno estaba importado). - Unificación de versiones.
pyproject.toml,sentarion_mcp.__version__yserver.jsonahora coinciden; las ruedas construidas ya no se rastrean.
0.2.2 — qué cambió (encontrado por dogfooding)
- La configuración de flota es explícita. 0.2.1 pasaba todo el entorno ambiental a Algernon, así que un
OPENAI_API_KEYobsoleto en tu shell podía anular silenciosamente tu configuración de Ollama (401). AhoraSENTARION_FLEET_PROVIDER=anthropic|openai|ollamagana, si no una clave configurada, si no un Ollama local. - La cámara local siempre existe. Sin Humane instalado, el paquete incluido
arkhive-mcpes la cámara local (cadena propia en~/.sentarion/local_chamber.db). "humane_not_configured" ha desaparecido. - Las dependencias llevan datos.
{{t1}}en una indicación dependiente se reemplaza con el resultado de la tarea t1. - El nacimiento alojado funciona (el servidor 0.x alojado escribía
covenantcomo una cadena; reintentamos con una). recall_and_replanya no envía un argumento que el recall alojado nunca aceptó.- Se eliminó la dependencia no utilizada
mcp-agent; se añadieron URLs del proyecto.
Apoya este proyecto
Sentarion, Algernon y ArkHive son gratuitos, de código abierto y construidos en nuestro propio hardware. Dona: https://dondatabrain.com · Suite empresarial: https://inboxaxe.com