Skip to main content
Glama

gocd-mcp

GoCD용 MCP 서버입니다. GoCD의 REST API를 MCP 도구로 노출하여 모든 MCP 클라이언트(Claude Code, Claude Desktop, Cursor)가 파이프라인 상태를 읽고 파이프라인을 구동할 수 있습니다. 두 가지 구현이 이 저장소에 있으며 유선상에서 동일하게 동작합니다. 설치 방식에 맞는 것을 선택하세요.

  • go/ — Go 구현. 단일 정적 바이너리 또는 Docker 이미지로 제공됩니다. 빠른 콜드 스타트, 낮은 메모리.

  • ts/ — TypeScript 구현. 의존성 없이 Node에서 실행되므로 npx는 빌드 단계가 필요 없습니다.

둘 다 동일한 컨텍스트 절약형 출력을 반환합니다. 대시보드는 기본적으로 요약되고, 행은 열 지향적이며, 응답은 간결한 JSON입니다. 전체 GoCD 대시보드는 여러 파이프라인에 걸쳐 수 MB에 달합니다. 이 도구들은 모델이 필요한 만큼만 줄여서 제공합니다.

도구

읽기 도구(안전):

도구

기능

gocd_dashboard

대시보드 상태. 인수 없음 = 요약; filter/status/detail로 세부 조회

gocd_pipeline_status

하나의 파이프라인에 대한 일시 중지 / 잠김 / 스케줄 가능 여부

gocd_pipeline_instance

한 번의 실행: 작업별 결과가 포함된 스테이지 및 트리거

gocd_pipeline_history

하나의 파이프라인에 대한 최근 실행. 선택적 limit

gocd_stage_instance

작업별 상태와 에이전트가 포함된 하나의 스테이지 실행

gocd_stage_history

하나의 스테이지에 대한 최근 실행

gocd_compare

두 실행 간의 변경 사항: 머티리얼별 커밋

gocd_list_artifacts

작업의 아티팩트 파일을 [path, url]로 나열

gocd_get_artifact

하나의 아티팩트 파일. 컨텍스트를 절약하기 위해 끝부분만 제공(cap_kb)

gocd_list_agents

빌드 에이전트 및 상태. 선택적 filter, limit

gocd_get_agent

uuid로 하나의 에이전트 조회

gocd_materials

구성된 머티리얼. 선택적 filter

gocd_environments

환경 및 해당 파이프라인/변수 수

gocd_pipeline_groups

파이프라인 그룹. 필터를 사용해 그룹의 파이프라인 나열

gocd_server_health

레벨별로 집계된 서버 상태 메시지

gocd_version

GoCD 서버 버전

쓰기 도구(작동):

도구

기능

gocd_trigger_pipeline

파이프라인 실행 예약

gocd_pause_pipeline

파이프라인 일시 중지

gocd_unpause_pipeline

파이프라인 재개

GOCD_READONLY=1을 설정하면 세 가지 쓰기 도구가 숨겨집니다. 대량 목록(dashboard, pipeline_groups, materials, environments)은 요약되거나 필터링할 수 있어 원본의 수 MB 본문을 모델 컨텍스트에 그대로 덤프하지 않습니다.

Related MCP server: Jenkins MCP Proxy

구성

두 개의 환경 변수, 둘 다 필수:

GOCD_BASE_URL=https://gocd.example.com
GOCD_ACCESS_TOKEN=<personal access token>

GOCD_BASE_URL은 /go 접미사가 없는 기본 호스트입니다. 도구들이 /go/api/...를 직접 추가합니다. 토큰은 GoCD의 프로필, Personal Access Tokens에서 생성하세요.

설치

npx(Node >= 18), 권장

설치 없음, 빌드할 것 없음. 서버를 실행하는 가장 간단한 방법:

claude mcp add gocd -e GOCD_BASE_URL=... -e GOCD_ACCESS_TOKEN=... -- npx -y gocd-mcp

npm에 gocd-mcp로, MCP Registry에는 io.github.Sahilll15/gocd로 게시되어 있어 레지스트리를 인식하는 클라이언트가 이름으로 찾을 수 있습니다.

Go 바이너리

Releases에서 사전 빌드된 바이너리를 다운로드하거나 직접 빌드하세요:

cd go && go build -o gocd-mcp .

등록하세요:

claude mcp add gocd -e GOCD_BASE_URL=... -e GOCD_ACCESS_TOKEN=... -- /path/to/gocd-mcp

Docker

claude mcp add gocd -e GOCD_BASE_URL=... -e GOCD_ACCESS_TOKEN=... \
  -- docker run -i --rm -e GOCD_BASE_URL -e GOCD_ACCESS_TOKEN ghcr.io/sahilll15/gocd-mcp

개발 중 TypeScript 소스를 직접 실행하려면(Node >= 22.6, type-stripping 사용):

cd ts && node --experimental-strip-types src/server.ts

어떤 것을 선택할까

두 구현은 기능적으로 동일합니다. 로컬 벤치마크에서 Go 빌드는 약 4배 더 빠르게 시작되었고(콜드 스타트 ~21ms vs ~80ms) 메모리는 약 6배 적게 사용했습니다. 요청당 지연 시간은 GoCD 네트워크 왕복이 지배적이어서 동일했습니다. 세션마다 생성되는 서버에는 Go 바이너리나 Docker 이미지를 선호하고, 설치 없이 실행하고 이미 Node가 있다면 npx를 선호하세요.

레이아웃

gocd-mcp/
├── go/            Go implementation (main.go, internal/gocd)
├── ts/            TypeScript implementation (src/server.ts source; publishes as compiled dist/server.js)
├── Dockerfile     builds the Go binary into a distroless image
├── .goreleaser.yaml + .github/workflows/release.yml   prebuilt binaries + ghcr image on tag
└── server.json    MCP Registry manifest

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents and external systems to programmatically trigger and monitor Jenkins jobs, retrieve build status and logs via MCP standards.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides a runtime-only MCP server and REST API for datasets, connections, flows, pipelines, and cron scheduling, without server-side LLM execution or entity-authoring admin UI, enabling clients to operate and manage these resources programmatically.
    Apache 2.0