Gocd

io.github.Sahilll15Published by GitHub account Sahilll15v0.1.2Updated Oct 24, 2026

MCP server for GoCD: dashboard, pipelines, artifacts, agents. Context-lean output.

VerifiedSTDIODesktop onlyCloud & InfrastructureDeveloper Tools

Overview

AI-generated overview

MCP server that exposes the GoCD REST API so an assistant can read pipeline, stage, agent and artifact state and trigger or pause pipelines.

What you can do
  • Inspect dashboards, pipeline status, runs, stage runs, history and run-to-run commit changes
  • Review artifacts: list a job's files and fetch one file with a size cap
  • Survey build agents, materials, environments, pipeline groups, server health and version
  • Operate pipelines: trigger a run, pause or unpause a pipeline (hideable with GOCD_READONLY=1)
  • Keep output compact: summarized dashboards, column-oriented rows and capped responses
When to use it
Useful when you work with a GoCD CI/CD server and want an assistant to answer questions about pipeline health, recent failures, what changed between runs, or agent state, and to start or pause pipelines without opening the GoCD UI.
Requirements
Runs locally over stdio; the npm package gocd-mcp needs Node 18 or later (npx), with Go binary and Docker image alternatives. Requires GOCD_BASE_URL (bare host, no trailing /go) and GOCD_ACCESS_TOKEN, a GoCD personal access token created under your profile. Network access to the GoCD server.
Before you install
The access token is passed as an environment variable and grants API access to your GoCD server; scope it carefully. Three write tools can schedule pipeline runs and pause or unpause pipelines, which may deploy or change systems — set GOCD_READONLY=1 to hide them. Pipeline and artifact data is sent to the model as tool output.

Installation

In SourceWeft

  1. Open Gocd in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

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):

ToolWhat it does
gocd_dashboardDashboard health. No args = summary; filter/status/detail drill down
gocd_pipeline_statusPaused / locked / schedulable for one pipeline
gocd_pipeline_instanceOne run: stages with per-job result, plus trigger
gocd_pipeline_historyRecent runs for one pipeline. Optional limit
gocd_stage_instanceOne stage run with per-job state and agent
gocd_stage_historyRecent runs of one stage
gocd_compareWhat changed between two runs: commits per material
gocd_list_artifactsA job's artifact files as [path, url]
gocd_get_artifactOne artifact file, tail-capped (cap_kb) to stay context-lean
gocd_list_agentsBuild agents and state. Optional filter, limit
gocd_get_agentOne agent by uuid
gocd_materialsConfigured materials. Optional filter
gocd_environmentsEnvironments and their pipeline/var counts
gocd_pipeline_groupsPipeline groups. Filter to list a group's pipelines
gocd_server_healthServer health messages, counted by level
gocd_versionGoCD server version

Write tools (operate):

ToolWhat it does
gocd_trigger_pipelineSchedule a pipeline run
gocd_pause_pipelinePause a pipeline
gocd_unpause_pipelineResume 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.

Configuration

Two environment variables, both required:

GOCD_BASE_URL=https://gocd.example.comGOCD_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

npx (Node >= 18), recommended

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

bash
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:

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

Register it:

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

Docker

bash
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):

bash
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

Source: README.md at commit c03fa4f

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.2LatestSep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.