Skip to content

rai-workspace MCP Tools Reference

The rai-workspace MCP server exposes 26 tools across 8 domains. These tools are available to any MCP-capable client (Claude Code, Hermes Agent, etc.) when the server is running.

Pipeline orchestration runs exclusively through MCP tools. See Pipelines for the tool reference and Pipeline Quickstart for a hands-on walkthrough.

Starting the server

The server starts automatically when Claude Code loads .claude/settings.json. To start manually:

python -m raise_cli.pipeline.mcp_server

Pipeline domain

Tools for orchestrating the story/epic/bugfix pipeline lifecycle.

pipeline_list

List available pipelines with their phases.

pipeline_list() → str

Returns a JSON list of pipeline definitions found in .raise/pipelines/. Use to discover available pipeline names before calling pipeline_start.


pipeline_start

Start a pipeline run. Returns the first phase to execute.

pipeline_start(pipeline_name: str, issue_id: str) → str
Parameter Description
pipeline_name Pipeline name (e.g., "story", "epic", "bugfix")
issue_id Issue key for traceability (e.g., "RAISE-1281")

Returns a JSON object with run_id, current_phase, instruction, and skill for the first phase. Pass run_id to subsequent pipeline_advance calls.


pipeline_advance

Mark current phase as done and get the next phase.

pipeline_advance(run_id: str, approve: bool = False, cwd: str = "") → str
Parameter Description
run_id Run ID returned by pipeline_start
approve Set to True to approve an HITL gate on the current phase
cwd Working directory for artifact resolution. Required when calling from a git worktree (the MCP server CWD differs from the session's CWD). Defaults to server CWD.

Call after completing the skill for the current phase. If the phase has an HITL gate, the first call returns gate_pending — call again with approve=True to pass.


pipeline_pause

Pause a pipeline run. The run can be resumed by calling pipeline_advance.

pipeline_pause(run_id: str) → str

pipeline_cancel

Cancel a pipeline run. Cancelled runs cannot be resumed.

pipeline_cancel(run_id: str) → str

pipeline_restore

Restore full pipeline state after compaction or session restart.

pipeline_restore(run_id: str) → str

Returns the current run state and context for the current phase. Use when resuming work after a context compaction or Claude Code restart.


pipeline_status

Get current status of a pipeline run.

pipeline_status(run_id: str) → str

Returns run_id, status, current_phase, total_phases, and phase history.


pipeline_runs

List all active and recent pipeline runs.

pipeline_runs() → str

Returns runs ordered by last activity. Use to find a run_id when resuming after compaction.


Artifact domain

Tools for persisting and querying structured story artifacts (design, plan, retrospective).

raise_artifact_emit

Validate and persist a structured story artifact.

raise_artifact_emit(
    artifact_type: str,
    story_id: str,
    content: str,
    session_id: str = ""
) → str
Parameter Description
artifact_type One of "design", "plan", "implement", "review", "retro"
story_id Story identifier (e.g., "RAISE-1281")
content JSON string with artifact fields (see skill docs for schema per type)
session_id Optional session ID for correlation

raise_artifact_query

Query artifacts by story and optionally by type.

raise_artifact_query(story_id: str, artifact_type: str = "") → str
Parameter Description
story_id Story identifier
artifact_type Optional filter: "design", "plan", "implement", "review", "retro"

Backlog domain

Tools for reading and updating backlog items (Jira, filesystem adapter).

raise_backlog_context

Get issue details from the backlog for context.

raise_backlog_context(issue_key: str, adapter: str = "jira", cwd: str = "") → str
Parameter Type Default Description
issue_key str required Issue key (e.g., "RAISE-1310")
adapter str "jira" Adapter name (e.g., "jira", "filesystem")
cwd str "" Working directory override for worktree contexts

Returns title, description, status, labels, parent, and story points.


raise_backlog_transition

Transition a backlog issue to a new status.

raise_backlog_transition(
    issue_key: str,
    status: str,
    adapter: str = "jira",
    cwd: str = ""
) → str
Parameter Type Default Description
issue_key str required Issue key (e.g., "RAISE-1438")
status str required Target status slug (e.g., "implement", "done")
adapter str "jira" Adapter name
cwd str "" Working directory override for worktree contexts

raise_backlog_create

Create a new backlog issue.

raise_backlog_create(
    summary: str,
    project: str,
    issue_type: str = "Story",
    description: str = "",
    labels: str = "",
    parent: str = "",
    adapter: str = "jira",
    cwd: str = ""
) → str
Parameter Type Default Description
summary str required Issue summary/title
project str required Project key (e.g., "RAISE")
issue_type str "Story" Issue type (e.g., "Story", "Task", "Bug")
description str "" Issue description
labels str "" Comma-separated labels
parent str "" Parent issue key for sub-tasks
adapter str "jira" Adapter name
cwd str "" Working directory override for worktree contexts

raise_backlog_update

Update fields on an existing backlog issue.

raise_backlog_update(
    issue_key: str,
    summary: str = "",
    labels: str = "",
    priority: str = "",
    assignee: str = "",
    custom_fields: str = "",
    adapter: str = "jira",
    cwd: str = ""
) → str
Parameter Type Default Description
issue_key str required Issue key (e.g., "RAISE-1234")
summary str "" New summary/title
labels str "" Comma-separated labels
priority str "" Priority name (e.g., "High")
assignee str "" Assignee email
custom_fields str "" JSON string of custom fields to update
adapter str "jira" Adapter name
cwd str "" Working directory override for worktree contexts

Updates fields on a Jira issue. Only non-empty parameters are applied. Returns confirmation or error.


Docs domain

raise_docs_write

Write a document artifact to the local filesystem and optionally publish to the docs adapter (Confluence).

raise_docs_write(
    doc_type: str,
    title: str,
    content: str,
    output_path: str,
    parent: str = "",
    cwd: str = ""
) → str
Parameter Type Default Description
doc_type str required Document type (e.g., "story", "epic-scope", "adr", "research")
title str required Document title
content str required Markdown content
output_path str required Relative path for local file
parent str "" Parent page identifier for the docs adapter
cwd str "" Working directory override for worktree contexts

Writes the content to output_path and publishes to the configured docs adapter. Returns the local path and adapter result.


Gate domain

raise_gate_check

Run quality gate checks.

raise_gate_check(gate_id: str | None = None) → str
Parameter Description
gate_id Specific gate to check (e.g., "gate-lint", "gate-tests"). Pass None or omit to run all gates.

Returns pass/fail per gate with output. Commands are read from .raise/manifest.yaml — null keys skip automatically.


Graph domain

Tools for querying the RaiSE knowledge graph (symbols, patterns, governance nodes).

raise_graph_query

Search the RaiSE knowledge graph for relevant nodes.

raise_graph_query(query: str, limit: int = 5) → str
Parameter Description
query Search terms (e.g., "pipeline session start", "storage SQLite")
limit Maximum results to return (default 5)

raise_graph_context

Get context for a specific module from the knowledge graph.

raise_graph_context(module_id: str) → str
Parameter Description
module_id Module identifier (e.g., "mod-session", "mod-storage")

Pattern domain

Tools for querying, adding, and reinforcing behavioral patterns.

raise_pattern_query

Search RaiSE patterns by keywords.

raise_pattern_query(keywords: str, limit: int = 10) → str
Parameter Description
keywords Search terms against pattern content and context tags
limit Maximum results (default 10)

raise_pattern_add

Add a new pattern to memory.

raise_pattern_add(
    content: str,
    context: str = "",
    pattern_type: str = "technical",
    from_story: str = ""
) → str
Parameter Description
content Pattern description text
context Comma-separated context tags (e.g., "testing,mocks,integration")
pattern_type One of "technical", "process", "architecture", "approach", "risk", "codebase"
from_story Story that produced this pattern (e.g., "RAISE-1281")

raise_pattern_reinforce

Reinforce a pattern with a vote signal.

raise_pattern_reinforce(
    pattern_id: str,
    vote: int = 1,
    from_story: str = ""
) → str
Parameter Description
pattern_id Pattern ID (e.g., "PAT-E-1713")
vote 1 = followed, 0 = not relevant, -1 = contradicted
from_story Story context for the vote

Called at story review to record whether a pattern was applied. 0 does not count toward evaluations — use for patterns that weren't relevant.


Session domain

Tools for emitting lifecycle signals, loading context, and querying session history.

raise_signal_emit

Emit a work lifecycle signal for tracking.

raise_signal_emit(
    work_type: str,
    work_id: str,
    event: str,
    phase: str = "init",
    task: str = ""
) → str
Parameter Description
work_type "epic" or "story"
work_id Work identifier (e.g., "RAISE-1281", "E3978")
event "start", "complete", or "blocked"
phase Workflow phase: "init", "design", "plan", "implement", "review", "close"
task Task identity within a phase (e.g., "Task 1: add schema fields")

raise_session_context

Load RaiSE session context sections for AI consumption.

raise_session_context(sections: str = "progress,coaching") → str
Parameter Description
sections Comma-separated sections: "progress", "coaching", "governance", "behavioral"

Returns ~200 tokens of governance context for injection into LLM turns.


raise_session_history

Query recent session records with narratives and outcomes.

raise_session_history(
    limit: int = 10,
    epic: str = "",
    project_path: str = ""
) → str
Parameter Description
limit Maximum sessions to return (default 10)
epic Filter to sessions for a specific epic (e.g., "E2780"). Empty = all epics.
project_path Project root path. Defaults to Path.cwd().

Returns sessions ordered by closed_at DESC with narrative, next_session_prompt, outcomes, and pattern IDs.


raise_session_topic

Emit a session topic event for tracking the current phase and sub-step.

raise_session_topic(kind: str, topic: str) → str
Parameter Description
kind Skill phase kind (e.g., "design", "implement", "close")
topic Sub-step within the phase (e.g., "gemba", "examples", "merge")

Used by skills as token markers to keep session focus visible and feed session history.


raise_session_bind

Bind a key-value pair to the current session context file.

raise_session_bind(key: str, value: str) → str
Parameter Description
key Context key (e.g., RAISE_SESSION_JIRA_KEY, RAISE_SESSION_MISSION_ID)
value Value to bind

Persists the binding in .raise/rai/sessions/$RAISE_CC_SESSION_ID/context.env. Uses line-replace semantics — existing keys are updated, other keys are preserved. Used by /rai-story-start and /rai-session-start to late-bind Jira keys and mission IDs.


Tool count summary

Domain Tools
Pipeline 8 (pipeline_list, pipeline_start, pipeline_advance, pipeline_pause, pipeline_cancel, pipeline_restore, pipeline_status, pipeline_runs)
Artifact 2 (raise_artifact_emit, raise_artifact_query)
Backlog 4 (raise_backlog_context, raise_backlog_transition, raise_backlog_create, raise_backlog_update)
Docs 1 (raise_docs_write)
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 5 (raise_signal_emit, raise_session_context, raise_session_history, raise_session_topic, raise_session_bind)
Total 26

See also