gocd-mcp
gocd-mcp
MCP-сервер для GoCD. Он предоставляет REST API GoCD в виде MCP-инструментов, поэтому любой MCP-клиент (Claude Code, Claude Desktop, Cursor) может читать состояние пайплайнов и управлять ими. Здесь находятся две реализации, которые на уровне протокола ведут себя одинаково: выбирайте ту, которая соответствует желаемому способу установки.
go/— реализация на Go. Поставляется как один статический бинарный файл или Docker-образ. Быстрый холодный старт, низкое потребление памяти.ts/— реализация на TypeScript. Запускается на Node без зависимостей, поэтомуnpxне требует шага сборки.
Обе возвращают одинаковый экономный по контексту вывод: дашборд по умолчанию сводится к краткой сводке, строки ориентированы по столбцам, а ответы — это компактный JSON. Полный дашборд GoCD занимает несколько мегабайт, охватывая множество пайплайнов; эти инструменты сокращают его до того, что нужно модели.
Инструменты
Инструменты чтения (безопасные):
Инструмент | Что делает |
| Состояние дашборда. Без аргументов — сводка; |
| Приостановлен / заблокирован / доступен для запуска для одного пайплайна |
| Один запуск: стадии с результатом по каждому заданию, плюс триггер |
| Последние запуски одного пайплайна. Необязательный |
| Один запуск стадии с состоянием и агентом по каждому заданию |
| Последние запуски одной стадии |
| Что изменилось между двумя запусками: коммиты по каждому материалу |
| Файлы артефактов задания в виде |
| Один файл артефакта, обрезается с конца ( |
| Агенты сборки и их состояние. Необязательные |
| Один агент по uuid |
| Настроенные материалы. Необязательный |
| Окружения и количество пайплайнов/переменных в них |
| Группы пайплайнов. Фильтр для вывода пайплайнов группы |
| Сообщения о состоянии сервера, подсчитанные по уровням |
| Версия сервера GoCD |
Инструменты записи (операции):
Инструмент | Что делает |
| Запланировать запуск пайплайна |
| Приостановить пайплайн |
| Возобновить пайплайн |
Установите GOCD_READONLY=1, чтобы скрыть три инструмента записи. Большие списки (dashboard, pipeline_groups, materials, environments) возвращаются в сводном виде или могут фильтроваться, поэтому сырое тело ответа объёмом в несколько мегабайт никогда не попадает в контекст модели.
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-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-mcpЧтобы запускать исходный код на TypeScript напрямую во время разработки (Node >= 22.6, используется удаление типов):
cd ts && node --experimental-strip-types src/server.tsКакой выбрать
Они функционально идентичны. В локальном бенчмарке сборка на Go запускалась примерно в 4 раза быстрее (~21ms против ~80ms холодного старта) и потребляла примерно в 6 раз меньше памяти; задержка на запрос была одинаковой, поскольку доминирует сетевой обмен с GoCD. Для сервера, запускаемого на каждую сессию, предпочитайте бинарный файл Go или Docker-образ; предпочитайте npx, если нужен вариант без установки и Node уже установлен.
Структура
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.21 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
- FlicenseCqualityCmaintenanceEnables MCP clients to inspect and modify local git repositories by running commands such as status, log, diff, add, commit, branch, and stash. Push operations are not performed locally; instead diffs are sent to a configurable HTTP API that handles the upload, with all other remote git commands blocked.27-