Skip to main content
Glama

gocd-mcp

An MCP server for GoCD. It exposes GoCD's REST API as MCP tools so any MCP client (Claude Code, Claude Desktop, Cursor) can read pipeline state and drive pipelines. Two implementations live here and behave identically on the wire: pick whichever fits how you want to install it.

  • go/ — Go implementation. Ships as a single static binary or a Docker image. Fast cold start, low memory.

  • ts/ — TypeScript implementation. Runs on Node with no dependencies, so npx needs no build step.

Both return the same context-lean output: the dashboard is summarized by default, rows are column-oriented, and responses are compact JSON. A full GoCD dashboard is several MB across many pipelines; these tools trim it to what the model needs.

Tools

Read tools (safe):

Tool

What it does

gocd_dashboard

Dashboard health. No args = summary; filter/status/detail drill down

gocd_pipeline_status

Paused / locked / schedulable for one pipeline

gocd_pipeline_instance

One run: stages with per-job result, plus trigger

gocd_pipeline_history

Recent runs for one pipeline. Optional limit

gocd_stage_instance

One stage run with per-job state and agent

gocd_stage_history

Recent runs of one stage

gocd_compare

What changed between two runs: commits per material

gocd_list_artifacts

A job's artifact files as [path, url]

gocd_get_artifact

One artifact file, tail-capped (cap_kb) to stay context-lean

gocd_list_agents

Build agents and state. Optional filter, limit

gocd_get_agent

One agent by uuid

gocd_materials

Configured materials. Optional filter

gocd_environments

Environments and their pipeline/var counts

gocd_pipeline_groups

Pipeline groups. Filter to list a group's pipelines

gocd_server_health

Server health messages, counted by level

gocd_version

GoCD server version

Write tools (operate):

Tool

What it does

gocd_trigger_pipeline

Schedule a pipeline run

gocd_pause_pipeline

Pause a pipeline

gocd_unpause_pipeline

Resume a pipeline

Set GOCD_READONLY=1 to hide the three write tools. Large listings (dashboard, pipeline_groups, materials, environments) are summarized or filterable so they never dump the raw multi-MB body into the model's context.

Related MCP server: Jenkins MCP Server

Configuration

Two environment variables, both required:

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

GOCD_BASE_URL is the bare host, without a trailing /go. The tools append /go/api/... themselves. Create the token in GoCD under your profile, Personal Access Tokens.

Install

Zero install, nothing to build. This is the simplest way to run the server:

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

Published on npm as gocd-mcp and on the MCP Registry as io.github.Sahilll15/gocd, so registry-aware clients can find it by name.

Go binary

Download a prebuilt binary from Releases, or build it:

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

Register it:

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

To run the TypeScript source directly during development (Node >= 22.6, uses type-stripping):

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

Which one

They are functionally identical. In a local benchmark the Go build started about 4x faster (~21ms vs ~80ms cold start) and used about 6x less memory; per-request latency was a tie because the GoCD network round-trip dominates. Prefer the Go binary or Docker image for a spawned-per-session server; prefer npx when you want the zero-install path and already have Node.

Layout

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

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables managing Jenkins operations like listing jobs, triggering builds, and checking build statuses through a configurable MCP server.
    3
    10
    Apache 2.0
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents and external systems to programmatically trigger and monitor Jenkins jobs, retrieve build status and logs via MCP standards.

Latest Blog Posts

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/Sahilll15/gocd-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server