mcp_jenkins
Сервер Jenkins MCP. Протокол контекста модели (MCP) позволяет инструментам ИИ (например, чат-ботам) взаимодействовать с вашей настройкой Jenkins и управлять ею, т. е. извлекать информацию и изменять настройки.
Примечание: это минимальная экспериментальная версия сервера MCP Jenkins, которая в настоящее время находится на ранней стадии разработки.
Описание
Этот проект предоставляет сервер Model Context Protocol (MCP) для взаимодействия с Jenkins. Он позволяет пользователям запускать задания Jenkins, получать статусы сборки и выполнять другие операции, связанные с Jenkins, через интерфейс MCP.
Компоненты
server.py
: основное серверное приложение MCP Jenkins.functions_schema.md
: определяет схему для функций, предоставляемых сервером MCP Jenkins.client.py
: пример клиента, демонстрирующий взаимодействие с сервером MCP Jenkins (предоставлен только для справки).functional tests
: Содержит функциональные тесты для сервера MCP Jenkins.
Установка
Чтобы установить пакет, выполните:
Использование
Общие рабочие процессы
Запуск сервера
Чтобы запустить сервер MCP:
Запуск примера клиента
Чтобы запустить пример клиента:
Например, чтобы вывести список сборок для задания с именем «резервные копии» с использованием определенной модели, можно выполнить:
Примечание: Если пакет установлен с помощью pip install .
, также доступен консольный скрипт mcp_jenkins_client
.
Это может привести к выводу, похожему на:
Сборка и тестирование с помощью Docker
Обычный рабочий процесс разработки и тестирования заключается в том, чтобы сначала создать образ Docker, а затем выполнить тесты:
- Создайте образ Docker: на этом этапе подготавливается среда, необходимая для тестирования.
- Запуск тестов: после завершения сборки выполните тесты.
Такая последовательность гарантирует, что тесты будут проводиться на последней сборке в согласованной среде Docker.
Развертывание тестовой среды
Чтобы развернуть локальный тестовый экземпляр Jenkins (без аутентификации, только для функциональных тестов):
Подключение к существующему экземпляру Jenkins
Чтобы использовать сервер MCP Jenkins с существующим экземпляром Jenkins, вам необходимо настроить следующие переменные среды:
JENKINS_URL
: Полный URL вашего экземпляра Jenkins (например,http://your-jenkins-host:8080
). Это обязательно .JENKINS_USER
: (Необязательно) Ваше имя пользователя Jenkins, если требуется аутентификация.JENKINS_API_TOKEN
: (Необязательно) Ваш токен Jenkins API. Он должен быть предоставлен вместе сJENKINS_USER
, если используется аутентификация. Вы можете сгенерировать токен API на странице конфигурации пользователя Jenkins (<Jenkins URL>/me/configure
).MCP_API_KEY
: Секретный ключ API для защиты этого сервера MCP. Запросы к серверу MCP должны будут включать этот ключ в заголовокX-API-Key
. Это необходимо , если толькоDEBUG_MODE
не установлен вtrue
.DEBUG_MODE
: Установите значениеtrue
, чтобы запустить сервер MCP в режиме отладки, который обходит требованиеMCP_API_KEY
и обеспечивает более подробное ведение журнала. Не используйте в производстве.
Пример конфигурации (Bash):
После настройки этих переменных среды вы можете запустить сервер MCP с помощью скрипта Docker:
Затем сервер MCP попытается подключиться к указанному вами экземпляру Jenkins.
Интеграция OpenWebUI
Файл open-webui/open_webui_interface.py
содержит пример интеграции этого сервера MCP Jenkins с экземпляром OpenWebUI.
Чтобы использовать его:
- В интерфейсе OpenWebUI перейдите в раздел для добавления или настройки инструментов.
- Создайте новый инструмент.
- Скопируйте все содержимое файла
open-webui/open_webui_interface.py
и вставьте его в конфигурацию инструмента в OpenWebUI. - Важно : Вам необходимо будет настроить параметры подключения в вставленном коде, а именно:
MCP_JENKINS_SERVER_URL
: Установите эту переменную среды в вашей среде OpenWebUI на URL-адрес вашего работающего сервера MCP Jenkins (например,http://localhost:5000
). Скрипт по умолчанию используетhttp://localhost:5000
если переменная не установлена.MCP_API_KEY
: Если ваш сервер MCP Jenkins настроен на запрос ключа API, убедитесь, что эта переменная среды установлена в вашей среде OpenWebUI. Скрипт выведет предупреждение, если он не будет найден, но все равно попытается выполнить запросы.
После настройки инструменты, определенные в open_webui_interface.py
(например, list_jobs
, trigger_build
, get_build_status
), должны стать доступными для использования в вашем интерфейсе чата OpenWebUI.
Лицензия
Данный проект лицензирован по лицензии MIT.
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Сервер протокола контекста модели (MCP), который позволяет инструментам искусственного интеллекта, таким как чат-боты, взаимодействовать с Jenkins и управлять им, позволяя пользователям запускать задания, проверять статусы сборок и выполнять другие операции Jenkins с помощью естественного языка.
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI assistants to interact with Jenkins CI/CD servers, providing tools to check build statuses, trigger builds, and retrieve build logs.Last updated -38JavaScriptMIT License
- AsecurityAlicenseAqualityA server that uses the Model Context Protocol (MCP) to allow AI agents to safely execute shell commands on a host system.Last updated -1762TypeScriptMIT License
- -securityAlicense-qualityA Model Context Protocol (MCP) server that enables real-time, interactive AI chat with Selector AI through a streaming-capable server and Docker-based client communicating via stdin/stdout.Last updated -1PythonApache 2.0
- -securityAlicense-qualityThe Model Context Protocol (MCP) Jenkins integration is an open-source implementation that bridges Jenkins with AI language models following Anthropic's MCP specification. This project enables secure, contextual AI interactions with Jenkins tools while maintaining data privacy and security.Last updated -25PythonMIT License