AgileHero
공식에이전트에서 애자일 워크스페이스를 운영하세요: 카드 생성 및 이동, 에픽 정리, 로드맵 계획, 회고 실행, 화이트보드 그리기, 위키 페이지 작성.
AgileHero MCP(으)로 무엇을 할 수 있나요?
-
OAuth로 연결 —
https://mcp.agilehero.io/mcp를 모든 MCP 클라이언트에 추가하고 AgileHero 계정으로 로그인하세요. API 키가 필요 없습니다. -
프로젝트 전반 검색 — 어시스턴트에게 전역 전체 텍스트
search도구를 사용하여 콘텐츠로 카드, 에픽 또는 위키 페이지를 찾도록 요청하세요. -
카드 및 에픽 관리 — 설명, 체크리스트, 라벨, 댓글을 포함한 전체 카드 또는 에픽 세부 정보를 또는 을 통해 읽으세요.
-
위키 페이지 안전하게 편집 — 변경 사항을 미리 본 다음 반환된 토큰을 사용하여 을(를) 적용하세요.
-
화이트보드 생성 및 변환 — 으로 다이어그램을 그리거나 스티커 메모를 백로그 항목으로 전환하세요.
-
회고 실행 — 으로 기존 회고를 나열하거나 새 회고를 만드세요.
호스팅형 MCP 서버
npx add-mcp 'https://mcp.agilehero.io/mcp'Claude Code, Codex, Cursor 등에 설치됩니다
문서
AgileHero는 내장 MCP 서버를 제공합니다. MCP를 지원하는 모든 AI 어시스턴트에 URL 하나만 추가하고 AgileHero 계정으로 로그인하면, 프로젝트를 정확히 사용자의 권한으로 작업할 수 있습니다. 보드, 백로그, 에픽, 위키, 화이트보드, 회고, 로드맵에 걸친 49개의 도구가 제공됩니다. 이 참조 문서는 서버 자체에서 생성되므로 항상 최신 상태를 유지합니다.
처음이신가요? AI 에이전트 개요부터 시작하거나, 아래의 클라이언트 연결로 바로 이동하세요. 이 서버의 모든 리치 텍스트는 AgileHero 마크업(AHM)입니다. 이는 에이전트가 인간의 콘텐츠를 손상시키지 않도록 설계된 엄격하고 검증된 XML 방언입니다. 어시스턴트를 연결하는 대신 스크립트를 작성하시나요? REST API 참조는 동일한 OAuth 로그인을 사용합니다.
AI 클라이언트 연결
연결은 두 가지를 의미합니다. 클라이언트에 엔드포인트 URL을 추가한 다음, 클라이언트가 요청할 때 AgileHero 계정으로 로그인하는 것입니다. 생성하거나 붙여넣을 키는 없습니다. 연결되면 클라이언트는 사용자로서 정확히 사용자의 권한으로 작동합니다. 연결된 모든 클라이언트는 앱의 설정 → AI 클라이언트 아래에 나열되며, 언제든지 취소할 수 있습니다. 옵저버는 MCP 서버를 사용할 수 없습니다. 옵저버로 있는 워크스페이스는 나열되지 않으며, 그 안의 모든 것은 찾을 수 없음으로 표시됩니다.
엔드포인트
https://mcp.agilehero.io/mcp
전송
Streamable HTTP (POST)
로그인
AI 클라이언트가 브라우저 창을 엽니다. 한 번 승인하면 되며, 설정 → AI 클라이언트에서 언제든지 취소할 수 있습니다.
Claude Code
터미널에서 한 번 실행하면 Claude Code가 서버를 사용자 수준 구성에 저장하고 브라우저를 통해 로그인합니다.
claude mcp add --transport http --scope user agilehero https://mcp.agilehero.io/mcp
- 모든 플래그는 서버 이름 앞에 와야 합니다.
- 그런 다음 Claude Code 세션 내에서
/mcp를 실행하고 인증을 선택한 후(또는claude mcp login agilehero실행) 브라우저에서 로그인을 승인합니다.
확인: claude mcp list를 실행하면 agilehero가 연결됨으로 표시되어야 합니다. "인증 필요"로 표시되면 claude mcp login agilehero를 실행하세요.
Claude Code 문서 · 2026-09-15에 공급업체 문서로 검증됨
VS Code (GitHub Copilot)
워크스페이스의 .vscode/mcp.json에 추가하거나, 모든 워크스페이스에 대해 "MCP: 사용자 구성 열기"를 실행하세요. 서버가 처음 시작될 때 로그인을 위해 브라우저 창이 열립니다.
.vscode/mcp.json
{
"servers": {
"agilehero": {
"type": "http",
"url": "https://mcp.agilehero.io/mcp"
}
}
}
- "type": "http"는 필수입니다. 없으면 VS Code가 URL을 실행할 명령으로 취급합니다.
확인: "MCP: 서버 목록"을 실행하고, agilehero를 시작하고, 브라우저에서 로그인을 완료하고, 해당 도구가 채팅 보기에 나타나는지 확인하세요.
VS Code (GitHub Copilot) 문서 · 2026-09-15에 공급업체 문서로 검증됨
Codex
터미널에서 추가한 후 로그인하세요. 구성은 Codex CLI, IDE 확장, ChatGPT 데스크톱 앱에서 공유됩니다.
codex mcp add agilehero --url https://mcp.agilehero.io/mcp
codex mcp login agilehero
- Codex는 자체적으로 로그인을 시작하지 않습니다. 서버를 추가한 후
codex mcp login agilehero를 실행하세요.
확인: codex mcp list를 실행하면 agilehero가 인증됨으로 표시되어야 합니다. 그런 다음 Codex에게 AgileHero 프로젝트를 나열하도록 요청하세요.
Codex 문서 · 2026-09-15에 공급업체 문서로 검증됨
Zed
settings.json에 추가하거나 설정 → AI → MCP 서버 → 원격 서버 추가를 사용하세요. Zed가 로그인을 요청합니다.
~/.config/zed/settings.json
{
"context_servers": {
"agilehero": {
"url": "https://mcp.agilehero.io/mcp"
}
}
}
- 헤더는 비워 두세요. Zed는 Authorization 헤더가 구성되지 않은 경우에만 로그인을 시작합니다.
확인: Zed를 다시 시작하고, 요청 시 브라우저에서 로그인을 승인하고, AgileHero 프로젝트를 나열하도록 요청하세요. 첫 번째 성공적인 호출이 연결을 확인합니다.
Zed 문서 · 2026-09-15에 공급업체 문서로 검증됨
GitHub Copilot CLI
~/.copilot/mcp-config.json 또는 저장소 내 .mcp.json에 추가하세요.
~/.copilot/mcp-config.json
{
"mcpServers": {
"agilehero": {
"type": "http",
"url": "https://mcp.agilehero.io/mcp"
}
}
}
- GitHub Copilot CLI 1.0.83 이상이 필요합니다(클라이언트 ID 메타데이터 문서 지원).
- Copilot CLI는 서버가 처음 요청할 때 로그인을 엽니다. 세션 내에서
/mcp auth agilehero를 실행할 수도 있습니다.
확인: Copilot CLI 내에서 /mcp를 실행하면 agilehero가 해당 도구와 함께 연결됨으로 나열되어야 합니다.
GitHub Copilot CLI 문서 · 2026-09-15에 공급업체 문서로 검증됨
Claude (웹, 데스크톱, Cowork)
AgileHero를 사용자 지정 커넥터로 추가하고 로그인하세요. 커넥터는 웹의 Claude, Claude Desktop, Cowork 및 모바일 앱에서 사용할 수 있습니다.
Settings → Connectors → Add custom connector
Name: AgileHero
URL: https://mcp.agilehero.io/mcp
Sign in now
- 커넥터는 동일한 Claude 계정으로 로그인한 Claude Code에도 나타납니다.
- 무료 플랜: 사용자 지정 커넥터 1개. 팀 및 엔터프라이즈: 소유자가 커넥터를 추가하고 모든 구성원이 자신의 AgileHero 계정으로 로그인합니다.
확인: 새 채팅을 시작하면 AgileHero가 커넥터 아래에 나열되고, Claude에게 AgileHero 프로젝트를 나열하도록 요청하면 작동합니다.
Claude (웹, 데스크톱, Cowork) 문서 · 2026-09-15에 공급업체 문서로 검증됨
ChatGPT
개발자 모드에서 커넥터를 만들고 OAuth로 로그인하세요.
Settings → Connectors → Create (Developer mode)
Name: AgileHero
MCP server URL: https://mcp.agilehero.io/mcp
Authentication: OAuth
- 개발자 모드가 활성화된 Plus, Pro, Business, Enterprise 및 Edu에서 사용할 수 있습니다. 워크스페이스에서는 관리자 또는 소유자가 구성원을 위해 커넥터를 게시합니다.
확인: AgileHero 커넥터를 활성화한 상태로 새 채팅을 열고 ChatGPT에게 AgileHero 프로젝트를 나열하도록 요청하세요.
ChatGPT 문서 · 2026-09-15에 공급업체 문서로 검증됨
기타 클라이언트
클라이언트 ID 메타데이터 문서로 OAuth를 지원하는 모든 MCP 클라이언트: 엔드포인트를 원격(Streamable HTTP) 서버로 추가하고 브라우저에서 로그인을 승인하세요.
Transport: Streamable HTTP
URL: https://mcp.agilehero.io/mcp
Authentication: OAuth (sign in when the client asks)
- 정적 토큰이나 헤더만 지원하는 클라이언트는 연결할 수 없습니다. AgileHero는 OAuth 로그인만 사용합니다.
확인: 클라이언트를 다시 시작하고, 요청 시 브라우저에서 로그인을 승인하고, AgileHero 프로젝트를 나열하도록 요청하세요. 첫 번째 성공적인 호출이 연결을 확인합니다.
기타 클라이언트 문서 · 2026-09-15에 공급업체 문서로 검증됨
아직 지원되지 않음
이 클라이언트들은 아직 AgileHero에 로그인할 수 없습니다. 대부분은 AgileHero가 사용하는 OAuth 클라이언트 등록 방법인 클라이언트 ID 메타데이터 문서(현재 MCP 권장 사항)를 지원하지 않습니다. 공급업체 문서를 정기적으로 다시 확인하고 자격을 갖추는 즉시 클라이언트를 위로 이동합니다.
Cursor아직 아님
Cursor는 아직 클라이언트 ID 메타데이터 문서를 지원하지 않으므로(해당 OAuth 로그인에는 동적 클라이언트 등록 또는 사전 등록된 클라이언트가 필요함) 현재 AgileHero에 연결할 수 없습니다.
Cursor 문서 · 2026-09-15에 공급업체 문서로 검증됨
OpenCode아직 아님
OpenCode는 아직 클라이언트 ID 메타데이터 문서를 지원하지 않으므로(해당 OAuth 로그인에는 동적 클라이언트 등록 또는 사전 등록된 클라이언트가 필요함) 현재 AgileHero에 연결할 수 없습니다.
OpenCode 문서 · 2026-09-15에 공급업체 문서로 검증됨
Gemini CLI아직 아님
Gemini CLI는 아직 클라이언트 ID 메타데이터 문서를 지원하지 않으므로(해당 OAuth 로그인에는 동적 클라이언트 등록 또는 사전 등록된 클라이언트가 필요함) 현재 AgileHero에 연결할 수 없습니다.
Gemini CLI 문서 · 2026-09-15에 공급업체 문서로 검증됨
Cline아직 아님
Cline은 아직 클라이언트 ID 메타데이터 문서를 지원하지 않으므로(해당 OAuth 로그인에는 동적 클라이언트 등록 또는 사전 등록된 클라이언트가 필요함) 현재 AgileHero에 연결할 수 없습니다.
Cline 문서 · 2026-09-15에 공급업체 문서로 검증됨
Google Antigravity아직 아님
Google Antigravity는 아직 클라이언트 ID 메타데이터 문서를 지원하지 않으므로(해당 OAuth 로그인에는 동적 클라이언트 등록 또는 사전 등록된 클라이언트가 필요함) 현재 AgileHero에 연결할 수 없습니다.
Google Antigravity 문서 · 2026-09-15에 공급업체 문서로 검증됨
Amp아직 아님
Amp는 아직 클라이언트 ID 메타데이터 문서를 지원하지 않으므로(해당 OAuth 로그인에는 동적 클라이언트 등록 또는 사전 등록된 클라이언트가 필요함) 현재 AgileHero에 연결할 수 없습니다.
Amp 문서 · 2026-09-15에 공급업체 문서로 검증됨
Raycast AI아직 아님
Raycast AI는 아직 클라이언트 ID 메타데이터 문서를 지원하지 않으므로(해당 OAuth 로그인에는 동적 클라이언트 등록 또는 사전 등록된 클라이언트가 필요함) 현재 AgileHero에 연결할 수 없습니다.
Raycast AI 문서 · 2026-09-15에 공급업체 문서로 검증됨
Kiro아직 아님
Kiro는 사용자가 제공하는 클라이언트 ID 메타데이터 문서 URL로 로그인하며, AgileHero는 아직 이를 위한 클라이언트 ID 메타데이터 문서를 호스팅하지 않습니다.
Kiro 문서 · 2026-09-15에 공급업체 문서로 검증됨
Warp아직 아님
Warp는 아직 사용자 추가 서버에 대한 OAuth 로그인이 없으므로 현재 AgileHero에 연결할 수 없습니다.
Warp 문서 · 2026-09-15에 공급업체 문서로 검증됨
JetBrains AI Assistant아직 아님
JetBrains AI Assistant는 원격 서버에 대한 OAuth 로그인이 없으며, mcp-remote 브리지는 호스팅된 클라이언트 문서가 필요합니다. AgileHero는 아직 이를 위한 클라이언트 ID 메타데이터 문서를 호스팅하지 않습니다.
JetBrains AI Assistant 문서 · 2026-09-15에 공급업체 문서로 검증됨
Continue아직 아님
Continue는 Streamable HTTP 서버에 대한 OAuth 로그인이 없으며, mcp-remote 브리지는 호스팅된 클라이언트 문서가 필요합니다. AgileHero는 아직 이를 위한 클라이언트 ID 메타데이터 문서를 호스팅하지 않습니다.
Continue 문서 · 2026-09-15에 공급업체 문서로 검증됨
서버 지침
모든 MCP 클라이언트는 초기화 시 다음 규칙을 받습니다:
AgileHero MCP 서버.
모든 id 매개변수와 응답의 모든 id는 짧은 uid입니다. 항상 list/get/search 도구가 반환한 uid를 사용하고, 임의로 만들지 마세요. 대부분의 도구에는 프로젝트 uid가 필요합니다. 먼저 list_projects를 호출하여 워크스페이스와 프로젝트를 찾으세요. search_cards(제목 부분 문자열, 단일 프로젝트)보다 search(전체 텍스트, 모든 콘텐츠 유형)를 선호하세요.
업데이트 도구에서는 컬렉션에 대해 add_*/remove_* 델타 필드를 선호하세요(증분, 안전). 일반 컬렉션 필드(assigned_to, labels, checklists, cards_relations, links, attachments)는 이전 상태를 대체하며 해당 델타와 결합할 수 없습니다. 체크리스트 항목은 { description, checked }입니다. list_cards / list_epics에서 updated_since로 변경 사항을 확인하세요.
카드의 목록이나 위치를 변경하려면 move_card(update_card 아님)를 사용하세요. 빈 list_id는 백로그를 의미합니다.
위키, 화이트보드, 회고, 로드맵 도구는 프로젝트의 워크스페이스가 Pro 또는 평가판 플랜이어야 합니다. 화이트보드 요소 쓰기는 일괄 도구이며 전부 아니면 전무입니다. 요소 uid는 get_whiteboard에서 가져옵니다. 회고 항목은 add_retro_items 및 move_retro_item으로 관리합니다(move_card는 회고 카드를 거부합니다).
일일 한도: 도구 호출은 사용자당 워크스페이스당 측정됩니다. 무료 플랜은 하루 500회, Pro 또는 평가판은 하루 5,000회이며 00:00 UTC에 재설정됩니다. get_ahm_spec 및 list_projects는 계산되지 않습니다(범위가 없는 검색처럼 단일 워크스페이스에 귀속되지 않는 호출도 마찬가지). 한도를 초과하면 도구는 재설정 또는 업그레이드까지 일일 한도 오류를 반환합니다.
모든 리치 텍스트(위키 페이지, 카드/에픽 설명, 댓글)는 AgileHero 마크업(AHM)입니다. 엄격한 XML이며 절대 마크다운이나 HTML이 아닙니다. 작성 전에 get_ahm_spec을 한 번 호출하세요. 리치 텍스트 편집은 설계상 두 단계입니다: preview_wiki_page_update / preview_description_update(결과 + preview_token), 그런 다음 해당 토큰으로 일치하는 업데이트 도구를 사용합니다.
전체 도구 문서: https://agilehero.io/docs/mcp
AHM 사양: https://agilehero.io/docs/mcp/agilehero-markup
도구 (49)
list_projects읽기 전용
토큰 사용자가 액세스할 수 있는 모든 워크스페이스와 프로젝트를 나열하여 에이전트가 대부분의 다른 도구에 필요한 프로젝트 uid를 확인할 수 있게 합니다. 프로젝트 uid를 모를 때마다 먼저 호출하세요. 사용자에게 붙여넣기를 요청하지 마세요. 워크스페이스(uid, 이름, 플랜, 사용자 역할)와 해당 프로젝트(uid, 이름, url)를 반환합니다. Pro 기반 도구(위키, 메트릭)는 워크스페이스 플랜이 pro 또는 평가판이어야 합니다.
search읽기 전용
제품의 글로벌 전체 텍스트 검색(OpenSearch): 카드, 에픽, 위키 페이지 및 프로젝트를 제목, 설명, 댓글, 체크리스트 항목 및 첨부 파일 이름으로 매칭하며, 최신성 가중치를 적용한 관련성 순으로 정렬합니다. 이 기능을 사용하여 콘텐츠로 무엇이든 찾을 수 있습니다("마이그레이션에 대해 논의한 카드"). search_cards는 한 프로젝트 내에서 제목 부분 문자열 조회에만 사용하세요. 각 결과에는 유형, 작업 준비된 uid(카드는 get_card/update_card, 에픽은 get_epic, wiki_pages는 show_wiki_page, 프로젝트는 project_id 매개변수), 딥링크 URL 및 <mark>으로 강조 표시된 스니펫이 포함되어 매칭 이유를 보여줍니다. 선택적으로 project_id 또는 assigned_to_me로 범위를 지정할 수 있습니다. page/per_page로 페이지네이션하며, total_count는 전체 매칭 수입니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| query | string | 예 | 자유 텍스트 검색 쿼리 |
| project_id | string | 검색 범위를 지정할 선택적 프로젝트 uid | |
| assigned_to_me | boolean | 토큰 사용자에게 할당된 결과만 | |
| page | integer | 페이지 번호(기본값 1) | |
| per_page | integer | 페이지당 결과 수, 1-50(기본값 20) |
get_card읽기 전용
카드 하나를 전체적으로 읽습니다: 블록 ID가 포함된 AgileHero Markup 설명과 description_version(preview_description_update / update_description 두 입력이 사용하는 값), 목록 배치, 에픽, 라벨, 담당자, 보고자, 유형, 추정치, 마감일, 체크리스트, 링크, 첨부 파일, 관련 카드 및 스레드 댓글. 카드 uid만 사용합니다 — project_id 매개변수는 없습니다. 카드 uid는 list_cards, search 또는 search_cards에서 가져옵니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| id | string | 예 | 카드의 고유 식별자 |
get_epic읽기 전용
에픽 하나를 전체적으로 읽습니다: 블록 ID가 포함된 AgileHero Markup 설명과 description_version(preview_description_update / update_description 두 입력이 사용하는 값), 이름, 번호, 색상, 시작/종료 날짜, 담당자, 체크리스트, 링크, 첨부 파일, 모든 카드(uid, 번호, 제목 및 카테고리가 있는 목록 — null 목록 = 백로그 — 보드 순서로, 따라서 에픽의 모든 카드를 나열하고 어떤 것이 할 일, 진행 중 또는 완료인지 확인하는 방법입니다) 및 스레드 댓글. 에픽 uid만 사용합니다 — project_id 매개변수는 없습니다. 에픽 uid는 list_epics 또는 search에서 가져옵니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| id | string | 예 | 에픽의 고유 식별자 |
list_wiki_pathsPro · wiki읽기 전용
프로젝트의 전체 위키 트리를 표시 순서대로 나열합니다 — uid, 이름, 유형(페이지 또는 폴더) 및 parent_id가 있는 모든 폴더와 페이지 — 에이전트가 show_wiki_page가 사용하는 페이지 uid를 확인하고 create_wiki_page의 parent_id를 선택할 수 있습니다. Pro 또는 평가판 워크스페이스가 필요합니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| project_id | string | 예 | 프로젝트의 고유 식별자 |
show_wiki_pagePro · wiki읽기 전용
위키 페이지를 AgileHero Markup(AHM)으로 document_version과 함께 검색합니다. 콘텐츠는 AHM이며 markdown이 아닙니다 — 블록 ID, <discussion> 앵커 및 <image/>/<attachment/> 참조는 문서의 일부입니다. 편집 전에 get_ahm_spec을 읽으세요. 여기서 반환된 블록 ID와 document_version을 사용하여 preview_wiki_page_update 후 update_wiki_page로 편집합니다. Pro 또는 평가판 워크스페이스가 필요합니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| id | string | 예 | 페이지 경로의 고유 식별자 |
get_ahm_spec읽기 전용
AgileHero Markup(AHM) v1.0 사양 — AgileHero가 허용하는 유일한 리치 텍스트 형식(markdown 및 HTML은 거부됨). 리치 텍스트(위키 페이지, 카드/에픽 설명, 댓글)를 작성하거나 편집하기 전에 한 번 읽으세요: 어휘, 속성, 이스케이프 규칙 및 작업 예제. 웹에서 동일한 텍스트: https://agilehero.io/docs/mcp/agilehero-markup
create_wiki_pagePro · wiki
AgileHero Markup(AHM) 콘텐츠로 위키 페이지를 생성합니다(선택적으로 폴더 내부). 콘텐츠는 <agile-hero-markup version="1.0">로 감싸야 합니다 — markdown 및 HTML은 거부됩니다. 먼저 get_ahm_spec을 읽으세요. 새 페이지의 uid, url, document_version 및 콘텐츠를 반환합니다. Pro 또는 평가판 워크스페이스가 필요합니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| project_id | string | 예 | 프로젝트의 고유 식별자(uid) |
| name | string | 예 | 페이지 제목 |
| parent_id | string | 선택적 폴더 uid(list_wiki_paths에서) | |
| content | string | AHM으로 된 페이지 본문; 빈 페이지는 생략 |
preview_wiki_page_updatePro · wiki읽기 전용
모든 위키 페이지 업데이트의 필수 첫 단계: 작업을 검증하고 서버 계산 결과(추가/제거/변경된 블록, 영구 삭제될 파일, 앵커를 잃을 팀 토론, 가능한 markdown 경고)와 update_wiki_page가 필요로 하는 preview_token을 반환합니다. 아무것도 수정되지 않습니다. 작업은 AHM 콘텐츠로 블록 주소 지정(replace_block / insert_after / delete_block / move_block)됩니다 — 먼저 get_ahm_spec을 읽고, show_wiki_page에서 블록 ID 및 document_version을 가져오세요. 저장 전에 결과를 검토하세요: 나열된 파일 삭제 또는 토론 앵커 해제는 사용자가 요청한 경우에만 허용됩니다. Pro 또는 평가판 워크스페이스가 필요합니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| id | string | 예 | 페이지 경로 uid |
| document_version | string | 예 | show_wiki_page에서 — 최신 상태 증명 |
| operations | array of object | 예 | 진화하는 문서에 대해 순서대로 적용 |
update_wiki_pagePro · wiki파괴적
이전에 미리 본 업데이트를 위키 페이지에 적용합니다. preview_wiki_page_update의 preview_token이 정확히 이러한 작업 및 이 document_version에 대해 필요합니다 — 미리 보기 없이 저장하는 것은 설계상 불가능합니다. 각 저장은 사용자가 앱에서 되돌릴 수 있는 페이지 버전을 생성합니다. 업데이트된 페이지(AHM + 새 document_version) 및 적용된 결과를 반환합니다. Pro 또는 평가판 워크스페이스가 필요합니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| id | string | 예 | 페이지 경로 uid |
| document_version | string | 예 | 미리 보기가 수행된 버전 |
| operations | array of object | 예 | 미리 본 정확한 작업 |
| preview_token | string | 예 | preview_wiki_page_update에서 |
preview_description_update읽기 전용
모든 카드 또는 에픽 설명 편집의 필수 첫 단계: 블록 작업을 검증하고 서버 계산 결과와 update_description이 필요로 하는 preview_token을 반환합니다. 아무것도 수정되지 않습니다. 콘텐츠는 AgileHero Markup(AHM, 설명 표면: 테이블, 색상, 정렬, 토론 또는 파일 첨부 없음)입니다 — 먼저 get_ahm_spec을 읽으세요. 블록 ID 및 document_version은 get_card / get_epic에서 가져옵니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| resource_type | enum: card | epic | 예 | |
| id | string | 예 | 카드 또는 에픽 uid |
| document_version | string | 예 | get_card / get_epic에서 |
| operations | array of object | 예 | 진화하는 설명에 대해 순서대로 적용 |
update_description파괴적
이전에 미리 본 설명 업데이트를 카드 또는 에픽에 적용합니다. preview_description_update의 preview_token이 정확히 이러한 작업 및 이 document_version에 대해 필요합니다 — 미리 보기 없이 저장하는 것은 설계상 불가능합니다. 업데이트된 설명(AHM + 새 document_version)을 반환합니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| resource_type | enum: card | epic | 예 | |
| id | string | 예 | 카드 또는 에픽 uid |
| document_version | string | 예 | 미리 보기가 수행된 버전 |
| operations | array of object | 예 | 미리 본 정확한 작업 |
| preview_token | string | 예 | preview_description_update에서 |
list_whiteboardsPro · whiteboard읽기 전용
프로젝트의 화이트보드를 나열합니다(uid, 이름, 요소 수, url). 보드의 요소를 읽으려면 get_whiteboard를 사용하세요. Pro 또는 평가판 워크스페이스가 필요합니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| project_id | string | 예 | 프로젝트의 고유 식별자 |
create_whiteboardPro · whiteboard
프로젝트에 빈 화이트보드를 생성합니다. create_whiteboard_elements로 콘텐츠를 추가하세요. Pro 또는 평가판 워크스페이스가 필요합니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| project_id | string | 예 | 프로젝트의 고유 식별자 |
| name | string | 예 | 화이트보드 이름 |
get_whiteboardPro · whiteboard읽기 전용
화이트보드를 간결한 텍스트 표현으로 읽습니다: 보드 경계 및 요소당 한 줄 — "<type> <uid> at <x>,<y> size <w>x<h> [color] [parent <frame-uid>] [linked <card|epic> <uid>] \"text\"", 커넥터는 "connector <uid> <from> -> <to>". 여기의 요소 uid는 모든 화이트보드 쓰기 도구가 사용하는 핸들입니다. Pro 또는 평가판 워크스페이스가 필요합니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| id | string | 예 | 화이트보드의 고유 식별자 |
create_whiteboard_elementsPro · whiteboard
하나의 트랜잭션 호출로 최대 100개의 화이트보드 요소를 생성합니다(전부 또는 전무, 하나의 실시간 이벤트). 기본 크기, 색상 및 텍스트 배치는 서버 측에서 적용됩니다 — 일반적으로 유형 + 텍스트(+ 색상)만 제공하세요. x/y를 생략하면 요소가 자동 배치됩니다(기본적으로 그리드; arrange: row|column|grid, origin_x/origin_y/gap로 조정). 전체 제어를 위해 x/y를 제공하세요. 프레임은 parent_id(기존 프레임 uid) 또는 parent_ref(이 호출에서 이전 프레임의 ref)를 통해 요소를 포함합니다. 커넥터는 uid(source_id/target_id) 또는 배치 ref(source_ref/target_ref)로 요소를 바인딩합니다 — 좌표는 절대 아닙니다. 앵커는 UI에서 계산됩니다. Pro 또는 평가판 워크스페이스가 필요합니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| whiteboard_id | string | 예 | 화이트보드의 고유 식별자 |
| elements | array of object | 예 | 배열 순서로 생성 — refs는 역방향으로만 해석 |
| arrange | enum: grid | row | column | 명시적 x/y가 없는 요소의 레이아웃(기본값 grid) | |
| origin_x | number | 자동 배치 시작 x(기본값 100) | |
| origin_y | number | 자동 배치 시작 y(기본값 100) | |
| gap | number | 자동 배치 간격 px(기본값 20) |
create_whiteboard_diagramPro · whiteboard
의미적 그래프에서 화이트보드에 다이어그램(순서도, 프로세스, 종속성 그래프)을 그립니다 — 노드, 엣지, 선택적 그룹, 좌표 없음: 서버가 기본 크기로 계층적 위-아래 레이아웃을 수행하고 노드 ID로 키가 지정된 생성된 요소 uid를 반환합니다. 기존 보드 콘텐츠 아래에 배치됩니다. 트랜잭션(전부 또는 전무, 하나의 실시간 이벤트). 최대 20개 노드 — 더 큰 흐름은 두 개의 다이어그램으로 분할하세요. 의미가 요구하지 않는 한 모양을 평면(rectangle)으로 유지하세요(다이아몬드 = 결정, 스타디움 = 시작/끝, 실린더 = 데이터 저장소). update_whiteboard_elements로 결과를 편집하세요 — 레이아웃은 다시 실행되지 않습니다. Pro 또는 평가판 워크스페이스가 필요합니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| whiteboard_id | string | 예 | 화이트보드의 고유 식별자 |
| title | string | 다이어그램 제목(프레임 제목 또는 그룹 사용 시 제목) | |
| nodes | array of object | 예 | |
| edges | array of object | ||
| groups | array of object | ||
| origin_x | number | 선택적 왼쪽 위 x; 기본값은 기존 콘텐츠 아래 | |
| origin_y | number | 선택적 왼쪽 위 y; 기본값은 기존 콘텐츠 아래 |
update_whiteboard_elementsPro · whiteboard
Update up to 100 whiteboard elements in one all-or-nothing call: move (x/y), resize, restack (z_index), retext, recolor, reparent (parent_id — a frame uid, or "" to detach), and connector arrow/path/label. Element uids come from get_whiteboard; element types cannot be changed. Only supplied fields change — unrelated properties are preserved. Requires a Pro or trial workspace.
| Parameter | Type | Required | Description |
|---|---|---|---|
| whiteboard_id | string | yes | The unique identifier of the whiteboard |
| updates | array of object | yes |
delete_whiteboard_elementsPro · whiteboarddestructive
Delete up to 100 whiteboard elements in one transactional call. Deleting a frame or mind-map node releases its children onto the board (they are NOT deleted — include their uids explicitly to delete them too). Connectors attached to deleted elements are not removed and will dangle. Element uids come from get_whiteboard. Requires a Pro or trial workspace.
| Parameter | Type | Required | Description |
|---|---|---|---|
| whiteboard_id | string | yes | The unique identifier of the whiteboard |
| ids | array of string | yes | Element uids to delete |
review_whiteboardPro · whiteboardread-only
Run deterministic quality checks on a whiteboard: text likely overflowing its element, visibly overlapping elements, connectors with unbound or dangling endpoints, colors outside the UI palette, off-grid positions, and elements whose parent was deleted. Advisory — findings are suggestions, not errors, and a board with findings may be exactly what the user wants. Use after drawing to sanity-check, fix at most once, and do not loop chasing an empty report. Requires a Pro or trial workspace.
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The unique identifier of the whiteboard |
convert_whiteboard_elementPro · whiteboard
Convert a whiteboard element into a backlog item: a sticky note into a card or an epic, or a frame into an epic (the frame's sticky-note children become cards on that epic; already-converted children are re-assigned, not duplicated). The element stays on the board, linked to what it became — get_whiteboard shows the link. An element can only be converted once. The note/frame text becomes the title unless you pass one. Requires a Pro or trial workspace.
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | Element uid (a sticky_note or frame, from get_whiteboard) |
| to | enum: card | epic | yes | What to create |
| title | string | Card title / epic name; defaults to the element's text | |
| list_id | string | Card only: target list uid; omit for the backlog | |
| color | string | Epic only: hex color; defaults to the element's color |
convert_mind_mapPro · whiteboard
Convert a mind map into backlog items with a per-node mapping: the root can become a new epic (role "epic") or attach to an existing one (role "existing_epic" + target_epic_id); other nodes become cards on that epic (role "card") or project labels (role "label" — label nodes above a card node in the tree are applied to that card); role "skip" ignores a node. Pass the ROOT element uid as id and every node you want converted in nodes (unlisted nodes are ignored). One conversion per node: already-converted nodes are rejected up front — resubmit without them. Requires a Pro or trial workspace.
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ROOT mind-map node uid (from get_whiteboard) |
| nodes | array of object | yes | |
| target_epic_id | string | Epic uid, required with role "existing_epic" on the root |
list_retrospectivesPro · retrospectivesread-only
List a project's retrospectives: new-model retrospectives and health checks where the workspace has them, classic retrospective boards otherwise. A new-model entry has uid, name, kind (retro | health_check), status (open | live | closed), date (starts_on; closes_on for a health check), current stage, template, facilitator uid, counts of the actions it created, and url; the response adds the project's open_actions_count. Use get_retrospective for the full picture. Requires a Pro or trial workspace.
| Parameter | Type | Required | Description |
|---|---|---|---|
| project_id | string | yes | The unique identifier of the project |
create_retrospectivePro · retrospectives
Create a retrospective: a new-model retrospective where the workspace has them, a classic retrospective board otherwise; the response is the retrospective as get_retrospective returns it (columns with their uids), so add_retro_items can follow immediately. A new-model retrospective comes from a template (default went_well), is open for notes at once and has you as facilitator; optional: focus, anonymity (default: the template's), participant_ids (a Selected-members retro; omit for every project member with write access), the check_in and feedback question kinds, and votes. The facilitator starts it and runs its stages in the app. Classic boards take name, date and previous_retrospective_id only and refuse the new-model arguments. Requires a Pro or trial workspace.
| Parameter | Type | Required | Description |
|---|---|---|---|
| project_id | string | yes | The unique identifier of the project |
| name | string | yes | Retrospective name |
| template | enum: went_well | start_stop_continue | four_ls | mad_sad_glad | kalm | daki | starfish | plus_delta | sailboat | rose_thorn_bud | wrap | hot_air_balloon | three_pigs | project_retro | postmortem | kudos_lessons | Template key; default went_well | |
| starts_on | string | Date, ISO-8601 (YYYY-MM-DD); defaults to today | |
| starts_at | string | Deprecated alias of starts_on | |
| focus | string | What this retro is about, shown under its name | |
| anonymity | enum: anonymous | optional | named | Who is shown on notes: anonymous, optional (authors may add their name) or named | |
| participant_ids | array of string | User uids of the participants (list_project_users); you are always one | |
| check_in | enum: safety | mood | esvp | one_word | Check-in question (default safety) | |
| feedback | enum: roti | pulse | one_word | Closing feedback question (default roti) | |
| votes | object | Vote settings: budget (auto | fixed | unlimited), per_person (1-20), max_per_topic (1-10) | |
| previous_retrospective_id | string | Classic boards only: uid of an earlier retrospective whose Actions column shows as "Past actions" |
get_retrospectivePro · retrospectivesread-only
Read a retrospective as you may see it: a new-model retrospective or health check where the workspace has them, a classic retrospective board otherwise. A new-model retrospective returns setup, stages (current one, timer, progress), columns (with uids) holding topics (groups of notes, with uids), check-in and feedback tallies, your votes left, the Discuss queue and parked topics, proposals, actions (those it created plus the project's open ones) and, once closed, its summary. Privacy follows the room: before the reveal you get your own notes only (each column counts everyone's), authors only on named notes, vote totals only once the votes are revealed. A health check returns its dimensions and participation, your own ratings while open, and per-dimension aggregates once closed. Requires a Pro or trial workspace.
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The retrospective uid (from list_retrospectives) |
add_retro_itemsPro · retrospectives
Add items to a retrospective as yourself, several at once: notes on a new-model retrospective where the workspace has them, cards on a classic retrospective board otherwise. Each item is { column, text, recipient_id? }: column is a column title (case-insensitive) or uid from get_retrospective; text is up to 1000 characters (255 on classic boards); recipient_id, the user uid of the teammate thanked, is required in a new-model kudos column and refused on classic boards. A new-model note starts its own topic and others see it once notes are revealed; notes are taken only while the retrospective is open for notes or in the Write stage, otherwise the call is refused with code wrong_stage and the current stage. PARTIAL failure: valid items are added, invalid ones are reported per index — check the "failed" array. Requires a Pro or trial workspace.
| Parameter | Type | Required | Description |
|---|---|---|---|
| retrospective_id | string | yes | The retrospective uid |
| items | array of object | yes |
move_retro_itemPro · retrospectives
Move a retrospective item: regroup a note on a new-model retrospective where the workspace has them, move a card to another column of a classic retrospective board otherwise. New model, Group stage only: topic_id puts the note into that topic (group of notes); column (title or uid) makes it a topic of its own there, at position among the column's topics (omit for last). Pass expected_updated_at, the note's topic updated_at from get_retrospective, to be refused with code stale when someone regrouped it meanwhile. Outside Group the call is refused with code wrong_stage and the current stage; kudos and other notes never mix. Classic boards take column and position only (position omitted = top). Requires a Pro or trial workspace.
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The note uid (classic boards: the item uid) from get_retrospective |
| topic_id | string | Target topic uid; leave column out | |
| column | string | Target column title or uid | |
| position | integer | Index in the target column (0 = first) | |
| expected_updated_at | string | The note's topic updated_at as last read (conflict check) |
list_project_usersread-only
List the members of a project — every workspace member for a standard project; the creator, the workspace owners and admins, and anyone explicitly added for a private one — so the agent can resolve assignee uids instead of guessing names. Returns each member's uid, full name, email and workspace role (owner, admin, member or observer). Those uids are what assigned_to takes on create_card, update_card, create_epic, update_epic and create_roadmap_slot.
| Parameter | Type | Required | Description |
|---|---|---|---|
| project_id | string | yes | The unique identifier of the project |
list_board_listsread-only
List the lists of a project's kanban board so the agent can resolve a valid move_card destination. Returns each active list in display order with its uid (usable as a move_card target) and display name. The backlog is included as a selectable entry with an empty-string id.
| Parameter | Type | Required | Description |
|---|---|---|---|
| project_id | string | yes | The unique identifier (uid) of the project |
list_epicsread-only
List a project's epics so the agent can resolve epic uids for get_epic and card assignment. Returns each epic in display order (position ascending) with its uid, number, name, description (Markdown), color, start/end dates and card counts.
| Parameter | Type | Required | Description |
|---|---|---|---|
| project_id | string | yes | The unique identifier (uid) of the project |
| updated_since | string | Only epics whose record changed at or after this ISO-8601 date or datetime. Caveat: collection edits (checklists, links) may not bump an epic's change time; name/date/description edits always do. |
list_labelsread-only
List a project's labels so the agent can reuse the existing taxonomy instead of creating near-duplicates on card writes. Returns each label in display order (position ascending) with its uid, name and position.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| project_id | string | 예 | 프로젝트의 고유 식별자(uid) |
list_cards읽기 전용
칸반 리스트 하나의 카드들을 나열하거나, list_id를 생략하거나 비워 두면 프로젝트 백로그의 카드들을 보드 표시 순서(열의 맨 위가 먼저, 즉 배치 위치 내림차순 — 제품 UI에 표시되는 것과 동일한 순서)로 나열합니다. 필터는 AND로 결합됩니다: epic_id, label_id, assigned_user_id 및 reporter_id는 uid를 사용합니다(알 수 없는 uid는 아무것도 일치하지 않음). due_date는 지정된 날짜 또는 그 이전에 마감인 카드를 유지합니다. get_card / move_card / update_card에 바로 사용할 수 있는 작업에 충분한 카드 요약(uid, 제목, 리스트 + 위치, 에픽, 라벨, 담당자, 리포터, 마감일)을 반환하며, limit(기본값 50, 최대 100) 및 offset으로 페이지네이션됩니다. total_count는 전체 필터링된 개수입니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| project_id | string | 예 | 프로젝트의 고유 식별자(uid) |
| list_id | string | 읽을 리스트 uid; 백로그의 경우 생략하거나 빈 문자열 전달 | |
| epic_id | string | 선택한 리스트 또는 백로그 내에서 이 에픽(에픽 uid)의 카드만; 모든 리스트에 걸쳐 에픽의 모든 카드를 나열하려면 get_epic 사용 | |
| label_id | string | 이 라벨(라벨 uid)을 가진 카드만 | |
| assigned_user_id | string | 이 사용자(사용자 uid)에게 할당된 카드만 | |
| reporter_id | string | 이 사용자(사용자 uid)가 보고(생성)한 카드만 | |
| due_date | string | 이 날짜(ISO-8601, 예: 2026-06-10) 또는 그 이전에 마감인 카드만 | |
| updated_since | string | 이 ISO-8601 날짜 또는 날짜시간 이후에 레코드가 변경된 카드만 — "마지막 실행 이후 무엇이 변경되었는가" 필터. 주의: 첨부된 컬렉션(라벨, 체크리스트, 링크)에 대한 편집은 카드의 변경 시간을 올리지 않을 수 있습니다. 제목/설명/스칼라 편집은 항상 올립니다. | |
| limit | integer | 페이지 크기, 1-100(기본값 50) | |
| offset | integer | 건너뛸 카드 수(기본값 0) |
search_cards읽기 전용
하나의 프로젝트(칸반 보드 및 백로그) 내에서 제목 부분 문자열 카드 검색으로, 제품의 프로젝트 내 실시간 카드 검색과 정확히 일치합니다(카드 제목에만 데이터베이스 대소문자 구분 없는 부분 문자열 — 설명과 댓글은 검색되지 않음. 모든 콘텐츠 유형에 걸친 전체 텍스트 검색은 search 도구 사용). 최신 생성 순으로 정렬됩니다. 작업에 충분한 카드 요약(uid, 제목, 리스트 배치 + 위치, 에픽, 라벨, 담당자, 리포터, 마감일)을 반환합니다. 일치 항목이 없는 쿼리는 오류가 아닌 빈 cards 배열을 반환합니다. limit(기본값 50, 최대 100) 및 offset으로 페이지네이션합니다. total_count는 전체 일치 개수입니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| project_id | string | 예 | 프로젝트의 고유 식별자(uid) |
| query | string | 예 | 카드 제목과 일치시킬 텍스트(대소문자 구분 없는 부분 문자열) |
| limit | integer | 페이지 크기, 1-100(기본값 50) | |
| offset | integer | 건너뛸 일치 카드 수(기본값 0) |
list_attention_cardsPro · metrics읽기 전용
프로젝트 칸반 보드에서 주의가 필요한 카드들을 나열합니다 — 제품의 Metrics 페이지와 동일한 목록입니다. 종류: stuck(백로그/Done이 아닌 열에 7일 이상 움직이지 않고 있는 카드, 가장 오래 머문 순), blocking(다른 카드에 의해 차단된 미완료 카드), overdue(7일 이내에 마감이거나 이미 기한이 지난 카드, 가장 빠른 순). kind는 하나의 목록 또는 'all'(기본값)을 선택합니다. 선택적으로 담당자 uid 또는 리터럴 'unassigned'로 필터링할 수 있습니다. 각 요청된 섹션은 get_card / move_card / update_card에 바로 사용할 수 있는 카드 요약을 반환하며, limit으로 제한되고 전체 total_count가 포함됩니다. Pro 또는 평가판 워크스페이스가 필요합니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| project_id | string | 예 | 프로젝트의 고유 식별자(uid) |
| kind | enum: stuck | blocking | overdue | all | 반환할 주의 목록(기본값 'all' = 각 목록이 자체 섹션으로) | |
| assignee_id | string | 이 사용자 uid에 할당된 카드만, 또는 담당자가 없는 카드의 경우 'unassigned' | |
| limit | integer | 섹션당 최대 카드 수, 1-100(기본값 50) |
get_metrics_summaryPro · metrics읽기 전용
프로젝트 칸반 보드에서 주의가 필요한 카드의 한 번 호출 개수: overdue_cards_count, blocking_cards_count 및 stuck_cards_count — list_attention_cards와 동일한 정의이며, 각 개수 뒤의 카드를 반환합니다. 저렴합니다. 더 깊이 살펴볼 가치가 있는지 결정하기 위해 먼저 호출하세요. Pro 또는 평가판 워크스페이스가 필요합니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| project_id | string | 예 | 프로젝트의 고유 식별자(uid) |
list_roadmap_slotsPro · roadmap읽기 전용
날짜 창과 겹치는 프로젝트의 로드맵 슬롯을 나열합니다(기본값: 이번 달부터 5개월 후까지). 슬롯은 두 날짜 사이에 에픽을 예약하며 담당자를 가질 수 있습니다. 하나의 에픽은 여러 슬롯을 보유할 수 있으며 겹침도 허용됩니다 — 이는 설계상 의도입니다. 최대 200개의 슬롯을 반환합니다 — 제한에 걸리면 창을 좁히세요. Pro 또는 평가판 워크스페이스가 필요합니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| project_id | string | 예 | 프로젝트의 고유 식별자 |
| start_date | string | 창 시작, ISO-8601(YYYY-MM-DD); 기본값: 이번 달 시작 | |
| end_date | string | 창 종료, ISO-8601; 기본값: start_date + 6개월 |
create_roadmap_slotPro · roadmap
프로젝트 로드맵에 에픽을 예약합니다: start_date부터 end_date까지의 슬롯, 선택적으로 담당자 포함. 에픽은 여러 슬롯을 보유할 수 있으며 겹침은 설계상 허용됩니다 — 기존 슬롯을 추가하는 대신 확장하려는 경우 먼저 list_roadmap_slots를 확인하세요. Pro 또는 평가판 워크스페이스가 필요합니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| project_id | string | 예 | 프로젝트의 고유 식별자 |
| epic_id | string | 예 | 에픽 uid(list_epics에서); 이 프로젝트에 속해야 함 |
| start_date | string | 예 | ISO-8601(YYYY-MM-DD) |
| end_date | string | 예 | ISO-8601; start_date와 같은 날짜 허용 |
| assigned_to | string 배열 | 할당할 사용자 uid(프로젝트 멤버 — list_project_users 참조) |
update_roadmap_slotPro · roadmap
로드맵 슬롯을 업데이트합니다: 일정 변경 또는 크기 조정(start_date/end_date), 같은 프로젝트의 다른 에픽으로 이동(epic_id), 또는 담당자 설정. 제공된 필드만 변경되며, assigned_to는 전체 담당자 집합을 대체(REPLACE)합니다 — 먼저 슬롯을 읽고 유지해야 할 모든 사람을 보내세요. 슬롯 uid는 list_roadmap_slots에서 가져옵니다. Pro 또는 평가판 워크스페이스가 필요합니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| id | string | 예 | 로드맵 슬롯 uid |
| epic_id | string | 새 에픽 uid(같은 프로젝트) | |
| start_date | string | ISO-8601(YYYY-MM-DD) | |
| end_date | string | ISO-8601 | |
| assigned_to | string 배열 | 모든 담당자를 대체(사용자 uid, 프로젝트 멤버); []은 비움 |
delete_roadmap_slotPro · roadmap파괴적
로드맵 슬롯(및 해당 담당자 링크)을 영구적으로 삭제합니다. 이 작업은 되돌릴 수 없습니다 — 로드맵 슬롯에는 휴지통이 없습니다. 에픽 자체는 건드리지 않습니다. 일정을 변경하려면 update_roadmap_slot를 선호하세요. Pro 또는 평가판 워크스페이스가 필요합니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| id | string | 예 | 로드맵 슬롯 uid(list_roadmap_slots에서) |
create_label
이름으로 프로젝트에 새 라벨을 생성합니다. 같은 이름의 라벨이 이미 존재하는 경우(대소문자 구분 없음), 거의 중복을 생성하는 대신 기존 라벨이 변경 없이 반환됩니다. 새 라벨은 표시 순서의 끝에 추가됩니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| project_id | string | 예 | 라벨이 속한 프로젝트 uid |
| name | string | 예 |
create_card
프로젝트의 칸반 보드에 카드를 생성합니다. project_id와 title만 필수입니다. list_id를 생략하면 카드를 백로그에 넣습니다. position을 생략하면 대기열 끝에 합류합니다(move_card가 위치 계약을 문서화합니다). description은 AgileHero Markup입니다 — 절대 markdown이나 HTML이 아닙니다. 먼저 get_ahm_spec을 읽으세요. epic_id 및 담당자 uid는 이미 존재해야 하며(list_epics, list_project_users), 아직 존재하지 않는 라벨 이름은 프로젝트에 생성됩니다. estimation은 피보나치 복잡도(0/1/2/3/5/8/13)이며 시간 추정이 아닙니다. 체크리스트, 링크, 첨부 파일 및 카드 관계는 모두 이 동일한 호출에서 제공할 수 있습니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| project_id | string | 예 | 카드가 속한 프로젝트 uid(카드는 프로젝트의 칸반 보드에 생성됨) |
| list_id | string | 리스트 uid; 백로그에 배치하려면 생략 | |
| position | integer | ||
| type | enum: story | bug | chore | research | ||
| title | string | 예 | |
| description | string | AgileHero Markup(AHM) — 절대 markdown이나 HTML이 아닙니다. 먼저 get_ahm_spec을 읽으세요. 설명 표면: 테이블, 색상, 정렬 또는 토론 없음. | |
| epic_id | string | 에픽 uid; 프로젝트에 이미 존재해야 함 | |
| estimation | enum: 0 | 1 | 2 | 3 | 5 | 8 | 13 | 스토리 포인트의 복잡도 추정(피보나치 척도), 시간 추정이 아님 | |
| due_date | string | ISO-8601 날짜 | |
| assigned_to | string 배열 | 담당자 사용자 uid, list_project_users를 통해 확인 가능 | |
| labels | string 배열 | 라벨 이름; 알 수 없는 이름은 프로젝트에 생성됨 | |
| checklists | object 배열 | 각 { name, items: [{ description, checked }] }; items는 제공된 순서 유지 | |
| cards_relations | object 배열 | 각 { type, target_card_id (같은 보드의 카드 uid) } | |
| links | object 배열 | 각 { url, description } | |
| attachments | object 배열 | 각 { url, name }; 파일은 url에서 가져옴 |
update_card파괴적
uid로 기존 카드를 업데이트합니다. 컬렉션의 경우 add_*/remove_* 델타 필드를 선호합니다(안전한 증분 편집: add_labels, remove_assignees, add_checklist_items, check_items, …). 일반 컬렉션 필드(labels, assigned_to, checklists, cards_relations, links, attachments)는 이전 상태를 파괴적으로 대체하며 해당 델타와 결합할 수 없습니다. 리스트 또는 위치를 변경하려면 move_card를 사용하고, 설명을 편집하려면 preview_description_update / update_description를 사용하세요.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| id | string | 예 | 카드 uid |
| type | enum: story | bug | chore | research | ||
| title | string | ||
| epic_id | string | ||
| estimation | enum: 0 | 1 | 2 | 3 | 5 | 8 | 13 | 스토리 포인트(피보나치 수열)로 표시한 복잡도 추정치이며, 시간 추정치가 아님 | |
| due_date | string | ISO-8601 날짜 | |
| assigned_to | array of string | 담당자 사용자 uid 목록. list_project_users로 조회 가능. 카드의 기존 담당자를 대체함 | |
| labels | array of string | 라벨 이름 목록. 알 수 없는 이름은 프로젝트에 생성됨. 카드의 기존 라벨을 대체함 | |
| checklists | array of object | 각 항목은 { name, items: [{ description, checked }] }. items는 제공된 순서를 유지함. 카드의 기존 체크리스트를 대체함 | |
| cards_relations | array of object | 각 항목은 { type, target_card_id (같은 보드의 카드 uid) }. 카드의 기존 관계를 대체함 | |
| links | array of object | 각 항목은 { url, description }. 카드의 기존 링크를 대체함 | |
| attachments | array of object | 각 항목은 { url, name }. 파일은 url에서 가져옴. 카드의 기존 첨부 파일을 대체함 | |
| add_labels | array of string | 이름으로 라벨 추가(알 수 없는 이름은 생성됨). 기존 라벨은 유지됨 | |
| remove_labels | array of string | 이름으로 라벨 제거(대소문자 구분 안 함). 없는 이름은 아무 작업도 하지 않음 | |
| add_assignees | array of string | 사용자 uid로 담당자 추가. 기존 담당자는 유지됨 | |
| remove_assignees | array of string | 사용자 uid로 담당자 제거. 없는 uid는 아무 작업도 하지 않음 | |
| add_checklist_items | array of object | 항목 추가: 각 { checklist, description, checked? } — 이름이 지정된 체크리스트가 없으면 생성됨 | |
| check_items | array of object | 이름이 지정된 체크리스트 내에서 설명이 정확히 일치하는 항목을 완료로 표시 | |
| uncheck_items | array of object | 항목을 미완료로 표시(check_items와 동일한 일치 방식) | |
| remove_checklist_items | array of object | 항목 삭제. 없는 항목은 아무 작업도 하지 않음 | |
| add_relations | array of object | 관계 추가. 기존 관계는 유지됨 | |
| remove_relations | array of object | 일치하는 관계 제거. 없는 관계는 아무 작업도 하지 않음 | |
| add_links | array of object | 링크 추가: 각 { url, description? }. 기존 링크는 유지됨 | |
| remove_links | array of string | 정확한 url로 링크 제거. 없는 url은 아무 작업도 하지 않음 |
delete_card파괴적
카드 uid로 카드를 소프트 삭제합니다: 보드와 모든 목록에서 사라지고, 다른 카드와의 관계는 제거되며, 해당 카드의 추정 세션은 비활성화되고, 연결된 화이트보드 요소는 연결이 해제됩니다. 카드가 속한 에픽은 삭제되지 않습니다. MCP를 통한 삭제 취소 기능은 없습니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| id | string | 예 | 카드 uid |
move_card
카드를 다른 목록으로 이동하거나(또는 같은 목록 내에서 위치 변경)합니다. 칸반 보드의 카드만 이동할 수 있으며, 회고 보드의 카드는 거부됩니다. list_id에 빈 문자열을 전달하면 카드를 칸반 백로그로 이동합니다. 목록은 가장 높은 위치부터 위에서 아래로 표시되므로, 위치 0은 목록의 맨 아래입니다. position을 생략하면 백로그, to_do, in_progress 목록에서는 대기열의 끝(맨 아래, 위치 0)에 합류하고, done 목록에서는 맨 위에 합류합니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| id | string | 예 | 카드 uid |
| list_id | string | 예 | 대상 목록 uid. 빈 문자열은 백로그로 이동(칸반 전용) |
| position | integer | 대상 내 배치: 0은 맨 아래이고 가장 높은 위치가 맨 위입니다. 0과 대상에 이미 있는 다른 카드 수 사이여야 합니다. 생략하면 백로그, to_do, in_progress 목록에서는 대기열의 끝(위치 0)에 합류하고, done 목록에서는 맨 위에 합류합니다. |
create_epic
프로젝트에 에픽을 생성합니다. project_id와 name만 필수입니다. description은 AgileHero Markup입니다 — markdown이나 HTML이 절대 아닙니다. 먼저 get_ahm_spec을 읽으세요. 담당자 uid는 list_project_users에서 가져옵니다. 체크리스트, 링크, 첨부 파일도 같은 호출에서 제공할 수 있습니다. 새 에픽 uid를 반환합니다 — create_card / update_card가 epic_id로 사용하고, create_roadmap_slot이 일정을 잡는 값입니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| project_id | string | 예 | 에픽이 속한 프로젝트 uid |
| name | string | 예 | |
| description | string | AgileHero Markup (AHM) — markdown이나 HTML이 절대 아닙니다. 먼저 get_ahm_spec을 읽으세요. 설명 표면: 표, 색상, 정렬, 토론 없음. | |
| color | string | #0060F0 같은 16진수 색상 | |
| start_date | string | ISO-8601 날짜 | |
| end_date | string | ISO-8601 날짜 | |
| assigned_to | array of string | 담당자 사용자 uid 목록. list_project_users로 조회 가능 | |
| checklists | array of object | 각 항목은 { name, items: [{ description, checked }] }. items는 제공된 순서를 유지함 | |
| links | array of object | 각 항목은 { url, description } | |
| attachments | array of object | 각 항목은 { url, name }. 파일은 url에서 가져옴 |
update_epic파괴적
uid로 기존 에픽을 업데이트합니다. 제공된 필드만 변경됩니다. 컬렉션의 경우 add_*/remove_* 델타 필드를 선호합니다(안전한 증분 편집). 일반 컬렉션 필드(assigned_to, checklists, links, attachments)는 이전 상태를 파괴적으로 대체하며 델타 필드와 함께 사용할 수 없습니다. 설명을 편집하려면 preview_description_update / update_description을 사용하세요.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| id | string | 예 | 에픽 uid |
| name | string | ||
| color | string | #0060F0 같은 16진수 색상 | |
| start_date | string | ISO-8601 날짜 | |
| end_date | string | ISO-8601 날짜 | |
| assigned_to | array of string | 담당자 사용자 uid 목록. list_project_users로 조회 가능. 에픽의 기존 담당자를 대체함 | |
| checklists | array of object | 각 항목은 { name, items: [{ description, checked }] }. 에픽의 기존 체크리스트를 대체함 | |
| links | array of object | 각 항목은 { url, description }. 에픽의 기존 링크를 대체함 | |
| attachments | array of object | 각 항목은 { url, name }. 파일은 url에서 가져옴. 에픽의 기존 첨부 파일을 대체함 | |
| add_assignees | array of string | 사용자 uid로 담당자 추가. 기존 담당자는 유지됨 | |
| remove_assignees | array of string | 사용자 uid로 담당자 제거. 없는 uid는 아무 작업도 하지 않음 | |
| add_checklist_items | array of object | 항목 추가: 각 { checklist, description, checked? } — 이름이 지정된 체크리스트가 없으면 생성됨 | |
| check_items | array of object | 이름이 지정된 체크리스트 내에서 설명이 정확히 일치하는 항목을 완료로 표시 | |
| uncheck_items | array of object | 항목을 미완료로 표시(check_items와 동일한 일치 방식) | |
| remove_checklist_items | array of object | 항목 삭제. 없는 항목은 아무 작업도 하지 않음 | |
| add_links | array of object | 링크 추가: 각 { url, description? }. 기존 링크는 유지됨 | |
| remove_links | array of string | 정확한 url로 링크 제거. 없는 url은 아무 작업도 하지 않음 |
delete_epic파괴적
uid로 에픽을 소프트 삭제합니다. 에픽의 카드는 삭제되지 않습니다 — 보드에 남아 에픽에서 분리됩니다. 에픽의 로드맵 슬롯은 영구적으로 삭제됩니다(슬롯은 에픽을 일정에 넣는 것이므로 에픽 없이는 의미가 없음). 에픽에 연결된 화이트보드 요소는 연결이 해제됩니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| id | string | 예 | 에픽 uid |
create_comment
카드 또는 에픽에 댓글을 추가합니다. card_id 또는 epic_id 중 정확히 하나를 제공하세요. 내용은 AgileHero Markup(AHM, 댓글 표면: 표, 미디어, 색상, 정렬, 토론 없음)입니다 — markdown이나 HTML이 절대 아닙니다. 먼저 get_ahm_spec을 읽으세요. 댓글은 이 클라이언트가 대신하는 로그인한 사용자에게 귀속되며 이후 get_card / get_epic 응답에 나타납니다. 댓글은 MCP를 통해 편집할 수 없습니다. delete_comment는 자신의 댓글만 제거합니다(실수는 삭제 후 다시 게시하여 수정). parent_comment_id를 전달하면 기존 댓글에 답글을 답니다. 스레드는 한 단계 깊이입니다: 답글에 답글을 달면 새 댓글이 해당 답글의 스레드 루트에 연결되므로 중첩 답글을 시도하지 마세요. 부모는 같은 카드나 에픽의 댓글이어야 합니다 — 다른 곳의 uid는 거부됩니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| card_id | string | 댓글을 달 카드 uid(epic_id와 상호 배타적) | |
| epic_id | string | 댓글을 달 에픽 uid(card_id와 상호 배타적) | |
| content | string | 예 | AgileHero Markup(AHM)으로 작성한 댓글 본문 |
| parent_comment_id | string | 선택 사항. 같은 카드 또는 에픽의 댓글 uid로 답글을 답니다. 최상위 댓글이면 생략합니다. 답글에 답글을 달면 해당 답글의 스레드 루트로 정규화됩니다(스레드는 한 단계 깊이). |
delete_comment파괴적
직접 게시한 댓글을 삭제합니다(댓글은 이 클라이언트가 대신하는 로그인한 사용자에게 귀속됩니다 — 다른 사람의 댓글은 삭제할 수 없습니다). 수정 패턴은 삭제 후 create_comment로 수정된 댓글을 다시 게시하는 것입니다. 답글이 있는 삭제된 댓글은 스레드에서 묘비로 계속 표시됩니다. 댓글 uid는 get_card / get_epic에서 가져옵니다.
| 매개변수 | 유형 | 필수 | 설명 |
|---|---|---|---|
| id | string | 예 | 댓글 uid |