# Jenkins MCP 工具项目介绍
## 项目特点
1. **完整的 Jenkins API 封装**:用 Go 语言开发,封装了 Jenkins 的所有主要 API 接口
2. **多种作业类型支持**:支持自由风格和流水线作业的创建和管理
3. **参数化构建**:支持带参数的作业构建
4. **详细的构建信息**:获取作业信息、构建信息和构建日志
5. **灵活的运行模式**:支持 stdio 和 http 两种运行模式
6. **详细的错误处理**:提供详细的错误信息,帮助排查问题
## 核心功能
### 作业管理
– **创建作业**:支持自由风格和流水线作业
– **构建作业**:支持参数化构建
– **获取作业信息**:获取作业的详细信息
– **获取构建信息**:获取构建的详细信息
– **获取构建日志**:获取构建的完整日志
– **删除作业**:删除指定的作业
– **列出所有作业**:列出 Jenkins 中的所有作业
### 系统管理
– **获取系统信息**:获取 Jenkins 系统的详细信息
## 技术架构
– **服务层**:基于 MCP 框架构建,提供标准化的操作接口
– **客户端层**:实现了 Jenkins 客户端,处理与 Jenkins 的通信
– **工具层**:注册了多个 MCP 工具,提供各种操作功能
– **配置层**:支持环境变量的配置管理
## 部署方式
1. **环境要求**:安装 Go 1.21 或更高版本,获取 Jenkins API Token
2. **安装依赖**:在项目目录下运行 `go mod download`
3. **配置环境变量**:设置 JENKINS_URL、JENKINS_USERNAME、JENKINS_TOKEN 等环境变量
4. **运行服务器**:运行 `go run .`
## 支持的工具
### 作业管理工具
– `jenkins_create_job`:创建新的 Jenkins 作业
– `jenkins_build_job`:构建 Jenkins 作业
– `jenkins_get_job_info`:获取作业信息
– `jenkins_get_build_info`:获取构建信息
– `jenkins_get_build_log`:获取构建日志
– `jenkins_delete_job`:删除作业
– `jenkins_list_jobs`:列出所有作业
### 系统管理工具
– `jenkins_get_system_info`:获取系统信息
## 配置说明
| 变量名 | 描述 | 默认值 | 必需 |
|——–|——|——–|——|
| `JENKINS_URL` | Jenkins 服务器地址 | `http://localhost:8080` | ✅ |
| `JENKINS_USERNAME` | Jenkins 用户名 | `admin` | ✅ |
| `JENKINS_TOKEN` | Jenkins API Token | – | ✅ |
| `JENKINS_TIMEOUT` | 请求超时时间 | `30s` | ❌ |
| `SERVER_MODE` | 服务器模式 | `stdio` | ❌ |
| `SERVER_HOST` | HTTP 服务器地址 (仅 HTTP 模式) | `localhost` | ❌ |
| `SERVER_PORT` | HTTP 服务器端口 (仅 HTTP 模式) | `8080` | ❌ |
## 总结
Jenkins MCP 工具是一个功能完整、架构清晰的 Jenkins 管理工具,通过 MCP 协议提供了便捷的 Jenkins 资源管理能力,适合作为 Jenkins 服务器的管理接口或与其他系统集成的桥梁。