项目简介
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 应用中。
安装步骤
- 环境准备: 确保已安装 Python 3.8 或更高版本,并可以访问您的 Jenkins 实例。
- 安装 uv: 推荐使用 'uv' 管理 Python 环境。(如果已安装 uv,请跳过此步骤)
curl -sSf https://install.ultraviolet.dev | sh - 创建项目: 使用 'uv' 创建一个新的 Python 项目。
uv init jenkins-mcp-server cd jenkins-mcp-server - 添加依赖: 安装 'mcp' 库和 'python-jenkins' 库。
uv add "mcp[cli]" uv add python-jenkins - 配置环境变量: 创建 '.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。
- 加载环境变量: 在您的终端中加载 '.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' 更贴合实际示例,请注意实际脚本文件名。
基本使用方法
-
启动服务器: 在项目根目录下,运行以下命令启动 Jenkins MCP 服务器。
uv run mcp dev server.py服务器成功启动后,您应该能看到类似 'DEBUG: Starting Jenkins MCP server...' 和 'DEBUG: Running MCP server...' 的调试信息输出。
-
MCP 客户端连接: 配置您的 MCP 客户端,使用上述提供的服务器配置 JSON 连接到正在运行的 Jenkins MCP 服务器。
-
调用工具: 通过 MCP 客户端,您可以调用服务器提供的各种工具,例如:
- 'list_jobs': 获取 Jenkins 作业列表。
- 'trigger_build': 触发 Jenkins 作业构建。
- 'get_build_status': 查询构建状态。
- 'get_build_logs': 获取构建日志。
- ... 以及其他定义的工具。
具体的工具调用方法和参数,请参考 MCP 客户端的文档和服务器代码中 '@mcp.tool()' 注解的函数签名及文档字符串。
信息
分类
开发者工具