Skip to main content
Glama

Jenkins MCP Server

mcp_jenkins

Un servidor MCP de Jenkins. El Protocolo de Contexto de Modelo (MCP) permite que las herramientas de IA (como los chatbots) se comuniquen con tu configuración de Jenkins y la controlen, es decir, que recuperen información y modifiquen la configuración.

Nota: Esta es una versión experimental mínima del servidor Jenkins MCP y actualmente se encuentra en desarrollo inicial.

Descripción

Este proyecto proporciona un servidor de Protocolo de Contexto de Modelo (MCP) para interactuar con Jenkins. Permite a los usuarios activar trabajos de Jenkins, obtener estados de compilación y realizar otras operaciones relacionadas con Jenkins a través de la interfaz MCP.

Componentes

  • server.py : la aplicación principal del servidor Jenkins de MCP.
  • functions_schema.md : define el esquema para las funciones expuestas por el servidor Jenkins de MCP.
  • client.py : un cliente de ejemplo que demuestra cómo interactuar con el servidor Jenkins de MCP (se proporciona solo como referencia).
  • functional tests : contiene pruebas funcionales para el servidor Jenkins de MCP.

Instalación

Para instalar el paquete, ejecute:

pip install .

Uso

Flujos de trabajo comunes

Ejecución del servidor

Para ejecutar el servidor MCP:

./docker/run.server
Ejecución del cliente de ejemplo

Para ejecutar el cliente de ejemplo:

./docker/run.client

Por ejemplo, para enumerar las compilaciones para un trabajo llamado "copias de seguridad" que utilizan un modelo específico, puede ejecutar:

./docker/run.client --model gemini-2.0-flash-001 "list builds backups"

Nota: Si el paquete se instala mediante pip install . , el script de consola mcp_jenkins_client también está disponible.

Esto podría producir un resultado similar a:

Query: list builds backups Result: Recent builds for backups: - Build #1086: FAILURE (http://myjenkins:8080/job/backups/1086/)
Construyendo y probando con Docker

Un flujo de trabajo común para el desarrollo y las pruebas es primero construir la imagen de Docker y luego ejecutar las pruebas:

  1. Construir la imagen de Docker: este paso prepara el entorno necesario para las pruebas.
    ./docker/build
  2. Ejecutar pruebas: una vez completada la compilación, ejecute las pruebas.
    ./docker/run.tests

Esta secuencia garantiza que las pruebas se realicen contra la última compilación en un entorno Dockerizado consistente.

Implementación de un entorno de prueba

Para implementar una instancia de prueba local de Jenkins (sin autenticación, solo para pruebas funcionales):

./docker/deploy.test.environment

Conexión a una instancia de Jenkins existente

Para utilizar el servidor Jenkins MCP con una instancia de Jenkins existente, debe configurar las siguientes variables de entorno:

  • JENKINS_URL : La URL completa de su instancia de Jenkins (p. ej., http://your-jenkins-host:8080 ). Este campo es obligatorio .
  • JENKINS_USER : (opcional) Su nombre de usuario de Jenkins si se requiere autenticación.
  • JENKINS_API_TOKEN : (Opcional) Su token de API de Jenkins. Debe proporcionarse junto con JENKINS_USER si se utiliza autenticación. Puede generar un token de API en la página de configuración de su usuario de Jenkins ( <Jenkins URL>/me/configure ).
  • MCP_API_KEY : Una clave API secreta para proteger este servidor MCP. Las solicitudes al servidor MCP deberán incluir esta clave en el encabezado X-API-Key . Esto es obligatorio a menos que DEBUG_MODE se configure como true .
  • DEBUG_MODE : Configúrelo como true para ejecutar el servidor MCP en modo de depuración, lo que omite el requisito MCP_API_KEY y proporciona un registro más detallado. No lo use en producción.

Ejemplo de configuración (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

Una vez configuradas estas variables de entorno, puedes ejecutar el servidor MCP mediante el script Docker:

./docker/run.server

Luego, el servidor MCP intentará conectarse a la instancia de Jenkins especificada.

Integración con OpenWebUI

El archivo open-webui/open_webui_interface.py proporciona un ejemplo de cómo integrar este servidor Jenkins MCP con una instancia de OpenWebUI.

Para usarlo:

  1. En su interfaz OpenWebUI, navegue a la sección para agregar o configurar herramientas.
  2. Crear una nueva herramienta.
  3. Copie todo el contenido del archivo open-webui/open_webui_interface.py y péguelo en la configuración de la herramienta en OpenWebUI.
  4. Importante : Deberás ajustar los parámetros de conexión dentro del código pegado, específicamente:
    • MCP_JENKINS_SERVER_URL : Establezca esta variable de entorno en su entorno OpenWebUI con la URL del servidor MCP Jenkins en ejecución (p. ej., http://localhost:5000 ). El script toma http://localhost:5000 de forma predeterminada si no se establece la variable.
    • MCP_API_KEY : Si su servidor Jenkins de MCP está configurado para requerir una clave API, asegúrese de que esta variable de entorno esté definida en su entorno OpenWebUI. El script mostrará una advertencia si no la encuentra, pero intentará realizar solicitudes.

Una vez configuradas, las herramientas definidas en open_webui_interface.py (por ejemplo, list_jobs , trigger_build , get_build_status ) deberían estar disponibles para su uso dentro de su interfaz de chat OpenWebUI.

Licencia

Este proyecto está licenciado bajo la licencia 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.

Un servidor de Protocolo de contexto de modelo (MCP) que permite que herramientas de IA como los chatbots interactúen con Jenkins y lo controlen, lo que permite a los usuarios activar trabajos, verificar estados de compilación y realizar otras operaciones de Jenkins a través del lenguaje natural.

  1. Descripción
    1. Componentes
      1. Instalación
        1. Uso
          1. Flujos de trabajo comunes
          2. Conexión a una instancia de Jenkins existente
        2. Integración con OpenWebUI
          1. Licencia

            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