Jenkins MCP服务器

本项目是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型(LLM)提供与 Jenkins CI/CD 系统交互的能力。通过此服务器,LLM 可以安全、可控地执行 Jenkins 任务,例如查看任务列表、触发构建和获取构建状态,从而实现自动化流程的集成。

主要功能点

  • 列出 Jenkins 任务 (list_jobs): 允许 LLM 获取 Jenkins 服务器上所有可用的任务列表。
  • 触发 Jenkins 构建 (trigger_build): 允许 LLM 触发 Jenkins 任务的构建,并支持传递可选的构建参数。
  • 获取构建状态 (get_build_status): 允许 LLM 查询指定 Jenkins 任务的构建状态,可以指定构建编号,默认为最新构建。

安装步骤

方法一:通过 Smithery 自动安装 (适用于 Claude Desktop)

如果使用 Claude Desktop,可以通过 Smithery 命令行工具自动安装 Jenkins MCP 服务器:

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

方法二:手动安装

  1. 安装 Python 包: 确保你的环境中安装了 Python 和 uvx (或 pip)。运行以下命令安装 'jenkins-mcp' 包:
    uvx install jenkins-mcp
    或者
    pip install jenkins-mcp

服务器配置

要将 Jenkins MCP 服务器添加到 MCP 客户端(例如 Claude),你需要提供以下 JSON 配置信息。请根据你的 Jenkins 服务器信息进行修改:

{
  "mcpServers": {
    "jenkins-mcp": {
      "command": "uvx",
      "args": ["jenkins-mcp"],
      "env": {
        "JENKINS_URL": "https://your-jenkins-server/",  // 替换为你的 Jenkins 服务器 URL
        "JENKINS_USERNAME": "your-username",         // 替换为你的 Jenkins 用户名
        "JENKINS_PASSWORD": "your-password"          // 替换为你的 Jenkins 密码
      }
    }
  }
}

配置参数说明:

  • server name: 'jenkins-mcp' (服务器名称,客户端用此名称引用)
  • command: 'uvx' (或 'python',如果你使用 pip 安装并希望直接用 python 运行,则为 'python -m jenkins_mcp.server')
  • args: '["jenkins-mcp"]' (或 '["-m", "jenkins_mcp.server"]' 如果 command 使用 'python')
  • env: 环境变量配置,用于连接 Jenkins 服务器
    • 'JENKINS_URL': Jenkins 服务器的地址,例如 'https://your-jenkins-server/'
    • 'JENKINS_USERNAME': 用于访问 Jenkins 服务器的用户名
    • 'JENKINS_PASSWORD': 用于访问 Jenkins 服务器的密码

请注意: 建议将 Jenkins 凭据存储在更安全的地方,例如密钥管理工具,而不是直接硬编码在配置文件中。

基本使用方法

配置完成后,LLM 客户端可以通过 MCP 协议与 Jenkins MCP 服务器通信,并调用以下工具:

  1. list_jobs: 调用此工具可以获取 Jenkins 上所有任务的列表。
  2. trigger_build: 调用此工具并提供 'job_name' 参数可以触发指定名称的 Jenkins 任务构建。可以可选地提供 'parameters' 参数(字典类型)来传递构建参数。
  3. get_build_status: 调用此工具并提供 'job_name' 参数可以获取指定 Jenkins 任务的最新构建状态。可以可选地提供 'build_number' 参数来查询特定构建编号的状态。

LLM 客户端需要根据 MCP 协议规范构造请求,并解析服务器返回的 JSON-RPC 响应。具体调用方式取决于 LLM 客户端的实现。

信息

分类

开发者工具