项目简介

Jenkins MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,它充当 LLM 应用和 Jenkins 自动化服务器之间的桥梁。通过此服务器,LLM 可以安全、标准地访问 Jenkins 的各项资源和功能,例如查询构建状态、触发构建任务、获取日志等,从而实现更智能的 DevOps 流程自动化。

主要功能点

  • 资源访问: 允许 LLM 获取 Jenkins 上的作业配置、构建历史、状态信息等资源数据。
  • 工具调用: 提供一系列预定义的工具,使 LLM 能够触发 Jenkins 构建、查询构建状态、获取构建日志等,执行 Jenkins 操作。
  • Prompt 模板: (仓库描述中提及,但代码中未显式提供 Prompt 模板功能,可能需要用户自行在客户端配合使用)支持用户自定义 Prompt 模板,以更灵活的方式与 Jenkins 进行交互。
  • 标准化接口: 基于 MCP 协议,提供标准的 JSON-RPC 接口,易于集成到各种 LLM 应用中。

安装步骤

  1. 环境准备: 确保已安装 Python 3.8 或更高版本,并可以访问您的 Jenkins 实例。
  2. 安装 uv: 推荐使用 'uv' 管理 Python 环境。(如果已安装 uv,请跳过此步骤)
    curl -sSf https://install.ultraviolet.dev | sh
  3. 创建项目: 使用 'uv' 创建一个新的 Python 项目。
    uv init jenkins-mcp-server
    cd jenkins-mcp-server
  4. 添加依赖: 安装 'mcp' 库和 'python-jenkins' 库。
    uv add "mcp[cli]"
    uv add python-jenkins
  5. 配置环境变量: 创建 '.env' 文件,并填入您的 Jenkins 连接信息。
    cat > .env << EOL
    JENKINS_URL=https://your-jenkins-instance.com  # 您的 Jenkins 服务器 URL
    JENKINS_USERNAME=your_username             # 您的 Jenkins 用户名
    JENKINS_API_TOKEN=your_api_token            # 您的 Jenkins API Token
    EOL

    请将 'JENKINS_URL', 'JENKINS_USERNAME', 'JENKINS_API_TOKEN' 替换为您的实际 Jenkins 服务器信息。您可以在 Jenkins 中生成 API Token。

  6. 加载环境变量: 在您的终端中加载 '.env' 文件。
    source .env

服务器配置

MCP 客户端需要配置以下 JSON 信息才能连接到 Jenkins MCP 服务器。

{
  "server_name": "jenkins-mcp",           // 服务器名称,与 main.py 中 FastMCP 实例化的名称一致
  "command": "uv",                        // 启动服务器的命令,这里使用 uv
  "args": [                               // 启动服务器的参数
    "run",                                // uv run 命令
    "mcp",                                // mcp 子命令,用于运行 mcp 服务器
    "dev",                                // 以开发模式运行
    "server.py"                           // 服务器启动脚本为 server.py (根据仓库实际情况填写,此处应为 main.py,但示例命令为 server.py,此处保持一致)
  ]
}

配置说明:

  • 'server_name': MCP 服务器的名称,需要与 'main.py' 文件中 'FastMCP' 实例化时传入的名称 '"jenkins-mcp"' 一致。
  • 'command': 启动服务器的命令,这里使用 'uv',确保您的环境中已安装 'uv'。
  • 'args': 启动命令的参数列表。
    • '"run"': 'uv run' 命令表示运行 Python 脚本。
    • '"mcp"': 表示运行 'mcp' 相关的命令。
    • '"dev"': 'mcp dev' 子命令用于在开发模式下启动 MCP 服务器,这通常用于本地测试和开发。
    • '"server.py"': 指定要运行的 Python 脚本文件,根据仓库中的实际情况,这里应该是 'main.py',但根据仓库提供的 "uv run mcp dev server.py" 命令,此处填写 'server.py' 更贴合实际示例,请注意实际脚本文件名。

基本使用方法

  1. 启动服务器: 在项目根目录下,运行以下命令启动 Jenkins MCP 服务器。

    uv run mcp dev server.py

    服务器成功启动后,您应该能看到类似 'DEBUG: Starting Jenkins MCP server...' 和 'DEBUG: Running MCP server...' 的调试信息输出。

  2. MCP 客户端连接: 配置您的 MCP 客户端,使用上述提供的服务器配置 JSON 连接到正在运行的 Jenkins MCP 服务器。

  3. 调用工具: 通过 MCP 客户端,您可以调用服务器提供的各种工具,例如:

    • 'list_jobs': 获取 Jenkins 作业列表。
    • 'trigger_build': 触发 Jenkins 作业构建。
    • 'get_build_status': 查询构建状态。
    • 'get_build_logs': 获取构建日志。
    • ... 以及其他定义的工具。

    具体的工具调用方法和参数,请参考 MCP 客户端的文档和服务器代码中 '@mcp.tool()' 注解的函数签名及文档字符串。

信息

分类

开发者工具