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.4pyenv 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.mdGemini CLI:
docs/gemini-setup.md
Инструменты
Только для чтения:
jenkins_whoamijenkins_versionjenkins_healthjenkins_get_jsonjenkins_list_jobsjenkins_get_jobjenkins_get_job_configjenkins_list_buildsjenkins_get_buildjenkins_get_build_logjenkins_get_build_artifactsjenkins_get_test_reportjenkins_list_queuejenkins_get_queue_itemjenkins_list_viewsjenkins_get_viewjenkins_list_nodesjenkins_get_nodejenkins_list_plugins
Инструменты записи, ограниченные JENKINS_MCP_ENABLE_WRITES=1:
jenkins_trigger_buildjenkins_trigger_build_with_parametersjenkins_stop_buildjenkins_cancel_queue_itemjenkins_enable_jobjenkins_disable_job
Опциональные инструменты конфигурации заданий, ограниченные JENKINS_MCP_ENABLE_WRITES=1 и JENKINS_MCP_ENABLE_JOB_CONFIG_WRITE=1:
jenkins_create_jobjenkins_copy_jobjenkins_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.mddocs/source-skills-check.mddocs/existing-research.mddocs/architecture-decision.mddocs/tool-evidence.mddocs/security.md
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