Servidor Jenkins MCP
Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona herramientas para interactuar con los servidores de CI/CD de Jenkins. Este servidor permite a los asistentes de IA comprobar el estado de las compilaciones, activarlas y recuperar registros de compilación mediante una interfaz estandarizada.
Instalación
Clonar este repositorio:
git clone https://github.com/yourusername/jenkins-server-mcp.git
cd jenkins-server-mcpInstalar dependencias:
npm installConstruir el proyecto:
npm run buildRelated MCP server: MCP Toolkit
Configuración
El servidor requiere las siguientes variables de entorno:
JENKINS_URL: La URL de su servidor Jenkins (el valor predeterminado es ' http://sohoci.rd.tp-link.net/jenkins ')JENKINS_USER: Nombre de usuario de Jenkins para autenticaciónJENKINS_TOKEN: Token de API de Jenkins para autenticación
Configúrelos en su archivo de configuración MCP:
Para Claude Desktop
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"jenkins-server": {
"command": "node",
"args": ["/path/to/jenkins-server-mcp/build/index.js"],
"env": {
"JENKINS_URL": "https://your-jenkins-server.com",
"JENKINS_USER": "your-username",
"JENKINS_TOKEN": "your-api-token"
}
}
}
}Herramientas y uso
1. Obtener el estado de la compilación
Obtener el estado de una compilación de Jenkins:
// Example usage
const result = await mcpClient.useTool("jenkins-server", "get_build_status", {
jobPath: "view/xxx_debug",
buildNumber: "lastBuild" // Optional, defaults to lastBuild
});Esquema de entrada:
{
"jobPath": "string", // Path to Jenkins job
"buildNumber": "string" // Optional, build number or "lastBuild"
}2. Generación de disparadores
Activar una nueva compilación de Jenkins con parámetros:
// Example usage
const result = await mcpClient.useTool("jenkins-server", "trigger_build", {
jobPath: "view/xxx_debug",
parameters: {
BRANCH: "main",
BUILD_TYPE: "debug"
}
});Esquema de entrada:
{
"jobPath": "string", // Path to Jenkins job
"parameters": {
// Build parameters as key-value pairs
}
}3. Obtener registro de compilación
Recupere la salida de la consola de una compilación de Jenkins:
// Example usage
const result = await mcpClient.useTool("jenkins-server", "get_build_log", {
jobPath: "view/xxx_debug",
buildNumber: "lastBuild"
});Esquema de entrada:
{
"jobPath": "string", // Path to Jenkins job
"buildNumber": "string" // Build number or "lastBuild"
}Desarrollo
Para desarrollo con reconstrucción automática:
npm run watchDepuración
Dado que los servidores MCP se comunican a través de stdio, puede utilizar el Inspector MCP para depurar:
npm run inspectorEsto proporcionará una URL para acceder a las herramientas de depuración en su navegador.
Licencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.