Jenkins Server MCP

by hekmon8

Integrations

  • Provides tools for interacting with Jenkins CI/CD servers, allowing users to check build statuses, trigger builds with parameters, and retrieve build logs from Jenkins jobs.

  • Connects to TP-Link's Jenkins server (sohoci.rd.tp-link.net/jenkins) by default, enabling interaction with TP-Link's continuous integration environment.

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

  1. Clonar este repositorio:
git clone https://github.com/yourusername/jenkins-server-mcp.git cd jenkins-server-mcp
  1. Instalar dependencias:
npm install
  1. Construir el proyecto:
npm run build

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ón
  • JENKINS_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 watch

Depuración

Dado que los servidores MCP se comunican a través de stdio, puede utilizar el Inspector MCP para depurar:

npm run inspector

Esto 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.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Un servidor de protocolo de contexto de modelo que permite a los asistentes de IA interactuar con los servidores CI/CD de Jenkins, proporcionando herramientas para verificar estados de compilación, activar compilaciones y recuperar registros de compilación.

  1. Installation
    1. Configuration
      1. For Claude Desktop
    2. Tools and Usage
      1. 1. Get Build Status
      2. 2. Trigger Build
      3. 3. Get Build Log
    3. Development
      1. Debugging
    4. License
      ID: a7wprn7goz