Skip to main content
Glama

Jenkins MCP Server

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.

Установка

Чтобы установить пакет, выполните:

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

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Сервер протокола контекста модели (MCP), который позволяет инструментам искусственного интеллекта, таким как чат-боты, взаимодействовать с Jenkins и управлять им, позволяя пользователям запускать задания, проверять статусы сборок и выполнять другие операции Jenkins с помощью естественного языка.

  1. Описание
    1. Компоненты
      1. Установка
        1. Использование
          1. Общие рабочие процессы
          2. Подключение к существующему экземпляру Jenkins
        2. Интеграция OpenWebUI
          1. Лицензия

            Related MCP Servers

            • A
              security
              A
              license
              A
              quality
              A 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 -
              3
              8
              JavaScript
              MIT License
              • Apple
            • A
              security
              A
              license
              A
              quality
              A server that uses the Model Context Protocol (MCP) to allow AI agents to safely execute shell commands on a host system.
              Last updated -
              1
              76
              2
              TypeScript
              MIT License
              • Linux
              • Apple
            • -
              security
              A
              license
              -
              quality
              A 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 -
              1
              Python
              Apache 2.0
            • -
              security
              A
              license
              -
              quality
              The 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 -
              25
              Python
              MIT License
              • Linux
              • Apple

            View all related MCP servers

            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