Gdc Claude Plugin — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Gdc Claude Plugin (Plugin) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
Aggregate score unchanged between these scans.
The primary manifest — the file an agent reads to learn what this artifact does.
Claude Code(및 Claude Desktop)에서 GDC(gdc-service) 를 쓰기 위한 플러그인이다. MCP 도구 + 슬래시 커맨드 + 진행률 자동 동기화 훅을 한 번에 설치한다. 기본 연결 대상은 운영 서버 `https://gdc.gemiso.com`.
📘 사용 안내서 — https://seonmikii.github.io/gdc-claude-plugin/ 설치부터 일상적인 사용까지 화면과 예시로 안내한다. Claude Code / Claude Desktop 탭 전환, 한국어·English 지원. 처음 쓴다면 여기부터.
/gdc-login /gdc-switch /gdc-my-tasks /gdc-tasks /gdc-task /gdc-task-new /gdc-task-from-doc /gdc-doc-from-task /gdc-link-task /gdc-apply /gdc-sync /gdc-suggest /gdc-update. (Claude Code 전용)docs/requests/**/*.md 편집 시 연결된 태스크 진행률 자동 동기화. (Claude Code 전용)uv run으로 기동). https://docs.astral.sh/uv/마켓플레이스 추가와 설치는 사용자별 설정(~/.claude)이라, 팀원 모두 각자 한 번씩 실행해야 한다.
# 1) 마켓플레이스 추가 (사용자당 1회)
/plugin marketplace add seonmikii/gdc-claude-plugin
# 2) 플러그인 설치
/plugin install gdc-claude-plugin@gdc-marketplace
# 3) 적용
/reload-plugins # 또는 Claude Code 재시작적용 후 /mcp 또는 /plugin에서 gdc-local이 ✓ Connected로 뜨면 정상.
/gdc-update터미널 CLI·VSCode 확장 모두 동작한다(환경을 감지해 알아서 분기한다). 실행 후 Claude Code를 재시작해야 반영된다.
설치/업데이트가 EBUSY: resource busy or locked 로 막히면, 실행 중인 MCP 서버가 캐시 폴더를 점유한 것이다. 플러그인을 Disable 후 재설치하거나, Claude Code를 완전 재시작한 뒤 다시 실행한다./gdc-login브라우저 창이 열리면 평소처럼 로그인(Google·로컬 모두 가능)하고 워크스페이스/프로젝트를 선택한 뒤 "연결 허용"을 누른다.
~/.gdc-mcp/credentials.json 에 저장된다(사용자 단위 공유, 커밋 금지)./gdc-login 하면 레포별로 다른 프로젝트를 쓴다.127.0.0.1 loopback + 1회용 state로 한정된다.| 커맨드 | 설명 | ||
|---|---|---|---|
/gdc-login | 브라우저 핸드오프 인증/재인증 (워크스페이스·프로젝트 선택) | ||
/gdc-switch | 현재 레포의 워크스페이스/프로젝트 전환(재인증 없이) | ||
/gdc-my-tasks [--overdue] [--undated] [--all] | 내 미해결 태스크 조회(선택 프로젝트 기준) | ||
/gdc-tasks <담당자> [--overdue] [--undated] [--all] | 특정 담당자(이름 또는 id)의 태스크 조회 | ||
| `/gdc-task <id\ | 제목>` | 태스크 상세 조회(하위·연관·상위 태스크 포함) | |
/gdc-task-new | 새 태스크 생성(선택 목록·한글·담당자 자동) | ||
/gdc-task-from-doc <path> | 작업 요청 문서로 태스크 생성 | ||
/gdc-doc-from-task <task_id> | 태스크로 작업 요청 문서 생성·연동 | ||
/gdc-link-task <task_id> [doc] | 기존 태스크를 기존 문서와 연동 + 문서 내용 반영(선택) | ||
/gdc-apply [path] | 문서 변경을 태스크 본문/댓글/하위 태스크에 반영(분류→라우팅) | ||
/gdc-sync [path] | 문서 진행률을 연결된 태스크에 강제 동기화 | ||
| `/gdc-suggest [내용\ | list\ | 번호]` | 건의사항 제출 / 내 건의 목록 / 답변 확인 |
/gdc-update | gdc-marketplace 갱신 후 플러그인 최신 버전으로 승격 |
Claude Desktop은 플러그인/마켓플레이스/슬래시 커맨드/훅을 지원하지 않는다. 대신 MCP 서버를 직접 등록하면 아래 도구와 프롬프트(슬래시 커맨드 대응)를 모두 쓸 수 있다.
git clone https://github.com/seonmikii/gdc-claude-plugin%APPDATA%\Claude\claude_desktop_config.json~/Library/Application Support/Claude/claude_desktop_config.json {
"mcpServers": {
"gdc-local": {
"command": "uv",
"args": ["run", "--directory", "<클론 경로>/gdc-claude-plugin", "python", "-m", "gdc_mcp.server"],
"env": {
"GDC_BASE_URL": "https://gdc.gemiso.com",
"GDC_WEB_URL": "https://gdc.gemiso.com"
}
}
}
}Desktop에서는 진행률 자동 동기화 훅과/gdc-*슬래시 커맨드는 동작하지 않는다. 동일 기능을 MCP 프롬프트 12종(gdc_login/gdc_switch/gdc_my_tasks/gdc_tasks/gdc_task/gdc_task_new/gdc_task_from_doc/gdc_doc_from_task/gdc_link_task/gdc_apply/gdc_sync/gdc_suggest)으로 "+" 메뉴에서 호출할 수 있고, 진행률 동기화는sync_doc_progress(또는gdc_sync프롬프트)로 수동 실행한다.
>
※/gdc-update는 플러그인 CLI(마켓플레이스) 관리 커맨드라 대응 MCP 프롬프트가 없다. Desktop은 플러그인 개념이 없어(MCP 서버를 직접 등록)git pull로 최신 코드를 받아 Desktop을 재시작하면 반영된다.
자연어로 요청하면 Claude가 아래 도구를 호출한다("내 태스크 보여줘", "김철수 담당 태스크 조회해줘" 등).
| 도구 | 설명 |
|---|---|
gdc_login | 브라우저 핸드오프로 MCP 전용 토큰 발급, 워크스페이스/프로젝트를 레포별 저장 |
get_context | 현재 레포에 적용되는 워크스페이스/프로젝트 확인 |
set_context | 현재 레포의 워크스페이스/프로젝트 전환(재인증 없이) |
list_workspaces | 접근 가능한 워크스페이스 목록 |
list_projects | 지정 워크스페이스의 프로젝트 목록 (종료된 프로젝트 제외) |
list_customers | 프로젝트에 지정 가능한 고객사 목록 |
get_project_enums | 프로젝트별 status/priority/task_type/members(담당자·관련자 후보) |
list_my_tasks | 내(담당/작성/참여) 미해결 태스크 — not_finished/overdue/undated |
list_tasks | 특정 담당자(이름 또는 id)의 태스크 — 동일 필터 |
search_tasks | 현재 프로젝트 키워드·다중 필터 검색(상태/우선순위/유형/담당자/관련자/고객사/종료일 범위). 완료 태스크도 기본 포함, 결과는 번호 내림차순(관련도순 아님) |
create_task | 태스크 생성(담당자 기본=본인, 날짜·멤버 입력 검증, 완료 상태면 진행률·실제 종료일 자동 보정). 상태/우선순위/유형은 생략 시 프로젝트 enum 기준 기본값(WBS형은 등록/보통/기타)이 적용된다. 본문은 라벨 섹션 템플릿(평문)으로 넘기면 GDC 리치텍스트(HTML)로 변환 |
update_task | 태스크 부분 수정(날짜 순서·미래·멤버 검증, 상태/우선순위/유형은 프로젝트 enum 대조 후 차단). 본문은 같은 라벨 섹션 템플릿 — 통째 교체이므로 부분 수정은 edit_task_description 사용 |
edit_task_description | 태스크 본문 최소 편집 — append_work(블렛 추가)·replace_section(라벨 섹션만 교체, 인라인 이미지 보존) |
get_task | 태스크 상세 조회(하위·연관·상위 태스크 + 실제 날짜·고객사·비중·관련자·태그·댓글 수 등 수정 가능 필드 포함). 저장값이 프로젝트 enum에 없으면 enum_mismatch로 표시. 연결된 GitHub PR은 pull_requests로 함께 반환 |
open_task | 태스크 웹 화면을 Chrome 새 탭으로 열기 |
list_task_pr_candidates | 태스크에 붙일 수 있는 GitHub PR 후보 조회(GitHub 실시간) + 연결 가능 레포 목록. 조회 실패 레포는 사유와 함께 failed_repos |
link_task_pr | GitHub PR을 태스크에 연결 — repo는 "owner/repo"(레포가 하나면 생략) |
unlink_task_pr | 태스크의 PR 연결 해제 — 자동 연결(source=auto/auto_issue)은 PR 본문의 근거를 지워야 다시 안 붙는다 |
task_from_doc | 작업 요청 문서로 태스크 생성 + 문서 frontmatter에 연동 기록(완료 상태면 진행률·실제 종료일 자동 보정) |
link_task_to_doc | 기존 태스크를 기존 문서와 연동(새로 만들지 않음) |
sync_doc_progress | 문서의 Phase/체크박스 진척을 연결된 태스크 진행률·상태·날짜에 동기화(description 전달 시 태스크 본문도 함께 갱신) |
list_task_comments | 태스크 댓글(Mention) 목록 조회 |
add_task_comment | 태스크 댓글 작성(멘션 지원 — 본문 선두에 하이라이트 멘션 삽입, 알림 발송) |
update_task_comment | 태스크 댓글 수정(mentions 재전달 시 하이라이트 멘션 유지) |
delete_task_comment | 태스크 댓글 삭제 |
archive_task | 태스크 숨기기/해제 토글(하위 일괄 처리, WBS 불가, confirm 게이트) |
delete_task | 태스크 삭제 — 소프트 삭제(휴지통 이동, 복구 가능, 관리자 이상, confirm 게이트) |
restore_task | 휴지통 태스크 복구(관리자 이상, confirm 게이트) |
list_trashed_tasks | 현재 프로젝트 휴지통(삭제된 태스크) 목록 — 복구 대상 식별 |
list_my_notifications | 내 알림 목록(멘션·댓글·담당자 변경 등) + 미읽음 수 — 조회 전용, 전 워크스페이스 혼재 |
list_my_mentions | 나와 관련된 댓글 멘션 목록(mentioned/authored/both, 기간·검색) — 현재 컨텍스트 스코프, 조회 전용 |
submit_suggestion | GDC·플러그인 건의사항 제출(버그/기능 요청/개선 제안/기타) — 워크스페이스·프로젝트 무관, 컨텍스트 불필요 |
list_my_suggestions | 내가 제출한 건의사항 목록(상태·분류 필터) — 답변 여부(has_reply)까지, 본문·답변은 상세에서 |
get_suggestion | 건의사항 상세 — 본문 + 관리자 답변 + 답변자·답변 시각 |
본문·댓글 자동 링크(v0.6.x): 평문으로 넘긴 태스크 본문·댓글은 HTML로 변환될 때 ① http(s):// URL과 ② 같은 프로젝트의 태스크 언급 #번호가 자동으로 링크된다(#409 → 해당 태스크 페이지 + 뒤에 (제목) 표시). 현재 프로젝트에 없는 번호·숨김 태스크는 평문 그대로 두고, 색상 코드(#fff)나 URL 프래그먼트는 링크하지 않는다. 이미 HTML로 넘긴 본문은 변환 없이 통과하므로 자동 링크도 적용되지 않는다.
입력 규칙(참고): 담당자/관련자는 user id 또는 멤버 이름(자동 id 해석, 비멤버면 멤버 목록 안내). 날짜는 YYYY-MM-DD이며 예상/실제 시작일 ≤ 종료일, 실제 종료일은 미래 불가(미충족 시 안내·차단). 완료 계열 상태(category=='done')로 태스크를 생성하면 진행률 100%·실제 종료일=오늘이 자동 주입된다.
기본 연결은 운영 서버다. 로컬 gdc-service로 붙이려면 환경변수로 덮어쓴다(.env.example 참고). Code는 플러그인 .mcp.json의 env, Desktop은 위 설정의 env를 바꾸면 된다.
GDC_BASE_URL=http://localhost:8000
GDC_WEB_URL=http://localhost:5173http://se.gemiso.com:11521)로 override 시 HTTP(평문) — 토큰 평문 전송 위험은 인지된 상태이며 별도 보완(후속) 대상이다.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.