mcp_jenkins
Сервер Jenkins MCP. Протокол контекста модели (MCP) позволяет инструментам ИИ (например, чат-ботам) взаимодействовать с вашей настройкой Jenkins и управлять ею, т. е. извлекать информацию и изменять настройки.
Примечание: это минимальная экспериментальная версия сервера MCP Jenkins, которая в настоящее время находится на ранней стадии разработки.
Описание
Этот проект предоставляет сервер Model Context Protocol (MCP) для взаимодействия с Jenkins. Он позволяет пользователям запускать задания Jenkins, получать статусы сборки и выполнять другие операции, связанные с Jenkins, через интерфейс MCP.
Related MCP server: mcp-jenkins
Компоненты
server.py: основное серверное приложение MCP Jenkins.functions_schema.md: определяет схему для функций, предоставляемых сервером MCP Jenkins.client.py: пример клиента, демонстрирующий взаимодействие с сервером MCP Jenkins (предоставлен только для справки).functional tests: Содержит функциональные тесты для сервера MCP Jenkins.
Установка
Чтобы установить пакет, выполните:
pip install .Использование
Общие рабочие процессы
Запуск сервера
Чтобы запустить сервер MCP:
./docker/run.serverЗапуск примера клиента
Чтобы запустить пример клиента:
./docker/run.clientНапример, чтобы вывести список сборок для задания с именем «резервные копии» с использованием определенной модели, можно выполнить:
./docker/run.client --model gemini-2.0-flash-001 "list builds backups"Примечание: Если пакет установлен с помощью pip install . , также доступен консольный скрипт mcp_jenkins_client .
Это может привести к выводу, похожему на:
Query: list builds backups
Result:
Recent builds for backups:
- Build #1086: FAILURE (http://myjenkins:8080/job/backups/1086/)Сборка и тестирование с помощью Docker
Обычный рабочий процесс разработки и тестирования заключается в том, чтобы сначала создать образ Docker, а затем выполнить тесты:
Создайте образ Docker: на этом этапе подготавливается среда, необходимая для тестирования.
./docker/buildЗапуск тестов: после завершения сборки выполните тесты.
./docker/run.tests
Такая последовательность гарантирует, что тесты будут проводиться на последней сборке в согласованной среде Docker.
Развертывание тестовой среды
Чтобы развернуть локальный тестовый экземпляр Jenkins (без аутентификации, только для функциональных тестов):
./docker/deploy.test.environmentПодключение к существующему экземпляру 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):
export JENKINS_URL="http://your-jenkins-host:8080"
export JENKINS_USER="your_jenkins_username"
export JENKINS_API_TOKEN="your_jenkins_api_token"
export MCP_API_KEY="your_mcp_secret_key"
# export DEBUG_MODE="true" # Uncomment for development/testing without MCP_API_KEYПосле настройки этих переменных среды вы можете запустить сервер MCP с помощью скрипта Docker:
./docker/run.serverЗатем сервер 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
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.