09

Tools reference

The full read + write surface the MCP server exposes, and the domain resources it grounds itself in.

Read

list_projects

Accessible grounds with slug, name, latestActivityAt, isActive, transplanting.

Input — none

get_graph

The tree: nodes (with plan / implements / dormant flags), edges, apis, seasons, bugs, project.transplanting. The summary view omits soft-deleted nodes.

Inputslug; optional view, rootId/depth, maxType, role, season, descriptions

Read a big tree in slices rather than all at once:

  • rootId (+ depth) — one trunk or limb. Get its id from a maxType="trunk" skeleton first.
  • maxType — a layer ceiling. twig gives the skeleton without leaves and veins.
  • role — a cross-section (structure / object / action).
  • season — what grew in that season.
  • descriptionsnone / excerpt / full, controlling the heaviest field.

The summary also carries a shape block (depth and width), a per-node childCount, and iaHints flagging structural smells.

get_impact

Blast radius — the nodes affected if a target breaks, following dependencies and API flow.

Inputslug, node or bug; optional direction (affected / dependsOn / both)

list_bugs

Bugs of the ground. Each carries a score (0–8 change risk) and an impactCount.

Defaults to status: "active" — wild + chasing. Healed bugs are history, so a scan leaves them out until you ask for catched or all.

Inputslug; optional status (active / wild / chasing / catched / all), limit, order (asc / desc), view

get_bug

One bug by its number (ref: 14 — the #014 shown in the UI) or its id. Returns the full description plus its blast radius.

Inputslug, ref

list_seasons

Seasons in chronological order.

Inputslug

list_events

Append-only change history of the ground (create / update / delete / plan_commit).

Inputslug; optional limit, before, entityType

Write — tree, edges, APIs

create_node

Follows the plant vocabulary protocol and warns on soft issues. Build leaf-first.

Inputslug, type, label; optional parent, season, description, metadata

update_node

Patch label / type / parent / season / description / metadata. Record realized code in metadata.implements.

Inputslug, id, patch

delete_node

Soft delete; rejects nodes with active children. hard (with cascade) works only while the ground is transplanting.

Inputslug, id; optional hard

create_edge / delete_edge

Dependency and data-flow edges between nodes.

Inputslug, source and target (create) or id (delete)

create_api / update_api / delete_api

API flows — first-class, not generic edges.

Inputslug, start / end, …

Write — grounds & bugs

create_project

A new ground. It starts in transplant mode, with relaxed guards until you root it.

Inputslug, name; optional description

create_bug

score is a 0–8 change risk (impact × fix difficulty) and defaults to 4.

Inputslug, title, target {kind, id?}; optional score, status

update_bug / delete_bug

Status transitions, score, metadata.resolvedVersion, and so on.

Inputslug, id, patch

Plan loop & lifecycle

commit_plan

Promotes a plan node into the real tree. Rejected unless the node carries metadata.implements — proof it was actually realized.

Inputslug, id

record_commit

Appends a commit to metadata.commits of every node whose implements match a changed file. Usually called by CI.

Inputslug, sha, files; optional message

reopen_transplant

Re-opens transplant on a rooted ground — only on explicit user request. Rooting back is human-only, from the UI.

Inputslug

Seasons have no write tool — they are created by humans only (umtri://rules/seasons-human-only).

Resources

Read-only resources let AI clients ground their behaviour in Umtri’s domain rules:

URIWhat it covers
umtri://rules/vocabularyPlant metaphor (trunk → limb → twig → leaf → vein), roles, the tree as an information-structure diagram, “record results not a work log”.
umtri://rules/vocabulary-detailedReclassification, twig-vs-leaf, promotion signals, Korean label heuristics.
umtri://rules/system-structureNodes are information units, not code files; metadata key conventions.
umtri://rules/planPlan nodes are a node-based brief: read → realize in code → attach implements → commit.
umtri://rules/transplantWhile transplanting, past-season edits and hard-delete are allowed for importing a project.
umtri://rules/seasons-human-onlyWhy and how AI tools must not create seasons.
umtri://about/visionWhat Umtri is — the brief + configuration-record hub — and the tone to use.