Skip to main content
Glama
mdtahmidhossain

jenkins-http-mcp-server

MCP-сервер для Jenkins

Внешний Python MCP-сервер для Jenkins 2.563. Он подключается через стандартные HTTP API Jenkins, используя разрешения, доступные для JENKINS_USER и JENKINS_API_TOKEN.

Он не требует прав администратора Jenkins, не устанавливает плагины Jenkins и не зависит от официального плагина Jenkins MCP Server.

Настройка Python

Этот проект был инициализирован с помощью pyenv с использованием последней стабильной версии Python 3.14.x, доступной локально:

  • Python: 3.14.4

  • pyenv virtualenv: venv3144

Для воспроизведения:

pyenv local venv3144
python --version
which python
pyenv version

Установка

python -m pip install -e '.[dev]'

Окружение

Обязательно:

export JENKINS_URL="https://jenkins.example.com/"
export JENKINS_USER="your-user"
export JENKINS_API_TOKEN="your-api-token"

Опционально:

export JENKINS_VERIFY_SSL=1
export JENKINS_TIMEOUT_SECONDS=30
export JENKINS_MCP_MAX_RESPONSE_BYTES=2000000
export JENKINS_MCP_MAX_LOG_BYTES=200000

Шлюзы записи:

export JENKINS_MCP_ENABLE_WRITES=1
export JENKINS_MCP_ENABLE_JOB_CONFIG_WRITE=1
export JENKINS_MCP_ENABLE_DELETE=1

Не храните реальные секреты Jenkins в файлах конфигурации клиента MCP.

Запуск STDIO-сервера

python -m jenkins_mcp_server

Консольный скрипт:

jenkins-mcp-server

Настройка клиента

  • Codex CLI: docs/codex-setup.md

  • Gemini CLI: docs/gemini-setup.md

Инструменты

Только для чтения:

  • jenkins_whoami

  • jenkins_version

  • jenkins_health

  • jenkins_get_json

  • jenkins_list_jobs

  • jenkins_get_job

  • jenkins_get_job_config

  • jenkins_list_builds

  • jenkins_get_build

  • jenkins_get_build_log

  • jenkins_get_build_artifacts

  • jenkins_get_test_report

  • jenkins_list_queue

  • jenkins_get_queue_item

  • jenkins_list_views

  • jenkins_get_view

  • jenkins_list_nodes

  • jenkins_get_node

  • jenkins_list_plugins

Инструменты записи, ограниченные JENKINS_MCP_ENABLE_WRITES=1:

  • jenkins_trigger_build

  • jenkins_trigger_build_with_parameters

  • jenkins_stop_build

  • jenkins_cancel_queue_item

  • jenkins_enable_job

  • jenkins_disable_job

Опциональные инструменты конфигурации заданий, ограниченные JENKINS_MCP_ENABLE_WRITES=1 и JENKINS_MCP_ENABLE_JOB_CONFIG_WRITE=1:

  • jenkins_create_job

  • jenkins_copy_job

  • jenkins_update_job_config

Удаление дополнительно требует JENKINS_MCP_ENABLE_DELETE=1:

  • jenkins_delete_job

Безопасность

  • По умолчанию только чтение.

  • Инструменты записи требуют явных флагов локального окружения и разрешений на стороне Jenkins.

  • Логи Jenkins и вывод заданий рассматриваются как недоверенный текст.

  • API-токены и заголовки авторизации не выводятся вспомогательными средствами сервера.

  • Ошибки 401, 403, 404, сбои crumb и ошибки разрешений возвращают структурированные ошибки.

Ограничения

  • Нет консоли скриптов.

  • Нет перезапуска, безопасного перезапуска или режима ожидания (quiet down).

  • Нет установки/обновления плагинов.

  • Нет чтения/записи учетных данных.

  • Нет создания/удаления узлов.

  • Нет изменений глобальной конфигурации.

  • Нет управления пользователями.

  • jenkins_get_test_report зависит от плагина отчетов о тестировании, такого как JUnit, предоставляющего testReport; если он отсутствует, инструмент выдает понятную ошибку.

  • Пути к вложенным папкам кодируются в URL как повторяющиеся компоненты пути job/<segment>. Контроллеры, не имеющие нужного типа папки/задания, возвращают ошибку Jenkins 404.

Тестирование

Обычные тесты являются моковыми и не требуют работающего контроллера Jenkins:

python -m pytest
python -m compileall src
ruff check

Опциональные интеграционные тесты запускаются только при установке всех параметров:

export JENKINS_INTEGRATION_TESTS=1
export JENKINS_URL="https://jenkins.example.com/"
export JENKINS_USER="your-user"
export JENKINS_API_TOKEN="your-api-token"
python -m pytest tests/test_integration.py

Документация с доказательствами

  • docs/source-truth.md

  • docs/source-skills-check.md

  • docs/existing-research.md

  • docs/architecture-decision.md

  • docs/tool-evidence.md

  • docs/security.md

Install Server
A
license - permissive license
B
quality
C
maintenance

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/mdtahmidhossain/jenkins-http-mcp-server'

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