gocd-mcp
gocd-mcp
Un servidor MCP para GoCD. Expone la API REST de GoCD como herramientas MCP para que cualquier cliente MCP (Claude Code, Claude Desktop, Cursor) pueda leer el estado de los pipelines y gestionarlos. Aquí hay dos implementaciones que se comportan de forma idéntica a nivel de protocolo: elige la que mejor se adapte a cómo quieras instalarla.
go/— Implementación en Go. Se distribuye como un único binario estático o una imagen Docker. Arranque en frío rápido, bajo uso de memoria.ts/— Implementación en TypeScript. Se ejecuta en Node sin dependencias, por lo quenpxno necesita paso de compilación.
Ambas devuelven la misma salida ligera en contexto: el dashboard se resume por defecto, las filas están orientadas a columnas y las respuestas son JSON compacto. Un dashboard completo de GoCD ocupa varios MB repartidos en muchos pipelines; estas herramientas lo recortan a lo que el modelo necesita.
Herramientas
Herramientas de lectura (seguras):
Herramienta | Qué hace |
| Salud del dashboard. Sin argumentos = resumen; |
| Pausado / bloqueado / programable para un pipeline |
| Una ejecución: etapas con resultado por trabajo, más el disparador |
| Ejecuciones recientes de un pipeline. |
| Una ejecución de etapa con estado por trabajo y agente |
| Ejecuciones recientes de una etapa |
| Qué cambió entre dos ejecuciones: commits por material |
| Los archivos de artefacto de un trabajo como |
| Un archivo de artefacto, limitado a la parte final ( |
| Agentes de compilación y estado. |
| Un agente por uuid |
| Materiales configurados. |
| Entornos y sus recuentos de pipelines/variables |
| Grupos de pipelines. Filtro para listar los pipelines de un grupo |
| Mensajes de salud del servidor, contados por nivel |
| Versión del servidor GoCD |
Herramientas de escritura (operación):
Herramienta | Qué hace |
| Programar una ejecución de pipeline |
| Pausar un pipeline |
| Reanudar un pipeline |
Establece GOCD_READONLY=1 para ocultar las tres herramientas de escritura. Los listados grandes (dashboard, pipeline_groups, materials, environments) se resumen o se pueden filtrar para que nunca vuelquen el cuerpo bruto de varios MB en el contexto del modelo.
Related MCP server: Jenkins MCP Proxy
Configuración
Dos variables de entorno, ambas obligatorias:
GOCD_BASE_URL=https://gocd.example.com
GOCD_ACCESS_TOKEN=<personal access token>GOCD_BASE_URL es el host base, sin un /go al final. Las herramientas añaden /go/api/... por sí mismas. Crea el token en GoCD en tu perfil, en Personal Access Tokens.
Instalación
npx (Node >= 18), recomendado
Instalación cero, nada que compilar. Esta es la forma más sencilla de ejecutar el servidor:
claude mcp add gocd -e GOCD_BASE_URL=... -e GOCD_ACCESS_TOKEN=... -- npx -y gocd-mcpPublicado en npm como gocd-mcp y en el registro MCP como io.github.Sahilll15/gocd, de modo que los clientes compatibles con el registro puedan encontrarlo por nombre.
Binario de Go
Descarga un binario precompilado desde Releases, o compílalo:
cd go && go build -o gocd-mcp .Regístralo:
claude mcp add gocd -e GOCD_BASE_URL=... -e GOCD_ACCESS_TOKEN=... -- /path/to/gocd-mcpDocker
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-mcpPara ejecutar el código fuente de TypeScript directamente durante el desarrollo (Node >= 22.6, usa eliminación de tipos):
cd ts && node --experimental-strip-types src/server.tsCuál elegir
Son funcionalmente idénticas. En una prueba comparativa local, la implementación en Go arrancó unas 4 veces más rápido (~21 ms frente a ~80 ms de arranque en frío) y usó unas 6 veces menos memoria; la latencia por solicitud fue un empate porque el viaje de ida y vuelta de red de GoCD domina. Prefiere el binario de Go o la imagen Docker para un servidor que se genera por sesión; prefiere npx cuando quieras la vía de instalación cero y ya tengas Node.
Estructura
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 manifestThis server cannot be deployed
Maintenance
Related MCP Connectors
Governed MCP gateway: one endpoint for your tools, with credential custody and audit log.
GitLab MCP — wraps the GitLab REST API v4 (BYO API key)
Read and write Mission Control state via MCP — projects, tasks, subtasks, templates, status updates.
Manage Pipefork API projects, drafts, connections, secrets, and deployments through MCP.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables Jenkins CI/CD integration with job management, pipeline monitoring, artifact handling, and batch operations via MCP.42 npm4Apache 2.0
- FlicenseNot gradedqualityDmaintenanceEnables AI agents and external systems to programmatically trigger and monitor Jenkins jobs, retrieve build status and logs via MCP standards.-
- AlicenseNot gradedqualityBmaintenanceEnables agents to inspect repositories, manage Golden Packs, plan golden flows, and run asynchronous validation tasks over MCP, providing a deterministic foundation for project-specific workflows.MIT
- AlicenseNot gradedqualityCmaintenanceProvides 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