Back to MCP directory
publicPublicdnsLocal runtime

jenkins-mcp

Jenkins MCP是一个用于管理Jenkins操作的MCP服务器,支持自动化安装、作业列表查看、构建触发和状态检查等功能。

article

README

🚀 Jenkins MCP

Jenkins MCP 是用于 Jenkins 操作管理的 MCP 服务器,可助力高效管理 Jenkins 相关操作。

smithery badge

🚀 快速开始

你可以按照以下步骤完成 Jenkins MCP 的安装与配置,从而开启使用。

📦 安装指南

通过 Smithery 安装

要通过 Smithery 自动安装 Jenkins MCP 用于 Claude Desktop,可执行以下命令:

npx -y @smithery/cli install @kjozsa/jenkins-mcp --client claude

手动安装

uvx install jenkins-mcp

🛠️ 配置

使用以下 JSON 配置片段添加 MCP 服务器:

{
  "mcpServers": {
    "jenkins-mcp": {
      "command": "uvx",
      "args": ["jenkins-mcp"],
      "env": {
        "JENKINS_URL": "https://your-jenkins-server/",
        "JENKINS_USERNAME": "your-username",
        "JENKINS_PASSWORD": "your-password",
        "JENKINS_USE_API_TOKEN": "false"
      }
    }
  }
}

🔒 CSRF 粘性令牌处理

Jenkins 使用“粘性令牌”实现 CSRF 保护,这是必须包含在 POST 请求中的令牌。此 MCP 服务器以两种方式处理 CSRF 粘性令牌:

  1. 默认模式:自动获取并包含粘性令牌到构建请求中

    • 使用会话 cookie 维护 Web 会话
    • 在幕后处理所有 CSRF 保护
  2. API Token 模式:使用 Jenkins API 令牌,这些令牌不受 CSRF 保护限制

    • 设置 JENKINS_USE_API_TOKEN=true
    • 设置 JENKINS_PASSWORD 为你的 API 令牌而不是密码
    • 与 Jenkins 2.96+ 兼容,该版本不需要粘性令牌进行 API 令牌身份验证

你可以在 Jenkins 中生成 API 令牌:用户 → 配置 → API 令牌 → 添加新令牌

✨ 主要特性

  • 列出 Jenkins 作业
  • 触发构建并可选包含参数
  • 检查构建状态
  • 处理 CSRF 粘性令牌以实现安全的 API 访问

💻 使用示例

开发

# 安装依赖项
uv pip install -r requirements.txt

# 使用 Inspector 以开发模式运行
mcp dev jenkins_mcp/server.py
help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client