Skip to content

MCP Tools Reference

trurlic serve exposes 14 tools over stdio. Eight are read-only (concurrent, read lock); six mutate the graph (exclusive write lock + file lock, full-graph validation before commit). Every tool carries annotations; all are closed-world. Unknown tool names return isError: true.

The orchestration hub. Computes the next workflow step and returns the next action. Call before acting on a component and again after each action; the ready field is the only signal that implementation may begin.

ParameterTypeRequiredDescription
componentstringYesComponent name (kebab-case) or "project"
task_typeenumNonew_component, feature, fix, learn, review, harden, bootstrap. Inferred from graph state if omitted.
modeenumNoagent or interactive. If omitted, advance returns requires_mode: true — present the choice to the user.
taskstringNoTask context passed through to step prompts
step_evidenceobjectNoMap of step_name → evidence string. Gated (interactive) steps require ≥20 bytes.

Returns { step, action, requires_user_input, ready } (or requires_mode).

The architectural brief for a component: project-wide rules, component decisions, patterns, related decisions from connected components, and the override policy.

ParameterTypeRequiredDescription
componentstringYesComponent name or "project"
taskstringNoCurrent coding task description
depthenumNofull (default) or constraints (choice text only, ~60–70% fewer tokens)

Full system overview: components, connections, decision counts, patterns, and project-wide decisions. Flags components with zero decisions as needing design. No parameters.

Check whether an approach is already covered by existing decisions. Returns matching decisions by relevance, or a suggested_component if uncovered.

ParameterTypeRequiredDescription
descriptionstringYesPattern or approach to check

The prompt for a specific workflow step — system instructions, component context, and step focus. Called as directed by advance.

ParameterTypeRequiredDescription
componentstringYesComponent name or "project"
stepenumYesOne of the 16 workflow steps
modeenumYesagent or interactive (selects the prompt variant)
taskstringNoTask context
task_typeenumNoTask type for variant prompts

Reverse lookup: given a file path, every decision whose code_refs reference it (exact match or directory prefix). Does not include project-wide rules — pair with get_context for full coverage.

ParameterTypeRequiredDescription
filestringYesRelative path or directory (e.g. src/store/write.rs or src/store). Absolute paths and .. are rejected.

A decision’s current state (choice, reason, attribution, created) plus every prior version in chronological order and a revision count.

ParameterTypeRequiredDescription
namestringYesDecision name (without .toml)

Call after implementing, before committing. Returns the decisions that apply to the files you changed, plus instructions to check each for compliance (verdicts: RESPECTED / VIOLATED / NEEDS_REVIEW). Project-wide rules are always included.

ParameterTypeRequiredDescription
componentstringYesComponent name or "project"
changed_filesstring[]YesNon-empty list of relative paths you changed. Absolute paths and .. are rejected.

All write tools validate the full graph before committing. Invalid mutations are refused with a clear error.

Record a single decision. Validates all edges, commits atomically, and returns the decision name, path, warnings, and any detected pattern opportunity.

ParameterTypeRequiredDescription
componentstringYesComponent name or "project"
choicestringYesConcise decision title
reasonstringYesReasoning behind the decision
attributionenumYesuser (human present) or agent (autonomous)
alternativesstring[]NoRejected options with reasons
depends_onstring[]NoDecision names this depends on
constrainsstring[]NoDecision names this constrains
tagsstring[]NoCategorical tags
code_refsobject[]No{ file, symbol? } locations. Agent mode should always include these.

Synthesize a reusable rule from two or more decisions.

ParameterTypeRequiredDescription
namestringYesHuman-readable pattern name
descriptionstringYesWhat the pattern means
decisionsstring[]YesDecision names — must all exist, minimum 2
componentsstring[]NoComponent names (inferred from decisions if omitted)
tagsstring[]NoCategorical tags

Modify a decision in place; its name and every edge survive unchanged.

ParameterTypeRequiredDescription
namestringYesExisting decision name
modeenumYesrevise or promote
choicestringNoNew choice text (revise only)
reasonstringNoNew reason text (revise only)
tagsstring[]NoNew tags (revise only)
code_refsobject[]NoNew { file, symbol? } refs (revise only)
  • revise — update content; the previous choice/reason is versioned into history.
  • promote — mark an agent decision as human-reviewed (attribution → user). Only when the user has explicitly reviewed it; never autonomously, never in agent mode.

Remove a decision with cascade awareness. Refuses if others DependsOn it or a pattern would drop below two members; reports affected patterns and edges.

ParameterTypeRequiredDescription
namestringYesDecision filename (without .toml)

destructiveHint: true.

ParameterTypeRequiredDescription
namestringYesKebab-case component name
descriptionstringNoOne-line role summary

Directional connection (data/control flow) that surfaces related decisions in get_context and get_step_prompt.

ParameterTypeRequiredDescription
fromstringYesSource component name
tostringYesTarget component name