Skip to main content
Glama

gocd-mcp

MCP-сервер для GoCD. Он предоставляет REST API GoCD в виде MCP-инструментов, поэтому любой MCP-клиент (Claude Code, Claude Desktop, Cursor) может читать состояние пайплайнов и управлять ими. Здесь находятся две реализации, которые на уровне протокола ведут себя одинаково: выбирайте ту, которая соответствует желаемому способу установки.

  • go/ — реализация на Go. Поставляется как один статический бинарный файл или Docker-образ. Быстрый холодный старт, низкое потребление памяти.

  • ts/ — реализация на TypeScript. Запускается на Node без зависимостей, поэтому npx не требует шага сборки.

Обе возвращают одинаковый экономный по контексту вывод: дашборд по умолчанию сводится к краткой сводке, строки ориентированы по столбцам, а ответы — это компактный JSON. Полный дашборд GoCD занимает несколько мегабайт, охватывая множество пайплайнов; эти инструменты сокращают его до того, что нужно модели.

Инструменты

Инструменты чтения (безопасные):

Инструмент

Что делает

gocd_dashboard

Состояние дашборда. Без аргументов — сводка; filter/status/detail — детализация

gocd_pipeline_status

Приостановлен / заблокирован / доступен для запуска для одного пайплайна

gocd_pipeline_instance

Один запуск: стадии с результатом по каждому заданию, плюс триггер

gocd_pipeline_history

Последние запуски одного пайплайна. Необязательный limit

gocd_stage_instance

Один запуск стадии с состоянием и агентом по каждому заданию

gocd_stage_history

Последние запуски одной стадии

gocd_compare

Что изменилось между двумя запусками: коммиты по каждому материалу

gocd_list_artifacts

Файлы артефактов задания в виде [path, url]

gocd_get_artifact

Один файл артефакта, обрезается с конца (cap_kb), чтобы экономить контекст

gocd_list_agents

Агенты сборки и их состояние. Необязательные filter, limit

gocd_get_agent

Один агент по uuid

gocd_materials

Настроенные материалы. Необязательный filter

gocd_environments

Окружения и количество пайплайнов/переменных в них

gocd_pipeline_groups

Группы пайплайнов. Фильтр для вывода пайплайнов группы

gocd_server_health

Сообщения о состоянии сервера, подсчитанные по уровням

gocd_version

Версия сервера GoCD

Инструменты записи (операции):

Инструмент

Что делает

gocd_trigger_pipeline

Запланировать запуск пайплайна

gocd_pause_pipeline

Приостановить пайплайн

gocd_unpause_pipeline

Возобновить пайплайн

Установите 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-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

Чтобы запускать исходный код на 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 manifest

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents and external systems to programmatically trigger and monitor Jenkins jobs, retrieve build status and logs via MCP standards.
    -
  • F
    license
    C
    quality
    C
    maintenance
    Enables 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
    -