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.
Related MCP server: mcp-jenkins
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:
Uso
Flujos de trabajo comunes
Ejecución del servidor
Para ejecutar el servidor MCP:
Ejecución del cliente de ejemplo
Para ejecutar el cliente de ejemplo:
Por ejemplo, para enumerar las compilaciones para un trabajo llamado "copias de seguridad" que utilizan un modelo específico, puede ejecutar:
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:
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:
Construir la imagen de Docker: este paso prepara el entorno necesario para las pruebas.
./docker/buildEjecutar 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):
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 conJENKINS_USERsi 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 encabezadoX-API-Key. Esto es obligatorio a menos queDEBUG_MODEse configure comotrue.DEBUG_MODE: Configúrelo comotruepara ejecutar el servidor MCP en modo de depuración, lo que omite el requisitoMCP_API_KEYy proporciona un registro más detallado. No lo use en producción.
Ejemplo de configuración (Bash):
Una vez configuradas estas variables de entorno, puedes ejecutar el servidor MCP mediante el script Docker:
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:
En su interfaz OpenWebUI, navegue a la sección para agregar o configurar herramientas.
Crear una nueva herramienta.
Copie todo el contenido del archivo
open-webui/open_webui_interface.pyy péguelo en la configuración de la herramienta en OpenWebUI.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 tomahttp://localhost:5000de 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.