Skip to main content
Glama
mdtahmidhossain

jenkins-http-mcp-server

Servidor MCP de Jenkins

Servidor MCP de Python externo para Jenkins 2.563. Se conecta a través de las APIs HTTP normales de Jenkins utilizando los permisos disponibles para JENKINS_USER y JENKINS_API_TOKEN.

No requiere acceso de administrador a Jenkins, no instala plugins de Jenkins y no depende del plugin oficial de servidor MCP de Jenkins.

Configuración de Python

Este proyecto se inicializó con pyenv utilizando la última versión estable de Python 3.14.x disponible localmente:

  • Python: 3.14.4

  • pyenv virtualenv: venv3144

Para reproducir:

pyenv local venv3144
python --version
which python
pyenv version

Instalación

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

Entorno

Requerido:

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

Opcional:

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

Puertas de escritura:

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

No almacene secretos reales de Jenkins en los archivos de configuración del cliente MCP.

Ejecutar servidor STDIO

python -m jenkins_mcp_server

Script de consola:

jenkins-mcp-server

Configuración del cliente

  • Codex CLI: docs/codex-setup.md

  • Gemini CLI: docs/gemini-setup.md

Herramientas

Solo lectura:

  • 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

Herramientas de escritura, controladas por 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

Herramientas opcionales de configuración de trabajos, controladas por JENKINS_MCP_ENABLE_WRITES=1 y JENKINS_MCP_ENABLE_JOB_CONFIG_WRITE=1:

  • jenkins_create_job

  • jenkins_copy_job

  • jenkins_update_job_config

La eliminación requiere adicionalmente JENKINS_MCP_ENABLE_DELETE=1:

  • jenkins_delete_job

Seguridad

  • Solo lectura por defecto.

  • Las herramientas de escritura requieren indicadores de entorno local explícitos y permisos en el lado de Jenkins.

  • Los registros de Jenkins y la salida de los trabajos se tratan como texto no confiable.

  • Los tokens de API y los encabezados de autorización no son impresos por los ayudantes del servidor.

  • Los errores 401, 403, 404, fallos de crumb y fallos de permisos devuelven errores estructurados.

Limitaciones

  • Sin consola de scripts.

  • Sin reinicio, reinicio seguro o modo silencioso.

  • Sin instalación/actualización de plugins.

  • Sin lectura/escritura de credenciales.

  • Sin creación/eliminación de nodos.

  • Sin cambios en la configuración global.

  • Sin gestión de usuarios.

  • jenkins_get_test_report depende de un plugin de informe de pruebas como JUnit que exponga testReport; falla claramente si no está presente.

  • Las rutas de carpetas anidadas se codifican en la URL como componentes de ruta job/<segment> repetidos. Los controladores sin el tipo de carpeta/trabajo necesario devuelven errores 404 de Jenkins.

Pruebas

Las pruebas normales están simuladas y no requieren un controlador de Jenkins en vivo:

python -m pytest
python -m compileall src
ruff check

Las pruebas de integración opcionales solo se ejecutan cuando todas están configuradas:

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

Documentos de evidencia

  • 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