使用说明
Jenkins MCP服务器
一个模型上下文协议(MCP)服务器,使Claude能够通过各种自动化工具与Jenkins交互。该服务器提供全面的Jenkins管理功能,包括作业监控、构建控制和队列管理。
特性
- 作业管理:列出作业、获取作业配置和监视作业状态
- 构建控制:使用参数触发构建,停止运行构建,并检查构建状态
- 构建历史:检索构建历史和详细的构建信息
- 控制台日志:访问构建控制台输出以进行调试
- 队列管理:监控Jenkins构建队列和卡住的构建
- 文件夹支持:浏览Jenkins文件夹和组织结构
安装
- 克隆存储库:
git clone https://github.com/ddang-jung/jenkins-mcp-server.git
cd jenkins-mcp-server
- 安装依赖项:
npm install
- 构建项目:
npm run build
配置
环境变量
为Jenkins身份验证设置以下环境变量:
JENKINS_URL:您的Jenkins服务器URL(例如。,http://localhost:8080)JENKINS_USER:您的Jenkins用户名JENKINS_TOKEN:您的Jenkins API令牌(推荐)或密码
获取Jenkins API令牌
- 登录Jenkins
- 首选 管理Jenkins → 管理用户 → 点击您的用户名
- 点击 配置 → API代币 → 添加新令牌
- 复制生成的令牌
Git配置
该项目包括一个全面的 .gitignore 文件不包括:
- 构建工件(
build/,dist/) - 依赖关系(
node_modules/) - 环境变量(
.env*) - Jenkins凭据和配置文件
- IDE文件(
.vscode/,.idea/) - 系统文件(
.DS_Store,Thumbs.db)
重要:永远不要将Jenkins凭据或API令牌提交到版本控制。
Claude桌面配置
将此配置添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"jenkins": {
"command": "node",
"args": ["/path/to/jenkins-mcp-server/build/index.js"],
"env": {
"JENKINS_URL": "http://your-jenkins-server:8080",
"JENKINS_USER": "your-username",
"JENKINS_TOKEN": "your-api-token"
}
}
}
}
用法
启动服务器
npm start
服务器在stdio上运行,并通过MCP协议与Claude通信。
发展模式
对于自动重建的开发:
npm run watch
使用MCP检查器进行调试:
npm run inspector
可用工具
1. get_build_status
获取特定Jenkins构建的状态。
参数:
jobPath(必填):Jenkins作业的路径(例如,“job/MyProject/job/main”)buildNumber(可选):最新版本的内部版本号或“lastBuild”
例子:
{
"jobPath": "job/MyProject",
"buildNumber": "lastBuild"
}
2. trigger_build
使用可选参数触发新的Jenkins构建。
参数:
jobPath(必填):Jenkins作业的路径parameters(可选):将参数构建为键值对
例子:
{
"jobPath": "job/MyProject",
"parameters": {
"BRANCH": "main",
"DEPLOY_ENV": "staging"
}
}
3. get_build_log
检索特定版本的控制台输出。
参数:
jobPath(必填):Jenkins作业的路径buildNumber(必填):内部版本号或“lastBuild”
4. list_jobs
列出文件夹或根级别的所有Jenkins作业。
参数:
folderPath(可选):文件夹路径(例如“job/MyFolder”)或root为空
5. get_build_history
获取特定Jenkins作业的构建历史记录。
参数:
jobPath(必填):Jenkins作业的路径limit(可选):要检索的最新版本数(默认值:10)
6. stop_build
停止正在运行的Jenkins构建。
参数:
jobPath(必填):Jenkins作业的路径buildNumber(必填):内部版本号或“lastBuild”
7. get_queue
获取当前Jenkins构建队列状态。
参数: 无
8. get_job_config
获取Jenkins作业的配置详细信息。
参数:
jobPath(必填):Jenkins作业的路径
作业路径格式
Jenkins作业路径遵循以下格式:
- 根级作业:
job/JobName - 文件夹作业:
job/FolderName/job/JobName - 多级:
job/Folder1/job/Folder2/job/JobName
错误处理
服务器提供全面的错误处理:
- 身份验证错误:检查您的Jenkins凭据
- 找不到作业:验证作业路径格式
- 权限错误:确保您的Jenkins用户具有适当的权限
- 网络错误:检查Jenkins服务器连接
发展
项目结构
jenkins-mcp-server/
├── src/
│ └── index.ts # Main server implementation
├── build/ # Compiled JavaScript output
├── package.json # Project configuration
├── tsconfig.json # TypeScript configuration
├── .gitignore # Git ignore rules
└── README.md # This file
脚本
npm run build:将TypeScript编译为JavaScriptnpm run watch:观察变化并重建npm run inspector:启动MCP检查器进行调试npm run prepare:准备构建(自动运行)npm run clean:清理构建工件和依赖关系(macOS/Linux)npm run clean:win:清理构建工件和依赖关系(Windows)
清洁项目
要将项目重置为其初始状态(删除构建工件和依赖项):
macOS/Linux:
npm run clean
# or manually:
rm -rf node_modules build package-lock.json
窗户:
npm run clean:win
# or manually:
rmdir /s /q node_modules & rmdir /s /q build & del package-lock.json
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 彻底测试
- 提交拉取请求
许可证
该项目根据MIT许可证获得许可。
故障排除
常见问题
- “Jenkins API错误”:检查您的Jenkins URL和凭据
- “找不到作业”:验证作业路径格式(使用
job/前缀) - “权限被拒绝”:确保您的Jenkins用户具有所需的权限
- “连接被拒绝”:检查Jenkins服务器是否正在运行且可访问
调试模式
通过设置启用调试日志记录:
export DEBUG=jenkins-mcp-server
有关更多信息,请访问 Jenkins REST API文档.