MCP Tools Reference
The Trurlic MCP server exposes twelve tools over stdio transport. Six are read-only (concurrent access, read lock only) and six are mutating (exclusive access, write lock + file lock).
Read tools
Section titled “Read tools”advance
Section titled “advance”Compute the workflow step for a component and return the next action. The orchestration hub — call before acting on a component and after completing each action. The returned ready field is the only signal that implementation can proceed.
| Parameter | Type | Required | Description |
|---|---|---|---|
component | string | Yes | Component name (kebab-case) or "project" |
task_type | enum | No | new_component, feature, fix, learn, review, harden, bootstrap. Inferred from graph state if omitted. |
task | string | No | Task context passed to design prompts |
step_evidence | object | No | Evidence of user involvement for completed steps. Keys are step names, values are evidence strings. Gated steps require at least 20 bytes. |
Returns: { step, action, requires_user_input, ready }.
get_context
Section titled “get_context”Get the architectural context for a component. Returns decisions, project-wide rules, related decisions from connected components, and an authoritative brief for coding agents.
| Parameter | Type | Required | Description |
|---|---|---|---|
component | string | Yes | Component name or "project" |
task | string | No | Current coding task description |
depth | enum | No | "full" (default) or "constraints" (60–70% fewer tokens) |
check_pattern
Section titled “check_pattern”Check whether a pattern or approach is covered by existing decisions. Returns matching decisions sorted by relevance, or suggested_component if not covered.
| Parameter | Type | Required | Description |
|---|---|---|---|
description | string | Yes | Pattern or approach to check |
get_architecture
Section titled “get_architecture”Full architectural overview: components, connections, decision counts, patterns, and project-wide decisions. Lists components with zero decisions as needing design.
No parameters.
validate_consistency
Section titled “validate_consistency”Full graph integrity check. Same validation as trurlic check.
No parameters.
get_step_prompt
Section titled “get_step_prompt”Get the prompt for a specific workflow step. Called as directed by advance. Returns system instructions, component context, and step metadata.
| Parameter | Type | Required | Description |
|---|---|---|---|
component | string | Yes | Component name or "project" |
step | enum | Yes | Workflow step name (see Workflow Engine) |
task | string | No | Task context |
task_type | enum | No | Task type for variant prompts |
Write tools
Section titled “Write tools”All write tools validate the full graph before committing. Invalid mutations are refused with a clear error.
record_decision
Section titled “record_decision”Record a single architectural decision. Validates all edges before writing. Atomic commit. Returns the decision name, path, warnings, and any detected pattern opportunities.
| Parameter | Type | Required | Description |
|---|---|---|---|
component | string | Yes | Component name or "project" |
choice | string | Yes | Concise decision title |
reason | string | Yes | Reasoning behind the decision |
attribution | enum | Yes | "user" or "agent" |
alternatives | string[] | No | Rejected options with reasons |
depends_on | string[] | No | Decision names this depends on |
constrains | string[] | No | Decision names this constrains |
tags | string[] | No | Categorical tags |
supersedes | string | No | Decision name being replaced |
record_pattern
Section titled “record_pattern”Record a pattern — a synthesis of multiple decisions into a reusable rule. Requires at least 2 decisions.
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Human-readable pattern name |
description | string | Yes | What this pattern means |
decisions | string[] | Yes | Decision names (minimum 2, must all exist) |
components | string[] | No | Component names (inferred if omitted) |
tags | string[] | No | Categorical tags |
update_decision
Section titled “update_decision”Modify an existing decision. Two modes: amend edits in place (typo, clarification); supersede creates a new decision replacing the old one (substantive change).
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Existing decision name |
mode | enum | Yes | "amend" or "supersede" |
choice | string | No | New choice text |
reason | string | No | New reason text |
At least one of choice or reason must be provided.
remove_decision
Section titled “remove_decision”Remove a decision with cascade awareness. Refuses if other decisions depend on it or a pattern would shrink below 2 members. Reports affected patterns and edges.
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Decision filename (without .toml) |
add_component
Section titled “add_component”Add a new component to the architecture graph.
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Kebab-case component name |
description | string | No | One-line description |
add_connection
Section titled “add_connection”Add a directional connection between two components. Represents data or control flow.
| Parameter | Type | Required | Description |
|---|---|---|---|
from | string | Yes | Source component name |
to | string | Yes | Target component name |
Tool classification
Section titled “Tool classification”The MCP dispatch uses tool classification to choose lock granularity:
- Read tools (
advance,get_context,check_pattern,get_architecture,validate_consistency,get_step_prompt) acquire a shared read lock — concurrent access, no blocking. - Write tools (
record_decision,record_pattern,remove_decision,update_decision,add_component,add_connection) acquire an exclusive write lock plus a file lock — serialized access with full validation before commit.
Unknown tool names return an error response with isError: true.