io.github.Sahilll15/gocd
MCP server for GoCD: dashboard, pipelines, artifacts, agents. Context-lean output.
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
gocd-mcpclaude mcp add gocd -e 'GOCD_BASE_URL=<GOCD_BASE_URL>' -e 'GOCD_ACCESS_TOKEN=<your gocd_access_token>' -- npx -y gocd-mcp@0.1.2
{
"mcpServers": {
"gocd": {
"command": "npx",
"args": [
"-y",
"gocd-mcp@0.1.2"
],
"env": {
"GOCD_BASE_URL": "<GOCD_BASE_URL>",
"GOCD_ACCESS_TOKEN": "<your gocd_access_token>"
}
}
}
}
Variables d'environnement
GOCD_BASE_URLobligatoire GoCD base host, e.g. https://gocd.example.com (no trailing /go)GOCD_ACCESS_TOKENobligatoire secret GoCD personal access token
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
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, sonpxneeds 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.
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
npx (Node >= 18), recommended
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
Questions fréquentes
Qu'est-ce que io.github.Sahilll15/gocd ?
MCP server for GoCD: dashboard, pipelines, artifacts, agents. Context-lean output.
Comment installer io.github.Sahilll15/gocd ?
Il s'exécute sur votre machine. Dans Claude Code : claude mcp add gocd -e 'GOCD_BASE_URL=<GOCD_BASE_URL>' -e 'GOCD_ACCESS_TOKEN=<your gocd_access_token>' -- npx -y gocd-mcp@0.1.2. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour io.github.Sahilll15/gocd ?
Oui. Il attend GOCD_BASE_URL, GOCD_ACCESS_TOKEN, à renseigner dans sa configuration.
io.github.Sahilll15/gocd est-il open source ?
Son code est public sur GitHub, mais le dépôt ne déclare pas de licence standard.
Qui maintient io.github.Sahilll15/gocd ?
Il est publié par Sahilll15. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.