Skip to main content
Glama

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, а затем выполнить тесты:

  1. Создайте образ Docker: на этом этапе подготавливается среда, необходимая для тестирования.

    ./docker/build
  2. Запуск тестов: после завершения сборки выполните тесты.

    ./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.

Чтобы использовать его:

  1. В интерфейсе OpenWebUI перейдите в раздел для добавления или настройки инструментов.

  2. Создайте новый инструмент.

  3. Скопируйте все содержимое файла open-webui/open_webui_interface.py и вставьте его в конфигурацию инструмента в OpenWebUI.

  4. Важно : Вам необходимо будет настроить параметры подключения в вставленном коде, а именно:

    • 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.

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/andreimatveyeu/mcp_jenkins'

If you have feedback or need assistance with the MCP directory API, please join our Discord server