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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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