Jenkins MCP Server

Jenkins MCP Server

Enables AI assistants to interact with Jenkins CI/CD systems through natural language, providing build management, job monitoring, log analysis, and debugging capabilities.

Category
访问服务器

README

Jenkins MCP Server

A Python-based Jenkins MCP server using the Model Context Protocol Python SDK. This server integrates with Jenkins CI/CD systems to provide AI-powered insights, build management, and debugging capabilities.

Note: This server follows the Model Context Protocol (MCP), enabling AI assistants to interact with Jenkins systems directly.

Installation

Option 1: Install as a Python Package (Recommended)

The easiest way to install and run this server is as a Python package:

# Install from PyPI
pip install jenkins-mcp-server==0.1.6

# Or install with uv
uv pip install jenkins-mcp-server==0.1.6

# Run the server
jenkins-mcp-server --verbose

Option 2: Clone and Run

# Clone the repository
git clone https://github.com/yourusername/jenkins-mcp-server.git
cd jenkins-mcp-server

# Create a virtual environment and install dependencies
uv venv
uv pip install -e .

# Run the server
python -m jenkins_mcp_server

VS Code Integration

Configure for VS Code

For quick installation, use one of the one-click install buttons below:

Install with UV in VS Code Install with UV in VS Code Insiders

For manual installation:

  1. Install the Model Context Protocol (MCP) extension for VS Code
  2. Create a .vscode/mcp.json file in your workspace with the following configuration:
{
  "servers": {
    "jenkins-mcp-server": {
      "type": "stdio",
      "command": "jenkins-mcp-server",
      "args": ["--verbose"],
      "env": {
        "JENKINS_URL": "http://your-jenkins-server:8080",
        "JENKINS_USERNAME": "your-username",
        "JENKINS_TOKEN": "your-api-token"
        // Or use JENKINS_PASSWORD instead of JENKINS_TOKEN if using password authentication
      }
    }
  }
}
  1. Configure your authentication method:

    • Recommended: Use API token authentication by setting JENKINS_TOKEN
    • Alternatively: Use password authentication by setting JENKINS_PASSWORD
  2. Connect any AI assistant that supports MCP (like GitHub Copilot) to your Jenkins environment

Components

Resources

The server provides access to Jenkins jobs as resources:

  • Custom jenkins:// URI scheme for accessing individual jobs
  • Each job resource contains details about the job and its builds in JSON format
  • Job status is reflected in the resource description

Prompts

The server provides prompts for Jenkins data analysis:

  1. analyze-job-status: Creates analysis of all Jenkins jobs

    • Optional "detail_level" argument to control analysis depth (brief/detailed)
    • Analyzes job statuses, identifies potential issues, and suggests improvements
  2. analyze-build-logs: Analyzes build logs for a specific job

    • Required "job_name" argument to specify which job to analyze
    • Optional "build_number" argument (defaults to latest build)
    • Examines build logs to identify issues, errors, warnings, and suggests fixes

Tools

The server implements the following tools for Jenkins operations:

  1. trigger-build: Triggers a Jenkins job build

    • Required "job_name" argument to specify which job to build
    • Optional "parameters" object containing job parameters
    • Returns build queue information
  2. stop-build: Stops a running Jenkins build

    • Required "job_name" and "build_number" arguments
    • Halts an in-progress build execution
  3. get-job-details: Gets detailed information about a specific job

    • Required "job_name" argument
    • Returns comprehensive job information including recent builds
  4. list-jobs: Lists all Jenkins jobs

    • Returns a list of all Jenkins jobs with their statuses
  5. get-build-info: Gets information about a specific build

    • Required "job_name" and "build_number" arguments
    • Returns build status, duration, and other details
  6. get-build-console: Gets console output from a build

    • Required "job_name" and "build_number" arguments
    • Returns the console log output from a specific build
  7. get-queue-info: Gets information about the Jenkins build queue

    • Returns information about pending builds in the queue
  8. get-node-info: Gets information about a Jenkins node/agent

    • Required "node_name" argument
    • Returns node status and configuration details
  9. list-nodes: Lists all Jenkins nodes/agents

    • Returns a list of all Jenkins nodes/agents and their statuses

Configuration

Option 1: VS Code Settings (Recommended)

Configure your Jenkins connection in VS Code settings:

  1. Open VS Code Settings (Press Cmd+, on Mac or Ctrl+, on Windows/Linux)
  2. Click on the "Open Settings (JSON)" button in the top right
  3. Add these settings:

<details> <summary>Using the User Settings (JSON)</summary>

{
  "mcp.servers": {
    "jenkins": {
      "type": "stdio",
      "command": "uvx",
      "args": ["jenkins-mcp-server"]
    }
  },
  "jenkins-mcp-server.jenkins": {
    "url": "http://your-jenkins-server:8080",
    "username": "your-username",
    "token": "********"  // Replace with your Jenkins API token
  }
}

</details>

<details> <summary>Using workspace .vscode/mcp.json file</summary>

Create a file at .vscode/mcp.json with these contents:

{ 
  "servers": { 
    "jenkins-mcp-server": { 
      "type": "stdio", 
      "command": "jenkins-mcp-server", 
      "args": [
        "--verbose"
      ]
    }
  }
}

And in your .vscode/settings.json file:

{
  "jenkins-mcp-server.jenkins": {
    "url": "http://your-jenkins-server:8080",
    "username": "your-username",
    "token": "********"  // Replace with your Jenkins API token
  }
}

</details>

This configuration:

  • Registers the MCP server in VS Code
  • Stores your Jenkins credentials securely in VS Code settings
  • Uses uvx to run the server automatically when needed

Option 2: Environment Variables

Alternatively, configure your Jenkins connection by setting environment variables:

  1. Copy the .env.example file to create a .env file:

    cp .env.example .env
    
  2. Edit the .env file with your Jenkins details:

    JENKINS_URL=http://your-jenkins-server:8080
    JENKINS_USERNAME=your-username
    JENKINS_PASSWORD=your-password
    # OR use an API token instead of password (recommended)
    JENKINS_TOKEN=your-api-token
    

Security Note: Using VS Code settings is more secure as they are stored encrypted. Environment variables in a .env file are stored in plain text.

Usage with AI Assistants

Once configured, AI assistants that support MCP can now interact with your Jenkins server through natural language. Here are some examples of what you can do:

GitHub Copilot Chat

  1. Open GitHub Copilot Chat in VS Code
  2. Type prompts like:
    • "List all my Jenkins jobs"
    • "What's the status of my 'deployment' job?"
    • "Show me the build logs for the failed build in 'test-project'"
    • "Trigger a new build for 'deploy-api'"

Command Line Usage

You can also run the server directly from the command line:

# Run the MCP server
uvx jenkins-mcp-server

# In another terminal, use curl to test it:
curl -X POST http://localhost:8080/mcp/v1/listResources -H "Content-Type: application/json" -d '{}'

Command-Line Usage

The uvx command makes it easy to use the MCP server in command-line environments without VS Code:

# Install UVX if you don't have it yet
pip install uv

# Install the Jenkins MCP server
uvx install jenkins-mcp-server

```bash
# Install UVX if you don't have it yet
pip install uv

# Install the Jenkins MCP server from PyPI
uvx install jenkins-mcp-server==0.1.6

# Run the server with verbose output
uvx jenkins-mcp-server --verbose

Testing from Command Line

You can manually send JSON-RPC requests:

echo '{"jsonrpc":"2.0","id":1,"method":"listResources","params":{}}' | uvx jenkins-mcp-server

Development Setup

If you're developing this MCP server:

  1. Clone this repository
  2. Install dependencies:
    uv venv
    uv pip install -e ".[dev]"
    
  3. Run the server in development mode:
    python -m jenkins_mcp_server --verbose
    

VS Code Configuration for Development

For development in VS Code:

"mcp": {
  "servers": {
    "jenkins-mcp-server": {
      "type": "stdio",
      "command": "bash",
      "args": [
        "-c", 
        "cd ${workspaceFolder} && python -m jenkins_mcp_server --verbose"
      ]
    }
  }
}
  1. Install the GitHub Copilot Chat extension
  2. Enable MCP in Copilot settings
  3. Start a new chat with Copilot and interact with your Jenkins server!

3. Claude Desktop

For Claude Desktop users:

On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json On Windows: %APPDATA%/Claude/claude_desktop_config.json

<details> <summary>Development Configuration</summary>

"mcpServers": {
  "jenkins-mcp-server": {
    "command": "uv",
    "args": [
      "run",
      "jenkins-mcp-server"
    ]
  }
}

</details>

<details> <summary>Published Configuration (using uvx)</summary>

"mcpServers": {
  "jenkins-mcp-server": {
    "command": "uvx",
    "args": [
      "jenkins-mcp-server"
    ]
  }
}

</details>

Development

Building and Publishing

To prepare the package for distribution:

  1. Sync dependencies and update lockfile:
uv sync
  1. Build package distributions:
uv build

This will create source and wheel distributions in the dist/ directory.

  1. Publish to PyPI:
uv publish

Note: You'll need to set PyPI credentials via environment variables or command flags:

  • Token: --token or UV_PUBLISH_TOKEN
  • Or username/password: --username/UV_PUBLISH_USERNAME and --password/UV_PUBLISH_PASSWORD

Debugging

Since MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we strongly recommend using the MCP Inspector.

You can launch the MCP Inspector via npm with this command:

# If installed globally with uvx
npx @modelcontextprotocol/inspector uvx jenkins-mcp-server

# If installed in development mode
npx @modelcontextprotocol/inspector python -m jenkins_mcp_server

Upon launching, the Inspector will display a URL that you can access in your browser to begin debugging.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选