MCP 도구
MCP 서버가 제공하는 읽기·쓰기 데이터 명령 및 목록입니다.
읽기
list_projects
프로젝트 배지의 목록을 읽어오는 도구입니다. 아래의 항목들을 확인할 수 있습니다.
- 슬러그 (
slug) - 제목 (
name) - 마지막 활동 시기 (
latestActivityAt) - 활성 여부 (
isActive) - 옮겨심기 상태 (
transplanting) - 노드 수 (
nodeCount), 열린 버그 수 (openBugs), 시즌 수 (seasonCount) - 현재 시즌 이름 (
nowSeasonLabel) - 설명 발췌 (
description) - 위키 문서 수 (
wikiCount) — 문서가 있을 때만 - 소속 팀 (
org, 팀 슬러그)과 그 팀에서의 내 역할 (role:owner/editor/viewer) — 팀 배지일 때만.viewer면 쓰기 도구는 403으로 거절됩니다
파라미터
| 구분 | 이름 | 값 | 비고 |
|---|---|---|---|
| 선택 | view | summary / full | full인 경우 그라운드의 의도(seedMeta: 목표·마감·예산·대상)까지 호출 |
get_graph
특정 프로젝트 배지에 그려진 나무(Tree) 데이터와 세부 항목들을 읽어옵니다.
- 노드 (
nodes):plan/implements/dormant 플래그 포함 - 의존성 (
edges) - API (
apis) - 시즌 (
seasons) - 버그 (
bugs) - 옮겨심기 상태 (
project.transplanting) - 그라운드의 의도 (
project.seedMeta) — 사람이 적어 둔 목표·마감·예산·대상. 구조를 제안하기 전에 읽습니다.
파라미터
| 구분 | 이름 | 값 | 비고 |
|---|---|---|---|
| 필수 | slug | 나무를 읽을 배지의 slug | |
| 선택 | view | summary / full | 기본 summary. full이면 모든 필드와 삭제된(soft-deleted) 노드까지 |
| 선택 | rootId | 노드 id | 해당 노드(trunk·limb 등)와 그 자식 가지만 선택 호출 |
| 선택 | depth | 숫자 | rootId로부터 아래로 몇 단계까지 호출할지 결정(0 = 해당 노드만), 생략하면 전부 호출 |
| 선택 | maxType | trunk / limb / twig / leaf / vein | 이 단계까지만 선택 호출. ex)twig: trunk ·limb·twig 호출, leaf·vein 제외 |
| 선택 | role | structure / object / action | 해당 역할에 해당되는 내용만 선택 호출 |
| 선택 | season | 시즌 id | 그 시즌에 자란 노드만 호출 |
| 선택 | descriptions | none / excerpt / full | 설명을 얼마나 호출할지 선택한다. 기본 excerpt(200자) |
| 선택 | bugStatus | active / wild / chasing / resolved / all | 버그 호출 여부 - active(기본값): 해결되지 않은 버그 전부 (wild+chasing) |
위의 파라미터를 이용해 그래프 구조가 크게 자란 경우, 한 번에 다 읽는 대신 부분만 읽을 수 있습니다: “이전 시즌에 자란 내용만 골라서 확인해줘.” “설명은 제외하고 이 프로젝트 트리 확인해줘.” “현재 이 프로젝트에 열려있는 버그 읽어봐줘.”
get_impact
영향범위를 확인합니다. 특정 부분에 문제가 발생했을 때 영향받는 노드를 의존성·API 흐름을 따라 확인합니다.
파라미터
| 구분 | 이름 | 값 | 비고 |
|---|---|---|---|
| 필수 | slug | ||
| 필수 | node | 노드 id | 영향 확인 기준점 (node) |
| 필수 | bug | 버그 id | 영향 확인 기준점 (bug) |
| 선택 | direction | affected / dependsOn / both | affected(기본값): 점검 부분에 문제 발생 시 영향을 받는 방향 dependsOn: 점검 부분에 영향을 끼칠 수 있는 방향 |
| 선택 | maxDepth | 숫자 | 순회할 최대 단계 수, 생략하면 제한 없이 확인 |
list_bugs
해당 프로젝트 배지의 버그 목록을 호출합니다. 위험도(score, 0–8)와 영향도 (impactCount)를 포함합니다.
파라미터
| 구분 | 이름 | 값 | 비고 |
|---|---|---|---|
| 필수 | slug | ||
| 선택 | status | active / wild / chasing / resolved / all | active(기본값) : wild + chasing |
| 선택 | limit | 숫자 | 최대 개수 |
| 선택 | order | asc / desc | 호출 순서, 등록된 순서 기준. asc(기본값): 오래된 것부터 |
| 선택 | view | summary / full | summary(기본값): 설명(description)과 메타 데이터(metadata)를 제외 |
get_bug
버그 한 건을 지정하여 호출합니다. 번호(ref: 14 — 화면의 #014) 또는 id로 조회하며, 전체 설명과 파급 범위를 함께 반환합니다.
파라미터
| 구분 | 이름 | 값 | 비고 |
|---|---|---|---|
| 필수 | slug | ||
| 필수 | ref | 번호 또는 id | 버그 번호(14) 또는 bug-<uuid> |
| 선택 | descriptions | none / excerpt / full | 설명을 얼마나 실을지. full(기본값): 전체 |
| 선택 | solution | none / open / full | full(기본값): 전체 open: 체크되지 않은 남은 일만 호출 |
list_seasons
시즌 목록을 호출합니다.
파라미터
| 구분 | 이름 | 값 | 비고 |
|---|---|---|---|
| 필수 | slug | ||
| 선택 | view | summary / full | full이면 화면용 metadata까지 |
list_events
프로젝트 배지의 변경 이력(create / update / delete / plan_commit)을 호출합니다.
파라미터
| 구분 | 이름 | 값 | 비고 |
|---|---|---|---|
| 필수 | slug | ||
| 선택 | limit | 숫자 | 기본 50, 최대 200 |
| 선택 | before | ISO 시각 | 이보다 오래된 것만(페이지 넘김) |
| 선택 | entityType | node / edge / api / bug | 한 종류의 이력만 |
| 선택 | entityId | id | 한 대상의 이력만(보통 entityType과 함께) |
쓰기 — 트리·의존성·API
create_node
식물 어휘 위계 프로토콜을 따르며, 위계를 어기면 거부하고 가벼운 문제는 경고로 조정하도록 유도합니다.
- leaf부터 채웁니다. leaf·vein을 추가할 때는 그 경로에 아직 없는 상위 노드(trunk·limb·twig)만 만들고 leaf를 붙입니다. trunk를 모두 깔고, limb를 모두 깔고 하는 식으로 층마다 먼저 채우지 않습니다.
- trunk는 plan이 될 수 없습니다. trunk는 나무의 틀이라 항상 확정된 상태로 만들어지며,
metadata.plan을 붙이면 거부됩니다.
파라미터
| 구분 | 이름 | 값 | 비고 |
|---|---|---|---|
| 필수 | slug | ||
| 필수 | type | trunk / limb / twig / leaf / vein | |
| 필수 | label | 나무에 보이는 이름 | |
| 선택 | parent | 노드 id | 생략하면 최상위(새 trunk)로 배정 |
| 선택 | season | 시즌 id | 생략하면 now 시즌으로 자동 배정 |
| 선택 | description | ||
| 선택 | tags | 문자열 목록 | |
| 선택 | metadata | 객체 | leaf·vein은 metadata.implements에 구현 파일 경로 |
| 선택 | sproutedAt | ISO 시각 | 실제 생성 시점 (이식 시점이 아닌, 실제 파일 생성 시점이 있는 경우) |
update_node
기존에 있던 노드를 수정합니다. 실현한 코드는 metadata.implements에 기록합니다.
과거 시즌에 이미 자란 노드의 시간/공간적 위치는 변경되지 않습니다. — parent·season·type·sproutedAt은 변경 불가하며, label·description·metadata·tags만 변경할 수 있습니다. 단, 처음 ‘옮겨심는’ 중에는 시즌에 상관없이 위치도 변경 가능합니다.
파라미터
| 구분 | 이름 | 값 | 비고 |
|---|---|---|---|
| 필수 | slug | ||
| 필수 | id | 노드 id | |
| 필수 | patch | 객체 | 바꿀 필드만 |
delete_node
기존에 있던 노드를 삭제합니다. 단, 가지 기록은 남아 슬라이더로 시간을 돌리면 가지의 흔적을 확인할 수 있습니다. (soft-delete) 단, 처음 ‘옮겨심는’ 중에는 흔적 삭제(hard-delete)를 할 수 있습니다.
파라미터
| 구분 | 이름 | 값 | 비고 |
|---|---|---|---|
| 필수 | slug | ||
| 필수 | id | 노드 id | |
| 선택 | cascade | true / false | 활성 자손까지 함께 삭제. |
| 선택 | hard | true / false | 영구 삭제. 옮겨심는 중에만 동작하며 되돌릴 수 없음 |
create_edge / delete_edge
노드 간 의존성(Edge)을 편집합니다. 방향은 source → target입니다.
파라미터
생성 (create_edge)
| 구분 | 이름 | 값 | 비고 |
|---|---|---|---|
| 필수 | slug | ||
| 필수 | source | 노드 id | 기대는 쪽 / 데이터가 나가는 쪽 |
| 필수 | target | 노드 id | |
| 필수 | type | dependency / data_flow | dependency : source가 target에 의존하고 있는 경우 data_flow: 데이터가 source에서 target으로 흐르는 경우 |
| 선택 | label | ||
| 선택 | metadata | 객체 |
삭제 (delete_edge)
| 구분 | 이름 | 값 | 비고 |
|---|---|---|---|
| 필수 | slug | ||
| 필수 | id | edge id |
create_api / update_api / delete_api
노드 간 호출 흐름을 편집합니다. 방향은 호출하는 쪽(start) → 호출받는 쪽(end)입니다.
파라미터
생성 (create_api)
| 구분 | 이름 | 값 | 비고 |
|---|---|---|---|
| 필수 | slug | ||
| 필수 | start | 노드 id | 호출하는 쪽 |
| 필수 | end | 노드 id | 호출받는 쪽 |
| 선택 | label | ||
| 선택 | description | ||
| 선택 | metadata | 객체 |
수정 (update_api)
| 구분 | 이름 | 값 | 비고 |
|---|---|---|---|
| 필수 | slug | ||
| 필수 | id | api id | |
| 필수 | patch | 객체 | 바꿀 필드만 |
삭제 (delete_api)
| 구분 | 이름 | 값 | 비고 |
|---|---|---|---|
| 필수 | slug | ||
| 필수 | id | api id |
쓰기 — 배지·버그
create_project
새 프로젝트 배지를 만듭니다. 처음 만들어지면 ‘옮겨심기’ 모드인 상태로 시작됩니다.
파라미터
| 구분 | 이름 | 값 | 비고 |
|---|---|---|---|
| 필수 | slug | URL 식별자. 영소문자·숫자·하이픈, 1~50자 | |
| 필수 | name | 표시 이름 | |
| 선택 | description | ||
| 선택 | org | 팀 슬러그 | 해당 팀에 만듭니다. 팀 소유자만 가능합니다. |
create_bug
새로운 버그를 보고합니다.
파라미터
| 구분 | 이름 | 값 | 비고 |
|---|---|---|---|
| 필수 | slug | ||
| 필수 | title | 한 줄 요약 | |
| 필수 | target | {kind, id?} | kind: node / api / ground. 프로젝트 자체의 문제면 {kind: "ground"} |
| 선택 | description | ||
| 선택 | solution | ||
| 선택 | score | 0–8 | 위험도, 기본값 4 |
| 선택 | status | open / in_progress / resolved / closed | 상태, 기본값 open |
설명(description)과 해결책(solution)은 마크다운(md) 문법으로 작성됩니다. 해결책 란은 - [ ] 항목 줄로 체크리스트를 만들어 관리할 수 있습니다.
update_bug / delete_bug
버그를 편집하거나 삭제합니다.
파라미터
수정 (update_bug)
| 구분 | 이름 | 값 | 비고 |
|---|---|---|---|
| 필수 | slug | ||
| 필수 | id | 버그 id | |
| 필수 | patch | 객체 | 바꿀 필드만. 체크리스트 한 항목은 solutionItem |
삭제 (delete_bug)
| 구분 | 이름 | 값 | 비고 |
|---|---|---|---|
| 필수 | slug | ||
| 필수 | id | 버그 id |
성장 관리
commit_plan
계획 노드(Plan Node)를 확정하여 성장 기록으로 승격합니다. metadata.implements(실현 증거)가 있어야 확정됩니다.
파라미터
| 구분 | 이름 | 값 | 비고 |
|---|---|---|---|
| 필수 | slug | ||
| 필수 | id | plan 노드 id |
record_commit
변경 파일과 실현 증거(implements)가 매칭되는 모든 노드의 metadata.commits에 커밋 기록을 작성합니다.
파라미터
| 구분 | 이름 | 값 | 비고 |
|---|---|---|---|
| 필수 | slug | ||
| 필수 | sha | 커밋 SHA(짧아도 됨) | |
| 필수 | files | 경로 목록 | 커밋에서 바뀐 파일(저장소 기준 경로) |
| 선택 | message | 커밋 메시지 |
create_season
새 시즌을 열고 now로 만듭니다. 에이전트가 사용자에게 확인을 요청하고, confirm:true를 보내야 생성됩니다.
파라미터
| 구분 | 이름 | 값 | 비고 |
|---|---|---|---|
| 필수 | slug | ||
| 필수 | label | 사람이 정한 시즌 이름(버전·단계·기간) | |
| 선택 | confirm | true | 사용자가 동의한 뒤 두 번째 호출에만. 첫 호출엔 생략 |
위키
현재 구축된 프로젝트의 사양을 기록합니다. 변경 기록이 남습니다.
list_wiki
프로젝트 배지의 위키 문서 목록. 본문은 기본 200자 발췌로 옵니다.
파라미터
| 구분 | 이름 | 값 | 비고 |
|---|---|---|---|
| 필수 | slug | ||
| 선택 | node | 노드 id 또는 none | 지정되면 해당 노드에 관련된 문서 목록을 호출, none이면 소속이 없는 문서 목록을 호출 |
| 선택 | kind | overview / concept / component / rule / glossary / none | 해당 종류의 문서만 호출, none이면 아직 분류되지 않은 문서만 호출 |
| 선택 | body | none / excerpt / full | 본문을 얼마나 실을 지 결정: 기본값 excerpt |
| 선택 | limit | 숫자 | 호출 최대 개수를 지정 |
| 선택 | order | asc / desc / tree | 마지막 수정일자 순서로 호출: 기본값 desc. tree면 목차 순서(개요부터 읽는 순서)로 호출 |
get_wiki
위키 문서 한 편을 전부 불러옵니다. rev를 지정해 예전 리비전을 읽을 수 있습니다.
파라미터
| 구분 | 이름 | 값 | 비고 |
|---|---|---|---|
| 필수 | slug | 배지 slug | |
| 필수 | ref | 문서 slug 또는 id | |
| 선택 | rev | 숫자 | 호출할 리비전. 생략하면 현재 문서 호출 |
list_wiki_revisions
문서의 리비전 목록을 불러옵니다.
파라미터
| 구분 | 이름 | 값 | 비고 |
|---|---|---|---|
| 필수 | slug | ||
| 필수 | ref | 문서 slug 또는 id | |
| 선택 | limit | 숫자 | |
| 선택 | order | asc / desc | 리비전 번호순. 기본 desc |
write_wiki
문서를 편집합니다. 기존에 없는 문서 이름이면 새 문서를 만듭니다. 기본값인 replace모드는 본문 전체를 덮어쓰므로 먼저 get_wiki로 읽고 고칩니다. 기본적으로 같은 작성자가 30분 내에 고친 문서는 새로운 리비전으로 반영되지 않지만, newRevision: true을 명시해 새 리비전 생성을 강제할 수도 있습니다.
파라미터
| 구분 | 이름 | 값 | 비고 |
|---|---|---|---|
| 필수 | slug | 배지 slug | |
| 필수 | page | 문서 이름. 영소문자·숫자·하이픈(예: deploy-notes) | |
| 선택 | title | 표시 제목. 새로 만들 때는 필수 | |
| 선택 | kind | overview / concept / component / rule / glossary | 문서 종류(개요·개념·구성요소·규칙·용어). 종류마다 필요한 절이 다름 |
| 선택 | parent | 문서 slug 또는 id, null | 목차에서 이 문서가 들어갈 상위 문서. null이면 최상위(개요만 최상위에 둠) |
| 선택 | position | 숫자 | 같은 상위 문서 아래에서의 순서(오름차순) |
| 선택 | body | 마크다운 본문. append면 덧붙일 글 | |
| 선택 | mode | replace / append / restore | 기본 replace. append는 빠진 절을 끝에 더할 때, restore는 rev의 리비전으로 되돌릴 때 |
| 선택 | rev | 숫자 | restore로 되돌릴 리비전 |
| 선택 | baseRev | 숫자 | 읽고 고친 리비전. 그 사이 남이 고쳤으면 덮어쓰지 않고 거절 |
| 선택 | newRevision | true / false | 30분 묶음을 끊고 새 리비전으로 |
| 선택 | node | 노드 id 또는 null | 문서를 붙일 노드. null이면 떼어 냄, 생략하면 그대로 |
| 선택 | rename | 새 문서 이름. id와 리비전 이력은 유지 |
delete_wiki
문서를 지웁니다.
파라미터
| 구분 | 이름 | 값 | 비고 |
|---|---|---|---|
| 필수 | slug | ||
| 필수 | ref | 문서 slug 또는 id |
건의 및 개선 요청
제품의 문제나 개선 요청 사항을 보낼 수 있습니다. 필요한 경우 사용자에게 건의를 보낼 지 확인한 후 전송됩니다.
send_feedback
건의(improvement, 기본)나 결함 신고(bug)를 접수합니다.
파라미터
| 구분 | 이름 | 값 | 비고 |
|---|---|---|---|
| 필수 | title | 한 줄 요약 | |
| 선택 | kind | bug / improvement | 기본 improvement |
| 선택 | body | 기대한 것, 일어난 일, 왜 중요한지(마크다운) | |
| 선택 | source | 어디서 발견했나 — 배지 slug, 도구 이름, 화면 |