mcpField
A

Arketum

Local

About Arketum

Verified lifecycle for building software with an agent: units, human gates, requirements

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"cl-rlabs-arketum": {
"command": "npx",
"args": [
"-y",
"@rlabs-cl/arketum"
]
}
}
}
Run commandnpx -y @rlabs-cl/arketum

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@rlabs-cl/arketum1.1.0

Tools

1

Saved tool list · updated 1d ago

ParameterTypeRequiredDescription
duestringNo`defer`: el plazo, fecha ISO 8601.
idsarrayNo`requisito`: los requisitos que consultas, `<artefacto>:<id>`, o las intenciones sin tipo, `<artefacto>/<id>`.
citastringNo`decide`: las palabras literales de la persona con que ya decidió este gate en la conversación; se registra por el chat sin volver a preguntarle. `telemetria`: con las que aceptó o no. Solo si de verdad lo dijo: nunca lo tuyo.
ganastringNo`elegir`: la unidad cuya versión eligió la persona en un conflicto semántico (con `requisito` y `porque`, sus palabras). Nunca lo tuyo.
laneobjectNo`open`: el carril, por nombre y, si se quiere, versión exacta.
lane.namestringYes
lane.versionstringNo
loteintegerNo`auditoria`: el número del lote que se pide o que se informa.
modoenumNo`modo`: lo que eligió la persona para esta sesión: `paralelo` (la captura sigue mientras se implementa) o `secuencia` (se implementa antes de seguir definiendo). Nunca lo tuyo.paralelo | secuencia
notestringNo`pause`: qué queda y por dónde seguir. `desbloquear`: cómo se resolvió (opcional). `decide`: con `ajustar`, qué ajustar (obligatoria); con `no_entiendo`, la duda de la persona (opcional).
pideenumNo`solicitar`: qué se pide decidir a la persona (`sin_e2e`: que un funcional no admite una prueba de extremo a extremo automática).conformidad | retiro | defecto | decision | sin_e2e
rootstringYesProject root
slugstringNo`open`: el nombre corto de la unidad; su id es `<carril>-<slug>`.
stepstringNo`defer`: el paso que se aplaza. `decide`: el gate que presentaste (`carril` o el id del paso). `submit` con `evidence`: el paso, si la exigencia la comparten varios.
temaanyNo`tema`: dejar un tema a conversar (`titulo`, `de`: «persona» con sus `palabras` tal cual, o «agente» si lo propones tú; `contexto`, `preguntas` y `propuesta` opcionales: la unidad que lo atacaría, con `carril`, `objetivo` y, si hace falta, `clase`, `ids`, `toca` y `opciones`, los caminos que elige la persona) o cerrarlo (`cierra`: su id; `como`: «convertido» con la `unidad` que se abrió, o «descartado» con el `motivo` y las `palabras` de la persona) o transmitir lo que la persona le respondió por el chat (`responde`: su id, con sus `palabras` tal cual; no lo cierra), o cerrar un grupo entero de una vez si la persona lo decide (`cierra_grupo`: el id del grupo y su `huella`, la que dan la tanda y `tema` con `grupo`, con `como` y lo mismo que al cerrar uno). Sin `tema`, lista los abiertos agrupados por origen e intención (de cada grupo, los primeros; uno entero, con `grupo`). `open`: el id de un tema abierto (un texto): de su propuesta se toma lo que no venga en la llamada (carril, objetivo, tocados, clasificación; el slug, su id), y al abrir se cierra como convertido en la unidad.
topeanyNo`delegar`: el tope de la delegación, en unidades abiertas bajo ella (5, 10 o 20; por defecto 10), o `sin_tope`: vigente hasta que la persona la revoque, con un resumen en la tanda cada `resumenCada` unidades.
unitstringNoEl id de la unidad de trabajo (`<carril>-<slug>`), en toda acción menos `open` (en `requisito`, opcional).
agentstringNoQuién eres (por ejemplo, `<cliente> / <modelo>`), marcado como declarado. Con `open` (o con `resume`, si en esta conexión la unidad aún no tiene agente), firma lo que siga en esa unidad; en cualquier otra llamada que registre algo, firma solo esa llamada. Un subagente lo pasa en cada llamada: comparte la conexión del agente principal.
desdestringNo`decide` con `rechazado` y `mantener`: el paso anterior desde el que se retoma, si el motivo lo cuestiona.
grupostringNo`tema` sin `tema`: el id de un grupo de temas abiertos (lo dicen la lista, la tanda y el estado), para listarlo entero.
ownerstringNo`defer`: quién responde de la deuda.
papelstringNo`levantar`: the discovery role delivering the part (`analista` or `arquitecto`, as declared). `status` with `unit`: the package for that role for the current stage; in the system or evidence step, also an implementation role for the form variant (the guide names them).
parteobjectNo`levantar`: the discovery part, with its `kind` (`situacion`, `conversacion`, `senales`, `propuesta`, `respuestas`, `consolidacion`, `fuera_de_alcance` or `reabrir`) and its fields.
pathsarrayNoThe corpus paths. Used only with a `.arketum/` that has no `proyecto.yaml` (and is not in the old format): they provide the legacy archetype candidate and its questionnaire. Ignored without `.arketum/`: every call receives the folder's starting state (new, with a base, or existing). The tool proposes; it never installs.
scopeenumNo`decide` with `rechazado`: whether to keep or remove the functionality; both require `reason`.mantener | quitar
textostringNo`decide` with `decidir`: the decided text, which creates the new version of the `decision`.
aceptabooleanNo`telemetria`: whether the person agrees (`true`) or not (`false`) to send the anonymous usage summary, with `cita` containing their exact words. Never your own.
actionenumNoOptional, only with .arketum/proyecto.yaml: what to do with a work unit. `status` (with `unit`, that unit; without it, the project, the unit index and the requirements index), `open`, `resume`, `submit`, `defer`, `pause`, `close`, `decide`, `rescope`, `renew` (propose refreshing the tree snapshot), `politica` (propose setting the project's current policy when it differs from the policy set in the unit: a gate), `instructions` (the text of the instruction files declaring the catalogs, generated from the policy), `requisito` (the details of the requirements in `ids`) or `solicitar` (ask the person to decide on one of the touched requirements: a gate), `levantar` (a part of phase 1, discovery, with its `papel`), `formas` (the system forms: their `aplica`, design and gaps, which ones apply with given `senales` and why the others do not; with `stacks: true`, the stacks too), `deriva` (functional drift: what to rerun or, with `informe`, its findings), `elegir` (convey which version the person chose in a semantic conflict), `actualizar_almacen` (without `unit`: update the store format, `.arketum/`: decisions from a single file to one file per decision; `migrar`, its former name, is rejected with a redirect here or to archetype migration; this does not move the repo to another archetype), `estado` (without `unit`: the calculated project status, compact: what is waiting on the person, what is in progress and since when; for details, use `status`) or `tanda` (without `unit`: records what the person marked in `.arketum/decisiones-pendientes.md` and rewrites it with what remains pending; with `esperar`, first waits for them to save it), `identidad` (without `unit`: who decides on this machine, with `nombre` or `correo`, as stated by the person) `abandonar` (leave a unit idle without closing it, with optional `reason`) `tema` (without `unit`: topics to discuss; with `tema`, leave one, close it or respond to it), `mapa` (without `unit`: the project's integration map, calculated from the boundaries; with `artifact`, that of an artifact), `auditoria` (without `unit`: an index-requested audit, in batches of similar items, newest to oldest, skipping anything unchanged; with `completa: true`, everything; with `informe` and `lote`, its findings and consolidations by intent, which remain as topics; each batch also asks about anything unsafe, against `politica` if the person named their security policies), `prd` (without `unit`: the live, calculated PRD: by artifact, current requirements grouped by wording similarity (the audit batches; not a judgment of intent), with their status, version and the unit that left them, and amendments between PRDs; with `artifact`, that of one artifact; by pages, with `pagina`) `panel` (without `unit`, when starting work: registers the project in the machine panel, leaves a script to launch it and gives its address or the command to run to launch it), `modo` (without `unit`: how this session works, as chosen by the person: `paralelo`, capture continues while ready work is implemented, or `secuencia`, implementation happens before continuing definition; with `subagentes`, whether your client can delegate to subagents; without `modo`, the current one), `bloquear` (mark the unit you are implementing as blocked, with `reason`: what you cannot resolve without the person; does not interrupt capture), `desbloquear` (the blocker has been resolved, with optional `note`) or `telemetria` (without `unit`: what the person said when Arketum asked you to ask whether they agree to send an anonymous usage summary, with `acepta` and `cita`; this is installation-wide, not project-specific). Without `action`, the gateway delivers by artifact, outside a unit.status | open | resume | submit | defer | pause | close | decide | rescope | renew | politica | instructions | requisito | solicitar | levantar | formas | deriva | delegar | elegir | migrar | actualizar_almacen | estado | tanda | identidad | abandonar | panel | tema | mapa | auditoria | prd | modo | bloquear | desbloquear | telemetria
correostringNo`identidad`: the email address the person said they identify with.
heredabooleanNo`submit` in a unit's system step: `inventory.items` contains only new and changed items; the rest is inherited from the baseline (the same artifact level in the last closed unit that descended it), and Arketum composes the entire level. Not valid in a fed L0.
huecosbooleanNo`auditoria`: gaps and drift calculated by Arketum (manually changed form signals, form outputs without a stack that have pinned settings, what an architecture added after authorship was approved, unmatched or undeclared boundaries, duplicate requirements: a statement that only repeats its title, or a functional and a technical requirement with the same title or statement), each as a topic with its proposal.
nombrestringNo`identidad`: the name the person said they identify with (not a login). Never one you inferred.
opcionintegerNo`open` with `tema`: the proposal path chosen by the person (starting from 1).
paginaintegerNo`prd`: the requested page of the live PRD (starting from 1).
porquestringNo`decide` at a requirement gate: why (required with `retirar`, `decidir` and `sin_e2e`).
quitararrayNoWith `hereda`: the baseline ids to remove from the level.
reasonstringNo`defer` and `rescope`: why. `decide` with `rechazado`: the reason for rejection, also required with `quitar`. `bloquear`: what you cannot resolve without the person (required except with `enmienda`).
stacksbooleanNo`formas`: with `true`, also lists the stacks (with their example tree) and the single-layer archetypes from which the architecture chooses.
urgentbooleanNo`open`: whether it is urgent; only an urgent unit defers steps.
catalogstringNo`decide` when approving a step with a candidate archetype: the catalog where the person chose to publish it (listed in the summary).
esperarnumberNo`tanda`: the number of minutes (up to 30) the call waits for the person to save `.arketum/decisiones-pendientes.md`; if the client ends the call early, call again or ask them to let you know.
informeobjectNo`auditoria`: the `lote` report (`revisor`, `revisados`, `hallazgos`, and `consolidaciones`: items pursuing the same goal, proposed as a consolidated PRD), the same one as the retrospective validation. `deriva`: the functional drift report you write: `reejecuciones` (each requirement once, with the exact command and its `codigo`, or `no_ejecutable` with the reason) and `sin_requisito` (work done that is not in any requirement). Without it, `deriva` says what to rerun. Does not change any state.
resumenenumNo`delegar`: what the person replied in chat to the current delegation summary: “continue” or “revoke” (with their comment in `note`, if any). Records the same fact as the batch and panel. Do not decide yourself.sigue | revocar
revocarbooleanNo`delegar`: revoke the current delegation; Arketum will ask the person about each gate again. Records the same fact as “revoke” in the batch summary.
senalesobjectNo`formas`: system signals (declared by the forms, with their type), to determine which forms apply.
touchesarrayNo`open` and `rescope`: the project artifacts the unit touches. `decide` with `rechazado` and `quitar` in a system step: the artifacts that are removed.
artifactstringNoOptional, only in a project with .arketum/proyecto.yaml: the artifact you are asking about when you do not provide an inventory. Without it, the response is the project state. With `action: deriva`, the artifact to which the scope is limited.
borradosarrayNo`close`: files deleted by the unit that, in its snapshot, were outside all roots (paths from the project root): condition 5 does not count them.
completabooleanNo`auditoria`: with `true`, audits everything; otherwise, from newest to oldest, skipping anything that has not changed since the last closed pass (except its nearby items).
continuastringNo`open`: the adjustment that exceeded the limit (`excede_ajuste`) and from which this unit continues: it is discarded when the unit is opened, and this unit inherits its snapshot and policy.
decisionenumNo`decide`: the decision the person gave in chat, only if your client cannot ask them. Never your own. The same four options as in the batch and panel: `aprobado` (approve), `ajustar` (with `note`), `rechazado` (reject, with `reason`), and `no_entiendo` (with their question in `note`, if they gave one). It approves nothing and returns what to explain to them.aprobado | ajustar | rechazado | no_entiendo
enmiendastringNo`bloquear`: the unit whose definition in implementation is amended by its new definition, if the person chose to amend it (lp-f05); Arketum supplies the reason.
evidencearrayNo`submit` in an evidence or milestone step: each piece of evidence with the requirement (`requirement`) and its class. You run an execution and provide the command, output, exit code, and `on` (`before`, `change`, or `entorno` for what runs against a real environment: access and deployment); a report provides its source, reference, and content; a declaration provides who and what (Arketum supplies the channel). An execution can declare `satisfies`: the requirements (`<artefacto>:<id>`) it satisfies. The e2e suite declaration (`salidas/<artefacto>/e2e`) names in `defectos` the requirements that fail due to reported defects. Milestone confirmation (`despliegue/<entorno>/confirmacion`) is a declaration with no other fields: Arketum asks the person via the interactive channel whether it was deployed and ran; an execution or report for that requirement is optional supporting evidence.
opcionesarrayNo`solicitar` with `pide: decision`: the options the person can choose from.
optionalarrayNo`open` and `rescope`: the optional steps of the lane that the unit includes.
politicastringNo`auditoria`: the source of the security rules named by the person (their own or their organization's policies: a path, URL, or name); without it, each batch is judged against current general best practices.
proposalobjectNoOptional. The starting inventory and proposed change, so the verdict can distinguish what this change introduced from what was already broken. Within a unit, Arketum sets the baseline (the level of the last closed unit that downgraded the artifact): declare only `deltas`.
proposal.deltasarrayNo
proposal.baselineobjectNo
proposal.baseline.itemsarrayYes
proposal.baseline.levelenumYesL0 | L1 | L2 | L3 | L4
proposal.baseline.artifactstringNo
fronterasarrayNo`close`: code-derived, informational boundaries for touched artifacts: per artifact, what is new or changed (`pone`: `id`, `direccion` input/output, `mecanismo`, `contraparte`, `contrato` if any, `impacta` with the functional items and code `rutas`), what is no longer present (`quita`, IDs), or `ninguna`.
inventoryobjectNo
inventory.itemsarrayYes
inventory.levelenumYesL0 | L1 | L2 | L3 | L4
inventory.artifactstringNo
milestoneobjectNo`open`: the milestone, if the milestone step is selected: `despliegue`, `entrega`, or `ejecucion`, with its details.
milestone.kindstringYes
milestone.detailstringYes
objectivestringNo`open`: what you want to achieve.
requisitostringNo`solicitar`: the requirement (`<artefacto>:<id>`) for which a decision is requested. `decide`: the requirement whose gate is being decided.
veredictoenumNo`decide` at a requirement gate: what the person decided in the chat (`sin_decidir` withdraws the request without deciding). Never your decision.conforme | retirar | defecto | decidir | sin_decidir | sin_e2e
resolutionobjectNo`decide` at a contradiction gate: how the person resolved it (which takes precedence, which is withdrawn, when each applies, or to defer).
resolution.kindenumYesprecedence | revoked | conditional | deferred
resolution.winnerstringNo
resolution.revokedstringNo
resolution.conditionstringNo
selfReviewstringNoOptional. The self-review response that declares the archetype, in the exact format requested. It is collected, saved in .arketum/, and shown. It is NOT evaluated and does NOT block: no response stops the descent.
subagentesbooleanNo`modo`: whether your client can delegate to subagents (you declare this); if undeclared, Arketum suggests them in sequence.
veredictosobjectNo`decide` with `step: confirmacion`: for each functional item (`<artefacto>:<id>`), the person's response: “si”, “no”, or “despues”; include `porque` if any response is “no”.
inventoriesarrayNo`submit` within a unit: multiple levels in order, each as a standalone delivery (with its `hereda`, `quitar`, `proposal`, and `selfReview`). Stop at the first one that does not advance.
resumenCadaintegerNo`delegar` with `tope: sin_tope`: how many open units under the delegation (5, 10, or 20, counting the unit where it is granted; default 10) must pass before the batch receives a summary of approved items only.
retroactivaobjectNo`close`: the retroactive validation, if the unit has requirements and there are earlier ones in the relevant scope (the scope is given by `close` without it): who reviewed (`revisor`; preferably a subagent without your context), those reviewed with no finding, and `hallazgos` (requirement, class, reason, and `propuesta`: “nada” or the unit, with `carril` and `objetivo`, and, when merging, `fusiona` and `queda`). And `consolidaciones`: an intent spread across several requirements (`intencion`, `requisitos` from the index, `motivo`, and the consolidated PRD `propuesta`: `carril`, `objetivo`, and optional `queda` and `separa`).
retroactiva.revisorstringYes
retroactiva.hallazgosarrayNo
retroactiva.revisadosarrayNo
retroactiva.consolidacionesarrayNo
sinRequisitoarrayNo`close`: the touched items whose changes do not affect any requirement (for example, scaffolding), each with its reason.
clasificacionobjectNo`open`: the class of the request relative to the requirements index, and the index ids it names (`<artefacto>:<id>`). Required in a lane with elicitation; determines whether the lane applies. Classify after loading the candidate details with `requisito`.
clasificacion.idsarrayNo
clasificacion.claseenumYesdefecto | cambio | nuevo | choque | amplia

Details

The maintainer has not added details yet. Check the README in the repository.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.