MCP-сервер · Разработка и DevOps
MCP Server Plugin for Jenkins
Плагин Jenkins, который превращает сам Jenkins в MCP-сервер: агент смотрит задания и сборки, читает логи, запускает и перезапускает сборки. Подходит командам, у которых CI живёт в Jenkins.
Сверено 21 октября 2026 г.
Что умеет плагин
MCP Server Plugin превращает сам Jenkins в MCP-сервер. Это плагин из организации jenkinsci, а не отдельный процесс: после установки он сам поднимает конечные точки и инструменты и не требует дополнительной настройки. Клиент подключается по адресу Jenkins: основной транспорт streamable HTTP по пути /mcp-server/mcp, есть также SSE и режим без сессий (stateless).
Встроенные инструменты охватывают задания и сборки. Агент может получить список заданий и одно задание, запустить сборку (в том числе с параметрами), посмотреть очередь, прочитать лог сборки постранично или найти в нём строки по шаблону, получить результаты тестов, перезапустить сборку с теми же параметрами, а для Pipeline ещё и посмотреть скрипт и повторить сборку с изменённым скриптом. Кроме того, доступны настройки SCM задания и сборки, наборы изменений, поиск заданий по адресу репозитория, статус и системный журнал Jenkins. Через интерфейс McpServerExtension другие плагины могут добавлять свои инструменты или заменять встроенные.
Когда использовать
Плагин полезен командам, у которых CI живёт в Jenkins: попросить агента найти, почему упала последняя сборка, показать конец лога, запустить задание с нужной веткой или собрать сводку по состоянию заданий, не заходя в веб-интерфейс. Так как это серверный плагин, для работы нужен Jenkins, куда вы можете его установить,.
Ограничения и безопасность
Плагин требует те же учётные данные, что и сам Jenkins: создайте API-токен пользователя и передавайте его в заголовке HTTP Basic, закодировав пару «имя:токен» в base64. Эта кодировка не шифрование, поэтому защищайте строку так же, как исходный токен. Инструмент чтения системного журнала дополнительно требует права Overall/SystemRead.
По умолчанию анонимные клиенты не освобождены от проверки CSRF, а заголовок Origin при наличии сверяется с корневым адресом Jenkins. Свойство io.jenkins.plugins.mcp.server.Endpoint.allowUnauthenticatedMcp=true ослабляет защиту от CSRF, и в README прямо сказано оставлять его выключенным на любом контроллере, до которого могут добраться браузеры или анонимные пользователи. Для SSE за обратным прокси нужны увеличенные таймауты; авторы рекомендуют вместо SSE использовать streamable HTTP, он надёжнее при обрывах соединения. Недоступные для запуска через MCP параметры сборки, например файловые, при запуске заменяются значениями по умолчанию.
Установка
Перед подключением
Плагин автоматически создаёт конечные точки после установки в Jenkins, дополнительная настройка не нужна. Адреса для клиентов: streamable HTTP <jenkins-url>/mcp-server/mcp, SSE <jenkins-url>/mcp-server/sse, режим без сессий <jenkins-url>/mcp-server/stateless.
Для входа создайте API-токен: в Jenkins нажмите на значок пользователя в правом верхнем углу, выберите Security, Add new token и Generate. Затем закодируйте пару «имя:токен» в base64.
Linux или macOS:
echo -n "<username>:<token>" | base64Windows (PowerShell):
[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("<username>:<token>"))Claude Code
claude mcp add jenkins http://jenkins-host/mcp-server/mcp --transport http --header "Authorization: Basic <user:token base64>"Cursor
{
"mcpServers": {
"jenkins": {
"type": "http",
"url": "https://jenkins-host/mcp-server/mcp",
"headers": {
"Authorization": "Basic <user:token base64>"
}
}
}
}GitHub Copilot в VS Code
{
"mcp": {
"servers": {
"jenkins": {
"type": "http",
"url": "https://jenkins-host/mcp-server/mcp",
"headers": {
"Authorization": "Basic <user:token base64>"
}
}
}
}
}Cline
{
"mcpServers": {
"jenkins": {
"autoApprove": [
],
"disabled": false,
"timeout": 60,
"type": "streamableHttp",
"url": "https://jenkins-host/mcp-server/mcp",
"headers": {
"Authorization": "Basic <user:token base64>"
}
}
}
}Windsurf
{
"servers": {
"jenkins": {
"command": "npx",
"args": [
"mcp-remote",
"http://jenkins-host/mcp-server/mcp",
"--header",
"Authorization: Bearer ${AUTH_TOKEN}"
],
"env": {
"AUTH_TOKEN": "Basic <user:token base64>"
}
}
}
}Goose
Нажмите Add custom extension, задайте имя, выберите тип Streamable HTTP, укажите адрес вида http://jenkins-host/mcp-server/mcp, в Request Headers добавьте заголовок Authorization со значением Basic <user:token base64>, затем нажмите Add и Add Extension.
Режим без сессий
Для клиентов, которым не нужны сессии:
{
"servers": {
"jenkins": {
"type": "http",
"url": "http://jenkins-host/mcp-server/stateless",
"requestInit": {
"headers": {
"Authorization": "Basic <user:token base64>"
}
}
}
}
}Совместимые клиенты
- Claude Code
- Cursor
- GitHub Copilot
- Cline
- Windsurf
- Goose