도구 레퍼런스
MCP 서버가 노출하는 읽기·쓰기 전체 표면과, 그 행동의 근거가 되는 도메인 리소스.
읽기
list_projects
접근 가능한 ground: slug, name, latestActivityAt, isActive, transplanting.
입력 — 없음
get_graph
트리: nodes(plan/implements/dormant 플래그 포함), edges, apis, seasons, bugs, project.transplanting. summary 뷰는 soft-deleted 노드를 제외합니다.
입력 — slug; 선택 view, rootId/depth, maxType, role, season, descriptions
큰 트리는 한 번에 다 읽지 말고 조각으로 읽습니다:
rootId(+depth) — 특정 trunk나 limb. 먼저maxType="trunk"골격으로 id를 확보하세요.maxType— 레이어 상한.twig면 leaf·vein을 뺀 골격이 나옵니다.role— 단면(structure / object / action).season— 그 시즌에 자란 것.descriptions—none/excerpt/full. 가장 무거운 필드를 제어합니다.
summary에는 shape(깊이·너비), 노드별 childCount, 구조 냄새를 짚는 iaHints도 함께 실립니다.
get_impact
파급 범위 — 대상이 깨질 때 영향받는 노드를 의존성·API 흐름을 따라 순회합니다.
입력 — slug, node 또는 bug; 선택 direction(affected / dependsOn / both)
list_bugs
해당 ground의 버그. 각 버그는 score(0–8 변경 위험도)와 impactCount를 가집니다.
기본값은 status: "active" — wild + chasing입니다. 잡힌(catched) 버그는 이력이라 스캔에서 빠지며, 필요할 때 catched나 all로 부릅니다.
입력 — slug; 선택 status(active / wild / chasing / catched / all), limit, order(asc / desc), view
get_bug
버그 단건. 번호(ref: 14 — 화면의 #014) 또는 id로 조회하며, 전체 설명과 파급 범위를 함께 반환합니다.
입력 — slug, ref
list_seasons
시즌(시간순).
입력 — slug
list_events
ground의 append-only 변경 이력(create / update / delete / plan_commit).
입력 — slug; 선택 limit, before, entityType
쓰기 — 트리·엣지·API
create_node
식물 어휘 프로토콜을 따르며 soft 이슈는 경고로 알립니다. leaf-first로 빌드하세요.
입력 — slug, type, label; 선택 parent, season, description, metadata
update_node
label/type/parent/season/description/metadata 패치. 실현한 코드는 metadata.implements에 기록합니다.
입력 — slug, id, patch
delete_node
soft 삭제(활성 자손이 있으면 거부). hard와 cascade는 옮겨심는 중에만 동작합니다.
입력 — slug, id; 선택 hard
create_edge / delete_edge
노드 간 의존성·데이터 흐름 엣지.
입력 — slug, source·target(생성) 또는 id(삭제)
create_api / update_api / delete_api
API 흐름 — 일반 엣지가 아닌 1차 시민.
입력 — slug, start/end, …
쓰기 — ground·버그
create_project
새 ground. 옮겨심기 모드로 시작하며, 뿌리내리기 전까지 가드가 완화됩니다.
입력 — slug, name; 선택 description
create_bug
score는 0–8 변경 위험도(영향도 × 수정 난이도)이며 기본값은 4입니다.
입력 — slug, title, target {kind, id?}; 선택 score, status
update_bug / delete_bug
status 전이, score, metadata.resolvedVersion 등.
입력 — slug, id, patch
Plan 루프 · 라이프사이클
commit_plan
plan 노드를 정식 트리로 승격합니다. metadata.implements(실현 증거)가 없으면 거부됩니다.
입력 — slug, id
record_commit
변경 파일과 implements가 매칭되는 모든 노드의 metadata.commits에 커밋을 누적합니다. 보통 CI가 호출합니다.
입력 — slug, sha, files; 선택 message
reopen_transplant
뿌리내린 ground를 다시 옮겨심기로 되돌립니다 — 사용자가 명시적으로 요청할 때만. 뿌리내리기(종료)는 사람이 UI에서만 합니다.
입력 — slug
시즌은 쓰기 도구가 없습니다 — 사람만 생성합니다(umtri://rules/seasons-human-only).
리소스
read-only 리소스가 AI 클라이언트의 행동을 Umtri 도메인 규칙에 맞춰줍니다:
| URI | 내용 |
|---|---|
umtri://rules/vocabulary | 식물 메타포(trunk → limb → twig → leaf → vein), role, 트리=정보구조도, “작업 결과 기록(작업 로그 금지)”. |
umtri://rules/vocabulary-detailed | 재분류, twig-vs-leaf, 승격 신호, 한글 라벨 휴리스틱. |
umtri://rules/system-structure | 노드는 정보 단위지 코드 파일이 아님; metadata 키 컨벤션. |
umtri://rules/plan | plan 노드는 노드 기반 브리프: 읽기 → 코드 실현 → implements 부착 → commit. |
umtri://rules/transplant | 옮겨심는 중엔 과거 시즌 수정·hard delete 허용(프로젝트 임포트용). |
umtri://rules/seasons-human-only | AI가 시즌을 만들면 안 되는 이유와 방식. |
umtri://about/vision | Umtri란 무엇인가 — 브리프 + 형상 기록 허브 — 그리고 작업 톤. |