最先进的Jenkins MCP服务器 - 针对企业级调试、多实例管理和人工智能驱动的故障分析而设计。
这是一个生产就绪的模型上下文协议(MCP)服务器,它改变了AI助手与Jenkins交互的方式。与基本的Jenkins集成不同,该服务器提供了企业级调试能力、智能故障分析以及前所未有的流水线可见性。
选项1:从PyPI安装(推荐)
# 1. 安装包
pip install jenkins_mcp_enterprise
# 2. 创建配置文件
mkdir -p config
cp config/mcp-config.example.yml config/mcp-config.yml
选项2:从源码安装
# 1. 克隆并安装
git clone https://github.com/Jordan-Jarvis/jenkins-mcp-enterprise
cd jenkins-mcp
python3 -m pip install -e .
# 2. 启动向量搜索引擎(推荐)
./scripts/start_dev_environment.sh
# 3. 配置您的Jenkins实例
cat > config/mcp-config.yml << 'EOF'
jenkins_instances:
production:
url: "https://jenkins.yourcompany.com"
username: "your.email@company.com"
token: "your-api-token"
display_name: "生产Jenkins"
vector:
disable_vector_search: false # 启用AI驱动的搜索
host: "http://localhost:6333"
settings:
fallback_instance: "production"
EOF
# 4. 启动服务器
jenkins_mcp_enterprise --config config/mcp-config.yml
添加到~/.claude_desktop_config.json:
{
"mcpServers": {
"jenkins": {
"command": "jenkins_mcp_enterprise",
"args": ["--config", "config/mcp-config.yml"]
}
}
}
就这样! 您的AI助手现在具有企业级Jenkins功能。
一旦连接到您的AI助手(如Claude等),您可以立即开始诊断构建失败:
你好,你能帮我诊断为什么这个构建失败了吗?
https://jenkins.company.com/job/MyApp/job/feature-branch/123/
⚠️ 重要提示:始终提供完整的Jenkins URL,包括:
# 基本故障分析
"你能分析这个失败的构建吗?https://jenkins.company.com/job/api-service/456/"
# 深入子构建调查
"这个流水线有嵌套失败,你能找到根本原因吗?https://jenkins.company.com/job/monorepo/job/main/789/"
# 查找类似问题
"查找最近构建中的类似身份验证失败"
# 获取特定日志部分
"显示这个构建中第2000-2500行的测试失败日志:https://jenkins.company.com/job/tests/321/"
服务器会根据URL自动路由请求:
# 生产Jenkins
"分析:https://jenkins-prod.company.com/job/deploy/456/"
# 开发Jenkins
"调试:https://jenkins-dev.company.com/job/feature/123/"
# 欧洲Jenkins实例
"检查:https://jenkins-eu.company.com/job/service/789/"
🔄 URL解析:MCP服务器将URL与您配置的Jenkins实例匹配,并自动使用适当的凭据。
diagnose_build_failure工具是调试游戏规则改变者:
# 其他工具提供的内容:
"构建失败。检查日志。"
# 此服务器提供的内容:
{
"failure_analysis": "构建-app模块中的Maven依赖冲突",
"root_cause": "Spring Boot版本之间的版本不匹配",
"affected_subbuilds": ["构建-app #145", "集成测试 #89"],
"recommendations": [
"🔧 在build-app/pom.xml中更新Spring Boot版本至2.7.8",
"📋 运行dependency:tree以验证兼容性",
"🧪 使用./scripts/test-build-integration.sh进行测试"
],
"relevant_logs": "第2847-2893行:NoSuchMethodError: spring.boot.context",
"hierarchy_guidance": "关注构建-app #145 - 最深的故障点"
}
轻松管理复杂的环境:
jenkins_instances:
us-east-prod:
url: "https://jenkins-us-east.company.com"
username: "service-account@company.com"
token: "your-api-token-here"
description: "美国东部生产环境"
eu-west-prod:
url: "https://jenkins-eu-west.company.com"
username: "service-account@company.com"
token: "your-api-token-here"
description: "欧洲西部生产环境"
development:
url: "https://jenkins-dev.company.com"
username: "dev-user@company.com"
token: "your-api-token-here"
description: "开发环境"
settings:
fallback_instance: "us-east-prod"
enable_health_checks: true
health_check_interval: 300
诊断引擎完全可定制,以理解您的特定技术堆栈和组织模式:
# config/diagnostic-parameters.yml - 用户覆盖文件(自动检测)
semantic_search:
search_queries:
- "spring boot依赖冲突"
- "Kubernetes部署失败"
- "Terraform计划错误"
- "构建认证失败"
min_diagnostic_score: 0.6
recommendations:
patterns:
spring_boot_conflict:
conditions: ["spring", "dependency", "conflict"]
message: "🔧 检测到Spring Boot冲突。运行'mvn dependency:tree'并检查版本不匹配。"
k8s_deployment_failure:
conditions: ["kubernetes", "deployment", "failed"]
message: "☸️ Kubernetes部署问题。检查资源限制和网络策略。"
build_processing:
parallel:
max_workers: 8 # 高性能:8,资源受限:2
max_batch_size: 10 # 并发构建处理数量
context:
max_tokens_total: 20000 # 分析内存预算
🎯 常见配置:
max_workers: 8, max_tokens_total: 20000max_workers: 2, max_tokens_total: 3000max_total_highlights: 10, max_recommendations: 10在所有构建历史中进行闪电般快速的语义搜索:
# 在所有构建中查找类似的失败
semantic_search "认证超时构建"
# 结果包括几周前具有类似问题的构建
# 根据相关性排名,而不仅仅是关键字匹配
| 工具 | 目的 | 独特功能 |
|---|---|---|
diagnose_build_failure | AI故障分析 | 子构建层次结构,语义搜索,自定义建议 |
semantic_search | 向量驱动的搜索 | 跨构建模式识别,相关性排名 |
| 工具 | 目的 | 独特功能 |
|---|---|---|
trigger_build | 同步构建触发 | 等待完成,参数验证 |
trigger_build_async | 异步构建触发 | 非阻塞执行,并行构建 |
trigger_build_with_subs | 子构建监控 | 实时状态跟踪,层次结构发现 |
get_jenkins_job_parameters | 作业参数发现 | 多实例支持,参数详情 |
| 工具 | 目的 | 独特功能 |
|---|---|---|
ripgrep_search | 高速正则表达式搜索 | 上下文窗口,大量文件处理 |
filter_errors_grep | 智能错误过滤 | 预设模式,相关性评分 |
navigate_log | 智能日志导航 | 部分跳转,发生次数跟踪 |
get_log_context | 目标日志提取 | 行范围,智能分块 |
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ AI助手 │────│ Jenkins MCP Pro │────│ 多Jenkins基础设施 │
│ (Claude等) │ │ │ │ │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
┌─────────┼─────────┐
│ │ │
┌───▼───┐ ┌───▼───┐ ┌───▼────┐
│向量 │ │缓存 │ │诊断引擎│
│搜索引擎│ │管理器 │ │ │
│ │ │ │ │ │
└───────┘ └───────┘ └────────┘
# 1. 配置您的Jenkins实例
cp config/mcp-config.example.yml config/mcp-config.yml
vim config/mcp-config.yml # 添加您的Jenkins URL和令牌
# 2. 复制Docker模板并配置
cp .env.example .env
# 3. 部署全栈
docker-compose up -d
# 4. 验证部署
docker-compose ps
curl http://localhost:8000/health
所有配置均通过YAML文件处理 - 不需要环境变量:
# 创建您的配置文件
cp config/mcp-config.example.yml config/mcp-config.yml
# 使用配置启动
python3 -m jenkins_mcp_enterprise.server --config config/mcp-config.yml
# 自定义诊断参数(可选)
cp jenkins_mcp_enterprise/diagnostic_config/diagnostic-parameters.yml config/diagnostic-parameters.yml
# 根据需要编辑config/diagnostic-parameters.yml
| 指标 | 本服务器 | 基础替代方案 |
|---|---|---|
| 大型日志处理 | 10GB约30秒 | 经常失败或超时 |
| 子构建发现 | 50+嵌套层级 | 通常1-2层级 |
| 多实例管理 | 无限制实例 | 单实例 |
| 诊断质量 | 人工智能驱动的洞察 | 基本错误模式 |
| 搜索性能 | 向量搜索<1秒 | grep搜索10秒+ |
# 使用自定义配置测试诊断引擎
python3 -m jenkins_mcp_enterprise.server --config config/mcp-config.yml
# 验证您的配置语法
python3 -c "import yaml; yaml.safe_load(open('config/mcp-config.yml'))"
# 测试诊断参数
python3 -c "from jenkins_mcp_enterprise.diagnostic_config import get_diagnostic_config; get_diagnostic_config()"
我们欢迎贡献!此项目使用:
# 开发设置
git clone https://github.com/Jordan-Jarvis/jenkins-mcp-enterprise
cd jenkins-mcp
python3 -m pip install -e .
./scripts/start_dev_environment.sh
# 运行测试
python3 -m pytest tests/ -v
# 格式化代码
python3 -m black .
如果这个Jenkins MCP服务器为您节省了调试构建失败的时间,或者使您的CI/CD工作流程更有效率,请考虑支持其开发:
<div align="center">每一杯咖啡都帮助推动更多功能和改进! ☕️
</div>您的支持有助于维持此项目并开发新功能,例如:
GPL v3许可证 - 使用Jenkins和AI构建令人惊叹的事物!
🚀 今天就改变您的Jenkins调试体验吧!
⭐ 关注此仓库 • 📖 阅读文档 • 🐛 报告问题 • 💬 参与讨论 • ☕ 请我喝杯咖啡
为要求更多的CI/CD工具的DevOps团队而打造
</div>