gdc-claude-plugin
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GDC_WEB_URL | No | Web URL of the GDC service. Override the default development server. | http://se.gemiso.com:11521 |
| GDC_BASE_URL | No | Base URL of the GDC service. Override the default development server. | http://se.gemiso.com:11521 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| gdc_loginA | 브라우저 핸드오프(A안)로 MCP 전용 토큰을 발급받고, 선택한 워크스페이스/프로젝트를 현재 레포(루트)별로 저장한다. 브라우저 창이 열리면 평소처럼 로그인(Google·로컬 모두 가능)한 뒤 '연결 허용'을 누른다. 인증 토큰은 사용자 단위로 공유되고, 워크스페이스/프로젝트는 이 레포에만 적용된다. → 레포마다 한 번씩 gdc_login하면 레포별로 다른 프로젝트를 자동으로 쓴다. |
| get_contextA | 현재 레포(루트)에 적용되는 워크스페이스/프로젝트 컨텍스트를 반환한다. create_task/list 등에서 어떤 프로젝트가 쓰일지 확인하는 용도. roots 미지원 환경에서는 글로벌 fallback 값을 반환한다. |
| list_workspacesA | 현재 사용자가 접근 가능한 워크스페이스 목록(전환용). |
| list_projectsB | 지정 워크스페이스의 프로젝트 목록(전환용). |
| list_customersA | 현재 레포 컨텍스트 워크스페이스의 고객사 목록을 조회한다. create_task/update_task의 customer를 이름으로 지정하기 전에 후보를 확인하는 용도. search를 주면 이름·대표자·담당자 이름으로 부분 검색한다(생략 시 전체). 반환된 id 또는 name을 customer 인자로 넘기면 된다. 권한(고객사 열람) 없는 워크스페이스는 서버가 빈 목록을 주므로 count=0이면 고객사가 없거나 열람 권한이 없는 것이다. |
| set_contextA | 현재 레포의 워크스페이스/프로젝트를 전환한다(재인증 없이, 토큰 유지). 이미 로그인된 상태에서 작업 대상 프로젝트만 바꿀 때 사용한다. |
| get_project_enumsA | 프로젝트별 커스텀 status/priority/task_type enum을 조회한다. status는 category(planned/in_progress/done)를 포함한다. 완료 상태 = category=='done', 미완료 상태 = 그 보집합. 태스크 생성/수정/필터 전에 유효한 값과 '미완료 집합'을 확인하는 용도. |
| list_my_tasksA | 현재 사용자(assignee/creator/participant)의 태스크 목록을 조회한다. 조회 대상 프로젝트는 현재 레포에서 gdc_login으로 선택한 프로젝트(레포별 컨텍스트)로 고정된다. 그 프로젝트의 미완료 집합으로 서버측 필터링하므로 정확하다. 저장된 프로젝트가 없으면 부득이 mine 전체에서 클라이언트 필터링한다(첫 페이지만 보므로 누락 가능).
|
| list_tasksA | 특정 담당자의 태스크를 현재 레포 프로젝트에서 조회한다. assignee는 user id 또는 멤버 이름(full_name/username) — 자동으로 id로 해석한다. 조회 프로젝트는 현재 레포에서 gdc_login으로 저장한 프로젝트로 고정한다(미설정 시 오류). 필터는 list_my_tasks와 동일: not_finished(미완료만)/overdue(마감 지남)/undated(날짜 미정). "내" 태스크는 list_my_tasks를, 특정 담당자는 이 도구를 쓴다. |
| search_tasksA | 현재 레포 프로젝트에서 키워드·필터로 태스크를 검색한다. 조회 범위는 현재 레포에서 gdc_login/set_context로 선택한 프로젝트로 고정된다(미설정 시 오류). "내 태스크"는 list_my_tasks, "특정 담당자 태스크"는 list_tasks가 더 간단하다 — 이 도구는 키워드나 여러 조건을 조합할 때 쓴다.
|
| create_taskA | 태스크를 생성한다. 필수: project(프로젝트 ID), title. [입력 수집 권장 흐름 — Desktop·Code 공통] 호출 전에 사용자에게 컬럼을 선택지로 하나씩 물어보고 고른 값을 넘긴다:
[description — 라벨 섹션 템플릿(평문)]
본문은 평문 한 문단으로 넣지 말고 아래 템플릿으로 작성해 넘긴다. 도구가 GDC 리치텍스트(HTML)로
변환한다(라벨→볼드 문단, ※ [요약]·[작업 내용]=필수, [AS-IS]/[TO-BE]=선택(짝) — 전/후 상황이 불명확하면 생략(추측·빈말 금지).
※ 체크박스 표시( 값 형식: status/priority/task_type은 해당 프로젝트 enum의 'name', 날짜는 'YYYY-MM-DD'. assignee·participant_ids는 user id 또는 멤버 이름(full_name/username)을 넘기면 자동으로 id로 해석한다. 확장 필드(사용자가 명시할 때만 전달 — 질문으로 강요하지 않음): parent(상위 태스크 id), customer(고객사 id 또는 이름 — 이름은 현재 워크스페이스에서 자동 해석, 모호하면 후보 안내), actual_start_date/actual_end_date, progress(0~100), weight(비중 % — WBS 프로젝트 전용, 비WBS는 호출 전 차단. 형제 그룹 비중 합 100 초과는 서버가 검증). 태그는 지정할 수 없다 — 서버가 태스크의 태그를 본문·댓글의 tagMention에서만 동기화하므로 태그 id를 보내도 무시된다(읽기는 get_task의 tags로 가능). 제약(미충족 시 호출 전 ValueError로 안내·차단): 예상/실제 시작일 ≤ 종료일, 실제 종료일 미래 불가, 담당자/관련자는 해당 프로젝트 멤버만 지정 가능. 완료 보정: status가 완료 계열(category=='done')이면 progress=100·실제 종료일=오늘을 자동 주입한다 (progress/actual_end_date를 직접 전달한 경우 그 값이 우선). |
| update_taskA | 태스크를 부분 수정(PATCH)한다. 전달한 필드만 갱신된다. [description — 라벨 섹션 템플릿(평문)]
본문을 교체할 때는 평문 한 문단이 아니라 사용자가 수정 권한을 가진 모든 편집 필드를 노출한다(읽기전용 id/number/creator 제외). status/priority/task_type은 해당 프로젝트 enum 'name'(get_project_enums로 확인), 날짜는 'YYYY-MM-DD', parent는 ID. 태그는 수정할 수 없다 — 서버가 본문·댓글의 tagMention에서만 태그를 동기화한다(읽기는 get_task). assignee·participant_ids는 user id 또는 멤버 이름(full_name/username)을 넘기면 자동으로 id로 해석한다. customer는 고객사 id 또는 이름 — 이름은 현재 워크스페이스에서 검색해 정확 일치를 자동 채택, 모호하면 후보 목록으로 안내한다. weight(비중 %)는 WBS 프로젝트 전용 — 비WBS 태스크에 전달하면 호출 전 차단. parent 변경 시 서버가 weight를 자동 초기화한다(weight를 함께 전달하면 그 값 적용). 완료 상태(category=='done')로 전환하면 백엔드가 progress=100·actual_end_date를 자동 보정할 수 있다. 필드 해제(비우기): clear_fields에 필드명 리스트를 전달 — 가능: parent, assignee, customer, planned_start_date, planned_end_date, actual_start_date, actual_end_date, weight. 예) 실제 종료일 비우기 → clear_fields=["actual_end_date"], 고객사 해제 → clear_fields=["customer"]. 같은 필드에 값과 해제를 동시에 전달하면 오류. 관련자 전체 해제는 participant_ids=[]. 제약(미충족 시 ValueError로 안내·차단): 예상/실제 시작일 ≤ 종료일, 실제 종료일은 미래 불가, 담당자/관련자는 해당 프로젝트 멤버만 지정 가능. |
| edit_task_descriptionA | 태스크 본문(description)을 통째 덮어쓰지 않고 최소 편집한다(인라인 이미지 보존). 본문을 재구성해 통째로 PATCH하면 mode:
task_id는 id(정수) 또는 제목(문자열). 편집 결과가 현재와 같으면 PATCH하지 않고 그대로 반환. |
| open_taskA | 태스크 웹 화면을 Chrome 새 탭으로 연다. 목록에 표시되는 URL을 클릭하면 VSCode 내장 브라우저로 열릴 수 있으므로, 이 도구는 chrome.exe를 직접 실행해 항상 Chrome으로 연다(미설치 시 기본 브라우저). |
| get_taskA | 태스크 상세를 조회한다(작업 요청 문서 생성·연동용). task_id는 태스크 id(정수) 또는 제목(문자열) — 제목이면 현재 프로젝트에서 검색해 해석한다(정확 1건이면 채택, 다수면 후보 안내, 0건이면 오류). 제목/내용/상태/우선순위/유형/날짜/진행률/담당자 등 문서 작성에 필요한 필드와 함께 상위 태스크(parent)·하위 태스크(sub_tasks)·연관 태스크(related_tasks) 를 반환한다.
|
| link_task_to_docA | 기존 태스크를 기존 작업 요청 문서와 연동한다. 문서 frontmatter에 task_id/task_url을 기록(upsert)하므로, 이후 sync_doc_progress·훅이 이 문서의 Phase/체크박스 진행률을 해당 태스크에 동기화한다. (새 태스크를 만들지 않음) |
| sync_doc_progressA | 작업 요청 문서의 Phase 진척을 읽어 연결된 태스크 진행률·상태·실제 날짜를 동기화한다. progress = 완료 Phase 수 / 전체 Phase 수 × 100 (한 Phase는 하위 체크박스가
전부 [x]일 때 완료). task_id 생략 시 문서 frontmatter의 task_id를 사용한다.
최초 진행 시 '진행'+실제 시작일, 100% 시 '완료'+실제 종료일로 자동 전이된다.
description 전달 시 진행률 PATCH에 태스크 본문(description)도 함께 반영한다 —
문서 본문이 수정됐을 때 호출 에이전트가 '[작업 내용]' 요약을 재생성해 넘기는 용도(자동 훅은 진행률 전용).
이때 본문은 |
| task_from_docA | 작업 요청 문서로 태스크를 생성하고, 문서 frontmatter에 task_id/task_url을 기록한다.
|
| list_task_commentsA | 태스크의 댓글(멘션) 목록을 조회한다. 최신순 상위 limit개를 시간순(오래된→최신)으로 반환. 서버 페이지네이션(PAGE_SIZE=20, page_size 미지원)상 한 요청으로 최대 20개만 받는다 — limit>20을 줘도 20개까지만 반환된다(가장 최근 댓글 우선). count는 태스크의 전체 댓글 수. 각 댓글: id, author_name(작성자 실명), text(HTML을 벗긴 평문), is_edited(수정됨 여부), created_at. |
| add_task_commentA | 태스크에 댓글(멘션)을 작성한다. 필수: task_id, content(본문). content는 평문으로 넘기면 GDC 리치텍스트(HTML)로 변환해 저장한다(이미 HTML이면 통과). mentions에 멤버 이름 또는 user id 리스트를 주면 각 멤버를 해석해 본문 맨 앞에 하이라이트 멘션 한 줄(GDC 에디터와 동일한 멘션 노드 — 화면에 볼드+강조색으로 표시)을 붙인다 → 서버가 이를 파싱해 멘션 알림을 발송한다. (멘션은 본문 선두에만 배치되며, 본문 중간 커서 위치 삽입은 지원하지 않는다.) 비멤버를 멘션하면 가능한 멤버 목록과 함께 오류로 안내한다. |
| update_task_commentA | 댓글(멘션) 본문을 수정한다. 본인이 작성한 댓글만 수정 가능(아니면 오류). 주의: 서버가 새 content로 멘션을 다시 파싱해 덮어쓴다. 기존 멘션을 유지하려면 mentions 인자로 함께 넘겨야 하며, mentions 없이 수정하면 이전 멘션 알림 대상이 사라진다. mentions는 add_task_comment와 동일하게 본문 선두 하이라이트 멘션 한 줄로 삽입된다 (이미 멘션된 사용자에게 중복 알림은 가지 않는다 — 서버가 신규 멘션 델타만 발송). content는 평문→HTML 자동 변환(이미 HTML이면 통과). |
| delete_task_commentA | 댓글(멘션)을 삭제한다. 본인이 작성한 댓글만 삭제 가능(아니면 오류). |
| archive_taskA | 태스크를 숨기거나(archived=True) 숨김 해제한다(archived=False). 토글 API를 멱등 래핑한다. task_id는 태스크 id(정수) 또는 제목(문자열) — 제목이면 현재 프로젝트에서 검색해 해석한다. 숨기면 모든 하위 태스크가 함께 숨김되고 고정(pin)은 자동 해제된다. WBS 프로젝트는 숨김 기능을 지원하지 않는다(안내). 숨김 해제는 상위가 숨김 상태면 막힌다(먼저 상위 숨김 해제). 확인 게이트: confirm=False(기본)면 대상과 현재/목표 상태만 미리보기로 반환하고 실행하지 않는다. confirm=True로 다시 호출해야 실제로 토글한다. 이미 원하는 상태면 호출 없이 그대로 둔다(멱등). |
| delete_taskA | 태스크를 삭제한다(소프트 삭제 → 휴지통 이동, 복구 가능). 관리자 이상 권한 필요. task_id는 태스크 id(정수) 또는 제목(문자열) — 제목이면 현재 프로젝트에서 검색해 해석한다. 하위 태스크 처리: WBS 프로젝트는 하위 전체 연쇄 삭제, 비WBS는 직속 하위를 최상위로 승격 후 본체만 삭제한다(손자는 승격된 부모 밑 유지). 복구는 restore_task, 목록은 list_trashed_tasks. 확인 게이트: confirm=False(기본)면 삭제 대상과 하위 영향만 미리보기로 반환하고 삭제하지 않는다. confirm=True로 다시 호출해야 실제 삭제한다. |
| restore_taskA | 휴지통의 삭제된 태스크를 복구한다. 관리자 이상 권한 필요. task_id는 태스크 id(정수) 또는 제목(문자열) — 삭제 태스크는 일반 검색에서 빠지므로 현재 프로젝트 휴지통에서 제목을 매칭한다. 존재하지 않거나 삭제되지 않은 태스크는 안내한다. 주의: 첨부 파일은 함께 복구되지만 연쇄 삭제된 하위 태스크는 복구되지 않고 휴지통에 남는다 (단건 + 자기 첨부만 복구). WBS 태스크는 원래 부모 밑이 아니라 최상위로 분리되고 비중(weight)이 해제된 상태로 복구된다. 확인 게이트: confirm=False(기본)면 대상·부작용만 미리보기로 반환하고 복구하지 않는다. confirm=True로 다시 호출해야 실제 복구한다. |
| list_trashed_tasksA | 현재 프로젝트 휴지통(삭제된 태스크) 목록을 조회한다. 복구(restore_task) 대상 식별용. 삭제된 태스크는 일반 조회(list_my_tasks/get_task)에서 빠지므로, 복구하려면 이 목록에서 id/제목을 확인한다. 각 항목에 삭제 시각(deleted_at)·삭제자(deleted_by)를 포함한다. 현재 레포 프로젝트로 스코프되며(project 명시 전송), 관리자 이상만 유효한 결과를 받는다. 한 요청으로 최대 100개까지 받아 최신 삭제순 상위 limit개를 반환한다(count는 전체 삭제 수). |
| list_my_notificationsA | 내 알림 목록을 조회한다(조회 전용 — 읽음 처리는 하지 않는다). 멘션·담당자 변경·댓글·상태 변경 등 나를 수신자로 하는 알림을 최신순으로 반환하고, 미읽음 총 개수(unread_count)를 함께 준다.
|
| list_my_mentionsA | 나와 관련된 댓글 멘션 목록을 최신순으로 조회한다(조회 전용). 알림(list_my_notifications)과 달리 댓글 본문을 훑는 용도다 — 어떤 태스크에서 무슨 이야기가 오갔는지 확인할 때 쓴다.
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| gdc_login | GDC 브라우저 핸드오프 인증/재인증 (워크스페이스·프로젝트 선택). |
| gdc_switch | 현재 레포의 워크스페이스/프로젝트 전환 (재인증 없이). |
| gdc_task | 태스크 상세 조회 (id 또는 제목, 하위·연관·상위 태스크 포함). |
| gdc_my_tasks | 내 미해결 태스크 조회. flags 예: '--overdue', '--undated', '--all'. |
| gdc_tasks | 특정 담당자의 태스크 조회. assignee=이름 또는 user id, flags 예: '--overdue' '--undated' '--all'. |
| gdc_task_new | 새 태스크 생성 (선택 목록·한글·담당자 자동). |
| gdc_task_from_doc | 작업 요청 문서로 태스크 생성. |
| gdc_doc_from_task | 태스크 기반으로 작업 요청 문서 생성·연동. |
| gdc_link_task | 기존 태스크를 기존 작업 요청 문서와 연동. |
| gdc_sync | 문서 진행률을 연결된 태스크에 강제 동기화. |
| gdc_apply | 문서 변경을 연결된 태스크 본문/댓글/하위 태스크에 반영(분류→질문→라우팅). |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/seonmikii/gdc-claude-plugin'
If you have feedback or need assistance with the MCP directory API, please join our Discord server