MCP Server Plugin for Jenkins
Плагин превращает Jenkins в MCP-сервер: агент смотрит задачи и логи сборок, запускает билды и читает результаты тестов.
- 119 ★ репозитория
- Последний коммит
Расширенный доступ
Почему такой уровень
- Агент запускает и отменяет сборки, может создавать конвейеры и повторять сборку с измененным сценарием.
- Доступ определяется правами владельца API-токена.
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add mcp/mcp-server-plugin-for-jenkinsОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Агент запускает и отменяет сборки, может создавать конвейеры и повторять сборку с измененным сценарием.
- Доступ определяется правами владельца API-токена.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
MCP Server Plugin встраивает в Jenkins серверную часть Model Context Protocol. Установленный плагин сам поднимает конечные точки: потоковый HTTP `/mcp-server/mcp`, SSE `/mcp-server/sse` и без сессий `/mcp-server/stateless`. Клиенты вроде Claude Code, Cursor, Cline и Windsurf подключаются с API-токеном Jenkins в заголовке Basic. Встроенные инструменты разделены на группы. Для задач: `getJobs`, `triggerBuild`, `cancelBuild`, `createPipeline`. Для сборок: `getBuildLog`, `searchBuildLog`, `rebuildBuild`, `replayBuild`, `getTestResults`, `getFlakyFailures`. Для репозиториев: `getJobScm`, `getBuildChangeSets`. Для диагностики: `getStatus`, `getSystemLog`. Свои инструменты добавляют через интерфейс `McpServerExtension` и аннотацию `@Tool`.
Для кого. Администраторам Jenkins и инженерам CI, которые разбирают упавшие сборки и запускают задачи через агента вместо веб-интерфейса.
Подходит, если
- Сборка упала, и агент должен найти причину в логе по шаблону или регулярному выражению.
- Нужно узнать, какие тесты флакали в последнем билде.
- Параметризованную задачу запускают из чата с передачей `BRANCH` и других значений.
- В команде есть своя логика CI, и ее подключают как дополнительный инструмент через плагин.
Не подходит, если
- Jenkins доступен браузерам и анонимным пользователям, а включить проверку токена нельзя.
- Агенту запрещено запускать сборки и менять конвейеры.
- Параметры типа «файл» нужны в задаче: через MCP они не поддерживаются.
Пример запроса к агенту
Найди в логе последней сборки задачи `my-job` первую ошибку, покажи падающие тесты и предложи, что исправить.MCP
- Транспорт
- http, sse
- Авторизация
- API-ключ
Ограничения
Плагин ставится в сам Jenkins, а в README нет команды установки: после установки через Update Center он начинает работать без настройки. Агент получает те же права, что у владельца токена, а `triggerBuild`, `createPipeline` и `replayBuild` меняют состояние сервера. Свойство `allowUnauthenticatedMcp=true` ослабляет защиту CSRF и подходит только для локальной разработки. Для SSE за прокси нужно подбирать таймауты. Загрузка файлов через параметры не поддерживается.
Как отключить. Удалите клиентскую запись MCP, отзовите API-токен в профиле Jenkins и отключите или удалите плагин. Отдельные транспорты выключают свойствами `disableMcpSse`, `disableMcpStreamable`, `disableMcpStateless`.
Частые вопросы
Какой адрес указывать клиенту?
Для потокового HTTP `<jenkins-url>/mcp-server/mcp`. Для SSE `<jenkins-url>/mcp-server/sse`, для режима без сессий `<jenkins-url>/mcp-server/stateless`.
Как пройти аутентификацию?
Создайте API-токен в профиле Jenkins и передайте пару пользователь:токен в заголовке `Authorization` в кодировке base64 по схеме Basic.
Какой транспорт выбрать?
README советует потоковый HTTP для обычных запросов. SSE держит длинное соединение и чувствителен к таймаутам прокси.
Как ограничить инструмент правами?
В `@Tool` задают `permissions`. Вызывающий должен иметь хотя бы одно из перечисленных прав, иначе инструмент скрыт из `tools/list` и отклоняется при вызове.
Что делать при обрывах SSE за прокси?
Выберите потоковый HTTP или увеличьте таймауты прокси. Для SSE сервер шлет keep-alive каждые 30 секунд, интервал задает свойство `keepAliveInterval`.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыMCP для Jira, Confluence, Bitbucket и Jenkins
Sberworks MCP
Локальный stdio MCP-сервер для корпоративных Jira, Confluence, Bitbucket Server и Jenkins с mTLS и раздельным включением операций записи
Самостоятельно размещаемый шлюз, который собирает несколько MCP-серверов в один эндпоинт с авторизацией и выбором инструментов
Buildkite MCP Server
buildkite-mcp-server
Официальный MCP-сервер Buildkite: пайплайны, сборки, джобы, логи и результаты тестов для агента
SSH MCP Server (classfang) — команды на сервере по SSH
SSH MCP Server (classfang)
MCP-сервер для SSH: агент выполняет команды, читает и пишет файлы по SFTP, передает файлы и запускает долгие задачи, а пароли остаются у вас
MCP-сервер Bitbucket Cloud с шестью общими инструментами: любой путь REST API репозиториев и pull request
Менеджер MCP-серверов на Node.js: запускает локальные и подключает удаленные серверы и отдает их клиенту одним адресом с REST API для управления
Коротко о README
Плагин проверяет заголовок `Origin` по корневому URL Jenkins, держит keep-alive для SSE, закрывает простаивающие сессии и отдает конечные точки состояния и метрик.