Saltar a contenido

Referencia de Herramientas MCP de rai-workspace

El servidor MCP rai-workspace expone 36 herramientas en 10 dominios. Estas herramientas están disponibles para cualquier cliente compatible con MCP (Claude Code, Hermes Agent, etc.) cuando el servidor está en ejecución.

Transporte: solo stdio

El servidor funciona solo sobre stdio, lanzado por tu cliente de IA (p. ej. vía .mcp.json). No existe endpoint MCP hospedado ni HTTP en 3.1.0. 15 de las 36 herramientas están marcadas @local_only y quedan ocultas a cualquier transporte HTTP futuro — si introspectas el servidor por HTTP en un release posterior, espera una lista de herramientas más pequeña.

La orquestación de pipelines se ejecuta exclusivamente a través de herramientas MCP. Consulta Pipelines para la referencia de herramientas y Pipeline Quickstart para un recorrido práctico.

Iniciar el servidor

El servidor se inicia automáticamente cuando Claude Code carga .claude/settings.json. Para iniciarlo manualmente:

python -m raise_cli.pipeline.mcp_server

Dominio Pipeline

Herramientas para orquestar el ciclo de vida del pipeline de story/epic/bugfix.

pipeline_list

Lista los pipelines disponibles con sus fases.

pipeline_list() → str

Retorna una lista JSON de definiciones de pipeline encontradas en .raise/pipelines/. Úsalo para descubrir los nombres de pipeline disponibles antes de llamar a pipeline_start.


pipeline_start

Inicia una ejecución de pipeline. Retorna la primera fase a ejecutar.

pipeline_start(pipeline_name: str, issue_id: str) → str
Parámetro Descripción
pipeline_name Nombre del pipeline (p.ej., "story", "epic", "bugfix")
issue_id Clave de issue para trazabilidad (p.ej., "RAISE-1281")

Retorna un objeto JSON con run_id, current_phase, instruction y skill para la primera fase. Pasa run_id a las llamadas subsecuentes de pipeline_advance.


pipeline_advance

Marca la fase actual como completada y obtiene la siguiente.

pipeline_advance(run_id: str, approve: bool = False, cwd: str = "") → str
Parámetro Descripción
run_id ID de ejecución retornado por pipeline_start
approve Establece en True para aprobar un gate HITL en la fase actual
cwd Directorio de trabajo para resolución de artifacts. Requerido al llamar desde un git worktree (el CWD del servidor MCP difiere del CWD de la sesión). Por defecto usa el CWD del servidor.

Llámalo tras completar el skill de la fase actual. Si la fase tiene un gate HITL, la primera llamada retorna gate_pending — llama de nuevo con approve=True para pasarlo.


pipeline_pause

Pausa una ejecución de pipeline. La ejecución puede reanudarse llamando a pipeline_advance.

pipeline_pause(run_id: str) → str

pipeline_cancel

Cancela una ejecución de pipeline. Las ejecuciones canceladas no pueden reanudarse.

pipeline_cancel(run_id: str) → str

pipeline_restore

Restaura el estado completo del pipeline tras compactación o reinicio de sesión.

pipeline_restore(run_id: str) → str

Retorna el estado actual de ejecución y contexto para la fase actual. Úsalo al retomar trabajo tras una compactación de contexto o reinicio de Claude Code.


pipeline_status

Obtiene el estado actual de una ejecución de pipeline.

pipeline_status(run_id: str) → str

Retorna run_id, status, current_phase, total_phases e historial de fases.


pipeline_runs

Lista todas las ejecuciones de pipeline activas y recientes.

pipeline_runs() → str

Retorna las ejecuciones ordenadas por última actividad. Úsalo para encontrar un run_id al retomar después de una compactación.


pipeline_decision

Persiste una decisión humana direccional en el diario de la ejecución.

pipeline_decision(run_id: str, decision: str, phase: str = "", cwd: str = "") → str
Parámetro Descripción
run_id ID de ejecución retornado por pipeline_start
decision Resumen en texto libre de la decisión direccional (truncado a 2000 caracteres)
phase ID de fase a la que atribuir la decisión. Por defecto usa la fase actual de la ejecución
cwd Ruta de checkout del llamante. Requerido en modo stdio community

Rastro de gobernanza solo de exhibición: agrega a metadata.hitl_decisions con source="agent". No tiene efecto de control — no puede avanzar, pausar ni cancelar la ejecución, y deliberadamente no requiere el advance_token.


Dominio Artifact

Herramientas para persistir y consultar artifacts estructurados de story (diseño, plan, retrospectiva).

raise_artifact_emit

Valida y persiste un artifact estructurado de story.

raise_artifact_emit(
    artifact_type: str,
    story_id: str,
    content: str,
    session_id: str = ""
) → str
Parámetro Descripción
artifact_type Uno de "design", "plan", "implement", "review", "retro"
story_id Identificador de story (p.ej., "RAISE-1281")
content Cadena JSON con campos del artifact (ver docs del skill para el esquema por tipo)
session_id ID de sesión opcional para correlación

raise_artifact_query

Consulta artifacts por story y opcionalmente por tipo.

raise_artifact_query(story_id: str, artifact_type: str = "") → str
Parámetro Descripción
story_id Identificador de story
artifact_type Filtro opcional: "design", "plan", "implement", "review", "retro"

Dominio Backlog

Herramientas para leer y actualizar ítems del backlog (Jira, adapter de sistema de archivos).

raise_backlog_context

Obtiene detalles de un issue del backlog para contexto.

raise_backlog_context(issue_key: str, adapter: str = "jira", cwd: str = "") → str
Parámetro Tipo Por defecto Descripción
issue_key str requerido Clave de issue (p.ej., "RAISE-1310")
adapter str "jira" Nombre del adapter (p.ej., "jira", "filesystem")
cwd str "" Override del directorio de trabajo para contextos de worktree

Retorna título, descripción, estado, etiquetas, padre y puntos de story.


raise_backlog_transition

Transiciona un issue del backlog a un nuevo estado.

raise_backlog_transition(
    issue_key: str,
    status: str,
    adapter: str = "jira",
    cwd: str = ""
) → str
Parámetro Tipo Por defecto Descripción
issue_key str requerido Clave de issue (p.ej., "RAISE-1438")
status str requerido Slug del estado destino (p.ej., "implement", "done")
adapter str "jira" Nombre del adapter
cwd str "" Override del directorio de trabajo para contextos de worktree

raise_backlog_create

Crea un nuevo issue en el backlog.

raise_backlog_create(
    summary: str,
    project: str,
    issue_type: str = "Story",
    description: str = "",
    labels: str = "",
    parent: str = "",
    adapter: str = "jira",
    cwd: str = ""
) → str
Parámetro Tipo Por defecto Descripción
summary str requerido Resumen/título del issue
project str requerido Clave del proyecto (p.ej., "RAISE")
issue_type str "Story" Tipo de issue (p.ej., "Story", "Task", "Bug")
description str "" Descripción del issue
labels str "" Etiquetas separadas por coma
parent str "" Clave del issue padre para sub-tareas
adapter str "jira" Nombre del adapter
cwd str "" Override del directorio de trabajo para contextos de worktree

raise_backlog_update

Actualiza campos de un issue existente del backlog.

raise_backlog_update(
    issue_key: str,
    summary: str = "",
    labels: str = "",
    priority: str = "",
    assignee: str = "",
    custom_fields: str = "",
    adapter: str = "jira",
    cwd: str = ""
) → str
Parámetro Tipo Por defecto Descripción
issue_key str requerido Clave de issue (p.ej., "RAISE-1234")
summary str "" Nuevo resumen/título
labels str "" Etiquetas separadas por coma
priority str "" Nombre de la prioridad (p.ej., "High")
assignee str "" Email del asignado
custom_fields str "" Cadena JSON de campos personalizados a actualizar
adapter str "jira" Nombre del adapter
cwd str "" Override del directorio de trabajo para contextos de worktree

Actualiza campos de un issue de Jira. Solo se aplican los parámetros no vacíos. Retorna confirmación o error.


Dominio Docs

raise_docs_write

Escribe un artifact de documento en el sistema de archivos local y opcionalmente lo publica en el adapter de docs (Confluence).

raise_docs_write(
    doc_type: str,
    title: str,
    content: str,
    output_path: str,
    parent: str = "",
    cwd: str = ""
) → str
Parámetro Tipo Por defecto Descripción
doc_type str requerido Tipo de documento (p.ej., "story", "epic-scope", "adr", "research")
title str requerido Título del documento
content str requerido Contenido Markdown
output_path str requerido Ruta relativa para el archivo local
parent str "" Identificador de página padre para el adapter de docs
cwd str "" Override del directorio de trabajo para contextos de worktree

Escribe el contenido en output_path y publica en el adapter de docs configurado. Retorna la ruta local y el resultado del adapter.


Busca páginas de documentación en el target remoto.

raise_docs_search(query: str, limit: int = 10, target: str = "", cwd: str = "") → str
Parámetro Descripción
query Consulta de búsqueda
limit Máximo de resultados a retornar (por defecto 10)
target Nombre opcional del target de docs (p.ej., "confluence"). Vacío = por defecto
cwd Ruta absoluta de checkout del llamante. Requerido en modo stdio community

Retorna una lista JSON de páginas coincidentes, o un error estructurado si no hay target de docs disponible.


raise_docs_get

Recupera una página del target de documentación.

raise_docs_get(identifier: str, target: str = "", cwd: str = "") → str
Parámetro Descripción
identifier ID de página en el target remoto
target Nombre opcional del target de docs (p.ej., "confluence"). Vacío = por defecto
cwd Ruta absoluta de checkout del llamante. Requerido en modo stdio community

Retorna el contenido de la página como JSON, o un error estructurado si no hay target de docs disponible.


Dominio Gate

raise_gate_check

Ejecuta verificaciones de quality gate.

raise_gate_check(gate_id: str | None = None) → str
Parámetro Descripción
gate_id Gate específico a verificar (p.ej., "gate-lint", "gate-tests"). Pasa None u omite para ejecutar todos los gates.

Retorna aprobado/fallido por gate con output. Los comandos se leen de .raise/manifest.yaml — las claves nulas se saltan automáticamente.


Dominio Graph

Herramientas para consultar el knowledge graph de RaiSE (símbolos, patrones, nodos de gobernanza).

raise_graph_query

Busca en el knowledge graph de RaiSE nodos relevantes.

raise_graph_query(query: str, limit: int = 5) → str
Parámetro Descripción
query Términos de búsqueda (p.ej., "pipeline session start", "storage SQLite")
limit Máximo de resultados a retornar (por defecto 5)

raise_graph_context

Obtiene contexto para un módulo específico del knowledge graph.

raise_graph_context(module_id: str) → str
Parámetro Descripción
module_id Identificador de módulo (p.ej., "mod-session", "mod-storage")

Dominio Pattern

Herramientas para consultar, agregar y reforzar patrones de comportamiento.

raise_pattern_query

Busca patrones de RaiSE por palabras clave.

raise_pattern_query(keywords: str, limit: int = 10) → str
Parámetro Descripción
keywords Términos de búsqueda contra el contenido del patrón y etiquetas de contexto
limit Máximo de resultados (por defecto 10)

raise_pattern_add

Agrega un nuevo patrón a la memoria.

raise_pattern_add(
    content: str,
    context: str = "",
    pattern_type: str = "technical",
    from_story: str = ""
) → str
Parámetro Descripción
content Texto descriptivo del patrón
context Etiquetas de contexto separadas por coma (p.ej., "testing,mocks,integration")
pattern_type Uno de "technical", "process", "architecture", "approach", "risk", "codebase"
from_story Story que produjo este patrón (p.ej., "RAISE-1281")

raise_pattern_reinforce

Refuerza un patrón con una señal de voto.

raise_pattern_reinforce(
    pattern_id: str,
    vote: int = 1,
    from_story: str = ""
) → str
Parámetro Descripción
pattern_id ID del patrón (p.ej., "PAT-E-1713")
vote 1 = seguido, 0 = no relevante, -1 = contradijo
from_story Contexto de story para el voto

Se llama en la revisión de story para registrar si un patrón fue aplicado. 0 no cuenta hacia las evaluaciones — úsalo para patrones que no fueron relevantes.


Dominio Session

Herramientas para emitir señales de ciclo de vida, cargar contexto y consultar el historial de sesiones.

raise_signal_emit

Emite una señal de ciclo de vida de trabajo para seguimiento.

raise_signal_emit(
    work_type: str,
    work_id: str,
    event: str,
    phase: str = "init",
    task: str = ""
) → str
Parámetro Descripción
work_type "epic" o "story"
work_id Identificador del trabajo (p.ej., "RAISE-1281", "E3978")
event "start", "complete" o "blocked"
phase Fase del flujo de trabajo: "init", "design", "plan", "implement", "review", "close"
task Identidad de tarea dentro de una fase (p.ej., "Tarea 1: agregar campos de esquema")

raise_session_context

Carga secciones de contexto de sesión de RaiSE para consumo por IA.

raise_session_context(sections: str = "progress,coaching") → str
Parámetro Descripción
sections Secciones separadas por coma: "progress", "coaching", "governance", "behavioral"

Retorna ~200 tokens de contexto de gobernanza para inyección en turnos de LLM.


raise_session_history

Consulta registros recientes de sesión con narrativas y resultados.

raise_session_history(
    limit: int = 10,
    epic: str = "",
    project_path: str = ""
) → str
Parámetro Descripción
limit Máximo de sesiones a retornar (por defecto 10)
epic Filtrar a sesiones de un epic específico (p.ej., "E2780"). Vacío = todos los epics.
project_path Ruta raíz del proyecto. Por defecto Path.cwd().

Retorna sesiones ordenadas por closed_at DESC con narrativa, next_session_prompt, resultados e IDs de patrones.


raise_session_topic

Emite un evento de tema de sesión para rastrear la fase y sub-paso actuales.

raise_session_topic(kind: str, topic: str) → str
Parámetro Descripción
kind Tipo de fase del skill (p.ej., "design", "implement", "close")
topic Sub-paso dentro de la fase (p.ej., "gemba", "examples", "merge")

Lo usan los skills como marcadores de token para mantener visible el foco de la sesión y alimentar el historial de sesiones.


raise_session_bind

Vincula un par clave-valor al archivo de contexto de la sesión actual.

raise_session_bind(key: str, value: str) → str
Parámetro Descripción
key Clave de contexto (p.ej., RAISE_SESSION_JIRA_KEY, RAISE_SESSION_MISSION_ID)
value Valor a vincular

Persiste el vínculo en .raise/rai/sessions/$RAISE_CC_SESSION_ID/context.env. Usa semántica de reemplazo por línea — las claves existentes se actualizan y las demás se conservan. Lo usan /rai-story-start y /rai-session-start para vincular tardíamente claves de Jira e IDs de misión.


raise_session_open

Apertura compuesta de sesión: hygiene, drift, DB, misión, bundle, MCP.

raise_session_open(cwd: str = "", include_bundle: bool = True) → str
Parámetro Descripción
cwd Ruta absoluta de checkout del llamante. Requerido en modo stdio community
include_bundle También ejecuta el flujo de inicio e incrusta el bundle de orientación (usa False para re-verificar sin iniciar una sesión)

Una llamada reemplaza la secuencia determinista del skill /rai-session-start. Los estados son ok/warn/blocked — blocked requiere una decisión humana (la herramienta nunca auto-resuelve).


raise_session_close_full

Cierre compuesto de sesión: cierre estructurado atómico vía JSON CloseInput.

raise_session_close_full(state_json: str, cwd: str = "", agent_session_id: str | None = None) → str
Parámetro Descripción
state_json Objeto JSON que coincide con CloseInput (summary, session_type, patterns, corrections, next_session_prompt, ...)
cwd Ruta absoluta de checkout del llamante. Requerido en modo stdio community
agent_session_id ID de sesión explícito del contexto del pipeline. Sobrescribe el descubrimiento por entorno cuando el env del servidor MCP está congelado (subagente)

Paridad con rai session close --state-file — patterns, correcciones, diario y estado se escriben por el servicio del CLI en una sola operación.


raise_ledger_add

Inserta o actualiza (upsert) una fila en el ledger de sesión — almacén de auto-descubrimiento entre proyectos.

raise_ledger_add(
    kind: str,
    natural_key: str,
    fields: str = "{}",
    cwd: str = "",
    agent_session_id: str | None = None
) → str
Parámetro Descripción
kind Valor de LedgerKind (meta, project, cartridge, issue, branch, artifact, mission, open_thread, friction)
natural_key Clave de upsert dentro de la sesión (p.ej., "RAISE-13146")
fields Objeto JSON de columnas por kind (p.ej., '{"status":"In Progress"}')
cwd Ruta absoluta de checkout del llamante. Requerido en modo stdio community
agent_session_id ID de sesión explícito del contexto del pipeline. Sobrescribe el descubrimiento por entorno cuando el env del servidor MCP está congelado (subagente)

Claveado por discover_agent_session_id() (resuelto por entorno, a prueba de worktrees) y persistido en el ~/.rai/raise.db global (session_ledger_entries). Una segunda llamada con la misma natural_key hace UPSERT (reescribe la fila) en lugar de duplicarla.


Dominio Story

Herramientas para abrir y cerrar el trabajo de story, y para crear stories de epic atómicamente.

raise_story_open

Apertura compuesta de story: verificación de epic, rama, docs, commit, transición, bind.

raise_story_open(
    story_id: str,
    slug: str,
    epic_dir: str,
    story_content: str,
    scope_content: str,
    jira_key: str = "",
    cwd: str = "",
    commit_message: str = ""
) → str
Parámetro Descripción
story_id Identificador de story (p.ej., "S7884.3")
slug Slug de la rama (p.ej., "story-bookends-mcp")
epic_dir Directorio del epic bajo work/epics/ (vacío = standalone)
story_content Markdown del doc de story (juicio del LLM)
scope_content Markdown del doc de scope (juicio del LLM)
jira_key Clave de issue del backlog (vacío salta transición + bind)
cwd Ruta absoluta de checkout del llamante. Requerido en modo stdio community
commit_message Override del mensaje de commit de scope

Una llamada reemplaza la secuencia determinista del skill /rai-story-start. Los estados son ok/warn/blocked — blocked requiere una decisión humana (la herramienta nunca auto-resuelve); los pasos tras un bloqueo se saltan.


raise_story_close_full

Cierre compuesto de story: gate de retro, hygiene, merge, limpieza, Done.

raise_story_close_full(
    story_id: str,
    slug: str,
    epic_dir: str,
    merge_summary: str,
    jira_key: str = "",
    cwd: str = ""
) → str
Parámetro Descripción
story_id Identificador de story (p.ej., "S7884.3")
slug Slug de la rama usado en la apertura
epic_dir Directorio del epic bajo work/epics/
merge_summary Resumen de una línea para el cuerpo del commit de merge
jira_key Clave de issue del backlog (vacío salta la transición a Done)
cwd Ruta absoluta de checkout del llamante. Requerido en modo stdio community

Una llamada reemplaza la secuencia determinista de cierre del skill /rai-story-close. El merge target se resuelve worktree DB → rama del epic → dev. Los conflictos abortan y bloquean; una retro ausente bloquea. La revisión AR y las actualizaciones del epic-scope quedan con el skill (juicio).


raise_epic_story_create

Crea una story de Jira Y la registra en work_items atómicamente.

raise_epic_story_create(
    summary: str,
    project: str,
    epic_jira_key: str,
    cwd: str = ""
) → str
Parámetro Descripción
summary Resumen/título del issue
project Clave del proyecto (p.ej., "RAISE")
epic_jira_key Clave Jira del epic padre
cwd Ruta absoluta de checkout del llamante. Requerido en modo stdio community

Retorna {status: ok, jira_key, work_item_id, local_key} cuando ambos se crean, {status: already_registered, ...} en re-ejecución idempotente, o {status: error, reason, ...} con contexto del fallo.


Dominio Task

Herramienta para el ritual por tarea de implementación (gates, aserción de rama, commit, señal).

raise_task_complete

Colapsa el bucle interno de tarea: gates + aserción de rama + add + commit + señal.

raise_task_complete(
    work_id: str,
    task_name: str,
    expected_branch: str,
    commit_message: str,
    gate_scope: str = "",
    files: str = "",
    cwd: str = ""
) → str
Parámetro Descripción
work_id Identificador de story/bugfix (p.ej., "S8370.1") para correlación de señales
task_name Nombre de tarea en texto libre (p.ej., "T2: step functions") — usado en el campo task de la señal WorkLifecycle
expected_branch Rama que debe estar activa antes de cualquier mutación git
commit_message Mensaje de commit completo (juicio del LLM, incluido Co-Author)
gate_scope Ruta de scope para una ejecución acotada de gates; vacío = suite completa
files Rutas de archivos separadas por espacio a staging; vacío = git add -u
cwd Ruta absoluta de checkout del llamante. Requerido en modo stdio community

Una llamada reemplaza la secuencia determinista por tarea del skill /rai-story-implement. Los estados son ok/warn/blocked — blocked requiere una decisión humana (la herramienta nunca auto-resuelve). Lee committed (nunca el estado por paso) para saber si se produjo un sha de commit; blocking_gate y remediation te dicen qué arreglar.


Resumen de herramientas

Dominio Herramientas
Pipeline 9 (pipeline_list, pipeline_start, pipeline_advance, pipeline_pause, pipeline_cancel, pipeline_restore, pipeline_status, pipeline_runs, pipeline_decision)
Artifact 2 (raise_artifact_emit, raise_artifact_query)
Backlog 4 (raise_backlog_context, raise_backlog_transition, raise_backlog_create, raise_backlog_update)
Docs 3 (raise_docs_write, raise_docs_get, raise_docs_search)
Gate 1 (raise_gate_check)
Graph 2 (raise_graph_query, raise_graph_context)
Pattern 3 (raise_pattern_query, raise_pattern_add, raise_pattern_reinforce)
Session 8 (raise_signal_emit, raise_session_context, raise_session_history, raise_session_topic, raise_session_bind, raise_session_open, raise_session_close_full, raise_ledger_add)
Story 3 (raise_story_open, raise_story_close_full, raise_epic_story_create)
Task 1 (raise_task_complete)
Total 36

Ver también