11

MCP 도구

MCP 서버가 제공하는 읽기·쓰기 데이터 명령 및 목록입니다.

읽기

list_projects

프로젝트 배지의 목록을 읽어오는 도구입니다. 아래의 항목들을 확인할 수 있습니다.

  • 슬러그 (slug)
  • 제목 (name)
  • 마지막 활동 시기 (latestActivityAt)
  • 활성 여부 (isActive)
  • 옮겨심기 상태 (transplanting)
  • 노드 수 (nodeCount), 열린 버그 수 (openBugs), 시즌 수 (seasonCount)
  • 현재 시즌 이름 (nowSeasonLabel)
  • 설명 발췌 (description)
  • 위키 문서 수 (wikiCount) — 문서가 있을 때만
  • 소속 팀 (org, 팀 슬러그)과 그 팀에서의 내 역할 (role: owner / editor / viewer) — 팀 배지일 때만. viewer면 쓰기 도구는 403으로 거절됩니다

파라미터

구분이름값비고
선택viewsummary / fullfull인 경우 그라운드의 의도(seedMeta: 목표·마감·예산·대상)까지 호출

get_graph

특정 프로젝트 배지에 그려진 나무(Tree) 데이터와 세부 항목들을 읽어옵니다.

  • 노드 (nodes): plan/implements/dormant 플래그 포함
  • 의존성 (edges)
  • API (apis)
  • 시즌 (seasons)
  • 버그 (bugs)
  • 옮겨심기 상태 (project.transplanting)
  • 그라운드의 의도 (project.seedMeta) — 사람이 적어 둔 목표·마감·예산·대상. 구조를 제안하기 전에 읽습니다.

파라미터

구분이름값비고
필수slug나무를 읽을 배지의 slug
선택viewsummary / full기본 summary. full이면 모든 필드와 삭제된(soft-deleted) 노드까지
선택rootId노드 id해당 노드(trunk·limb 등)와 그 자식 가지만 선택 호출
선택depth숫자rootId로부터 아래로 몇 단계까지 호출할지 결정(0 = 해당 노드만), 생략하면 전부 호출
선택maxTypetrunk / limb / twig / leaf / vein이 단계까지만 선택 호출. ex)twig: trunk ·limb·twig 호출, leaf·vein 제외
선택rolestructure / object / action해당 역할에 해당되는 내용만 선택 호출
선택season시즌 id그 시즌에 자란 노드만 호출
선택descriptionsnone / excerpt / full설명을 얼마나 호출할지 선택한다. 기본 excerpt(200자)
선택bugStatusactive / wild / chasing / resolved / all버그 호출 여부 - active(기본값): 해결되지 않은 버그 전부 (wild+chasing)

위의 파라미터를 이용해 그래프 구조가 크게 자란 경우, 한 번에 다 읽는 대신 부분만 읽을 수 있습니다: “이전 시즌에 자란 내용만 골라서 확인해줘.” “설명은 제외하고 이 프로젝트 트리 확인해줘.” “현재 이 프로젝트에 열려있는 버그 읽어봐줘.”

get_impact

영향범위를 확인합니다. 특정 부분에 문제가 발생했을 때 영향받는 노드를 의존성·API 흐름을 따라 확인합니다.

파라미터

구분이름값비고
필수slug
필수node노드 id영향 확인 기준점 (node)
필수bug버그 id영향 확인 기준점 (bug)
선택directionaffected / dependsOn / bothaffected(기본값): 점검 부분에 문제 발생 시 영향을 받는 방향 dependsOn: 점검 부분에 영향을 끼칠 수 있는 방향
선택maxDepth숫자순회할 최대 단계 수, 생략하면 제한 없이 확인

list_bugs

해당 프로젝트 배지의 버그 목록을 호출합니다. 위험도(score, 0–8)와 영향도 (impactCount)를 포함합니다.

파라미터

구분이름값비고
필수slug
선택statusactive / wild / chasing / resolved / allactive(기본값) : wild + chasing
선택limit숫자최대 개수
선택orderasc / desc호출 순서, 등록된 순서 기준. asc(기본값): 오래된 것부터
선택viewsummary / fullsummary(기본값): 설명(description)과 메타 데이터(metadata)를 제외

get_bug

버그 한 건을 지정하여 호출합니다. 번호(ref: 14 — 화면의 #014) 또는 id로 조회하며, 전체 설명과 파급 범위를 함께 반환합니다.

파라미터

구분이름값비고
필수slug
필수ref번호 또는 id버그 번호(14) 또는 bug-<uuid>
선택descriptionsnone / excerpt / full설명을 얼마나 실을지. full(기본값): 전체
선택solutionnone / open / fullfull(기본값): 전체 open: 체크되지 않은 남은 일만 호출

list_seasons

시즌 목록을 호출합니다.

파라미터

구분이름값비고
필수slug
선택viewsummary / fullfull이면 화면용 metadata까지

list_events

프로젝트 배지의 변경 이력(create / update / delete / plan_commit)을 호출합니다.

파라미터

구분이름값비고
필수slug
선택limit숫자기본 50, 최대 200
선택beforeISO 시각이보다 오래된 것만(페이지 넘김)
선택entityTypenode / edge / api / bug한 종류의 이력만
선택entityIdid한 대상의 이력만(보통 entityType과 함께)

쓰기 — 트리·의존성·API

create_node

식물 어휘 위계 프로토콜을 따르며, 위계를 어기면 거부하고 가벼운 문제는 경고로 조정하도록 유도합니다.

  • leaf부터 채웁니다. leaf·vein을 추가할 때는 그 경로에 아직 없는 상위 노드(trunk·limb·twig)만 만들고 leaf를 붙입니다. trunk를 모두 깔고, limb를 모두 깔고 하는 식으로 층마다 먼저 채우지 않습니다.
  • trunk는 plan이 될 수 없습니다. trunk는 나무의 틀이라 항상 확정된 상태로 만들어지며, metadata.plan을 붙이면 거부됩니다.

파라미터

구분이름값비고
필수slug
필수typetrunk / limb / twig / leaf / vein
필수label나무에 보이는 이름
선택parent노드 id생략하면 최상위(새 trunk)로 배정
선택season시즌 id생략하면 now 시즌으로 자동 배정
선택description
선택tags문자열 목록
선택metadata객체leaf·vein은 metadata.implements에 구현 파일 경로
선택sproutedAtISO 시각실제 생성 시점 (이식 시점이 아닌, 실제 파일 생성 시점이 있는 경우)

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
선택cascadetrue / false활성 자손까지 함께 삭제.
선택hardtrue / false영구 삭제. 옮겨심는 중에만 동작하며 되돌릴 수 없음

create_edge / delete_edge

노드 간 의존성(Edge)을 편집합니다. 방향은 source → target입니다.

파라미터

생성 (create_edge)

구분이름값비고
필수slug
필수source노드 id기대는 쪽 / 데이터가 나가는 쪽
필수target노드 id
필수typedependency / data_flowdependency : source가 target에 의존하고 있는 경우 data_flow: 데이터가 source에서 target으로 흐르는 경우
선택label
선택metadata객체

삭제 (delete_edge)

구분이름값비고
필수slug
필수idedge id

create_api / update_api / delete_api

노드 간 호출 흐름을 편집합니다. 방향은 호출하는 쪽(start) → 호출받는 쪽(end)입니다.

파라미터

생성 (create_api)

구분이름값비고
필수slug
필수start노드 id호출하는 쪽
필수end노드 id호출받는 쪽
선택label
선택description
선택metadata객체

수정 (update_api)

구분이름값비고
필수slug
필수idapi id
필수patch객체바꿀 필드만

삭제 (delete_api)

구분이름값비고
필수slug
필수idapi id

쓰기 — 배지·버그

create_project

새 프로젝트 배지를 만듭니다. 처음 만들어지면 ‘옮겨심기’ 모드인 상태로 시작됩니다.

파라미터

구분이름값비고
필수slugURL 식별자. 영소문자·숫자·하이픈, 1~50자
필수name표시 이름
선택description
선택org팀 슬러그해당 팀에 만듭니다. 팀 소유자만 가능합니다.

create_bug

새로운 버그를 보고합니다.

파라미터

구분이름값비고
필수slug
필수title한 줄 요약
필수target{kind, id?}kind: node / api / ground. 프로젝트 자체의 문제면 {kind: "ground"}
선택description
선택solution
선택score0–8위험도, 기본값 4
선택statusopen / 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
필수idplan 노드 id

record_commit

변경 파일과 실현 증거(implements)가 매칭되는 모든 노드의 metadata.commits에 커밋 기록을 작성합니다.

파라미터

구분이름값비고
필수slug
필수sha커밋 SHA(짧아도 됨)
필수files경로 목록커밋에서 바뀐 파일(저장소 기준 경로)
선택message커밋 메시지

create_season

새 시즌을 열고 now로 만듭니다. 에이전트가 사용자에게 확인을 요청하고, confirm:true를 보내야 생성됩니다.

파라미터

구분이름값비고
필수slug
필수label사람이 정한 시즌 이름(버전·단계·기간)
선택confirmtrue사용자가 동의한 뒤 두 번째 호출에만. 첫 호출엔 생략

위키

현재 구축된 프로젝트의 사양을 기록합니다. 변경 기록이 남습니다.

list_wiki

프로젝트 배지의 위키 문서 목록. 본문은 기본 200자 발췌로 옵니다.

파라미터

구분이름값비고
필수slug
선택node노드 id 또는 none지정되면 해당 노드에 관련된 문서 목록을 호출, none이면 소속이 없는 문서 목록을 호출
선택kindoverview / concept / component / rule / glossary / none해당 종류의 문서만 호출, none이면 아직 분류되지 않은 문서만 호출
선택bodynone / excerpt / full본문을 얼마나 실을 지 결정: 기본값 excerpt
선택limit숫자호출 최대 개수를 지정
선택orderasc / desc / tree마지막 수정일자 순서로 호출: 기본값 desc. tree면 목차 순서(개요부터 읽는 순서)로 호출

get_wiki

위키 문서 한 편을 전부 불러옵니다. rev를 지정해 예전 리비전을 읽을 수 있습니다.

파라미터

구분이름값비고
필수slug배지 slug
필수ref문서 slug 또는 id
선택rev숫자호출할 리비전. 생략하면 현재 문서 호출

list_wiki_revisions

문서의 리비전 목록을 불러옵니다.

파라미터

구분이름값비고
필수slug
필수ref문서 slug 또는 id
선택limit숫자
선택orderasc / desc리비전 번호순. 기본 desc

write_wiki

문서를 편집합니다. 기존에 없는 문서 이름이면 새 문서를 만듭니다. 기본값인 replace모드는 본문 전체를 덮어쓰므로 먼저 get_wiki로 읽고 고칩니다. 기본적으로 같은 작성자가 30분 내에 고친 문서는 새로운 리비전으로 반영되지 않지만, newRevision: true을 명시해 새 리비전 생성을 강제할 수도 있습니다.

파라미터

구분이름값비고
필수slug배지 slug
필수page문서 이름. 영소문자·숫자·하이픈(예: deploy-notes)
선택title표시 제목. 새로 만들 때는 필수
선택kindoverview / concept / component / rule / glossary문서 종류(개요·개념·구성요소·규칙·용어). 종류마다 필요한 절이 다름
선택parent문서 slug 또는 id, null목차에서 이 문서가 들어갈 상위 문서. null이면 최상위(개요만 최상위에 둠)
선택position숫자같은 상위 문서 아래에서의 순서(오름차순)
선택body마크다운 본문. append면 덧붙일 글
선택modereplace / append / restore기본 replace. append는 빠진 절을 끝에 더할 때, restore는 rev의 리비전으로 되돌릴 때
선택rev숫자restore로 되돌릴 리비전
선택baseRev숫자읽고 고친 리비전. 그 사이 남이 고쳤으면 덮어쓰지 않고 거절
선택newRevisiontrue / false30분 묶음을 끊고 새 리비전으로
선택node노드 id 또는 null문서를 붙일 노드. null이면 떼어 냄, 생략하면 그대로
선택rename새 문서 이름. id와 리비전 이력은 유지

delete_wiki

문서를 지웁니다.

파라미터

구분이름값비고
필수slug
필수ref문서 slug 또는 id

건의 및 개선 요청

제품의 문제나 개선 요청 사항을 보낼 수 있습니다. 필요한 경우 사용자에게 건의를 보낼 지 확인한 후 전송됩니다.

send_feedback

건의(improvement, 기본)나 결함 신고(bug)를 접수합니다.

파라미터

구분이름값비고
필수title한 줄 요약
선택kindbug / improvement기본 improvement
선택body기대한 것, 일어난 일, 왜 중요한지(마크다운)
선택source어디서 발견했나 — 배지 slug, 도구 이름, 화면