关于 Mcp Jenkins Intelligence
Mcp Jenkins Intelligence 是面向 DevOps 团队的 Jenkins MCP 服务,可通过自然语言分析流水线、构建失败和性能。它还提供异常检测、优化建议与安全审计,并在本地处理和匿名化数据。
主要功能
- 01自然语言查询流水线
- 02分析流水线健康状况与失败原因
- 03监控构建队列并分析趋势
- 04预测故障并检测异常
- 05生成构建优化建议和报告
- 06本地处理并匿名化敏感数据
适用场景
- 01排查失败构建的根因
- 02比较团队间流水线表现
- 03发现构建耗时优化机会
- 04审计 Jenkins 权限并保护敏感数据
MCP 相关
该 MCP 服务向 MCP 客户端提供 Jenkins 流水线查询、监控、故障分析、预测和优化工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Jenkins Intelligence
Jenkins 智能平台
借助 AI 驱动的自然语言界面和全面的流水线分析,提升您的 Jenkins 运维能力。
快速开始(二进制发行版)
更喜欢开箱即用的二进制文件? 下载最新版本,几秒钟内即可开始使用 MCP Jenkins Intelligence!
下载与安装
# Option 1: Use the installer script (recommended)
curl -fsSL https://raw.githubusercontent.com/heniv96/mcp-jenkins-intelligence/main/install.sh | bash
# Option 2: Manual download
# Download from: https://github.com/heniv96/mcp-jenkins-intelligence/releases/latest
# Choose the appropriate binary for your platform:
# - mcp-jenkins-server-macos-arm64 (macOS Apple Silicon)
# - mcp-jenkins-server-linux-amd64 (Linux AMD64)
# Make executable: chmod +x mcp-jenkins-server-<platform>
MCP 配置
将以下内容添加到 MCP 客户端配置中(Cursor/VSCode):
{
"mcpServers": {
"mcp-jenkins-intelligence": {
"command": "/path/to/mcp-jenkins-server",
"args": [],
"env": {
"JENKINS_URL": "https://your-jenkins-url",
"JENKINS_USERNAME": "your-username",
"JENKINS_TOKEN": "your-token"
}
}
}
}
就这么简单! 无需安装 Python,也无需安装依赖项——只需下载并运行!
概述
MCP Jenkins Intelligence 是一款面向专业 DevOps 团队的全面 Model Context Protocol(MCP)解决方案。它为复杂的 Jenkins 流水线操作提供自然语言界面,让团队能够通过 VSCode 和 Cursor 中由 AI 驱动的对话来监控、分析和优化 CI/CD 工作流。
主要功能
智能流水线分析
- 实时监控:实时流水线状态、健康指标和性能分析
- AI 驱动的洞察:通过自然语言查询进行复杂的流水线分析
- 故障分析:深入分析流水线故障,智能定位根本原因
- 性能优化:自动提供改进构建时间和成功率的建议
- 高级分析:全面的报告和性能对比
- 异常检测:AI 驱动地检测流水线行为中的异常模式
高级 AI 能力
- 自然语言处理:通过对话界面执行复杂的 DevOps 操作
- 智能诊断:AI 驱动的流水线健康分析和故障排查指导
- 上下文感知提示词:针对不同分析场景智能推荐提示词
- 自动化报告:主动识别问题和优化机会
企业级安全与合规
- 多种身份验证支持:支持标准 Jenkins 和 Azure AD 集成
- 安全通信:所有 Jenkins API 通信均采用 TLS 加密
- 审计日志:为所有流水线操作提供全面的审计记录
- 最小权限:采用安全设计,遵循最低权限访问模式
- 企业级数据保护:提供 19 种以上保护模式,实现全面的数据匿名化
- 全面匿名化:保护流水线名称、集群名称、文件夹名称、应用名称、分支名称、组织名称、仓库名称和代码文件名称
- 基于哈希的安全保护:在与 AI 通信前,将敏感数据替换为安全哈希值
- 本地执行:所有数据处理均在本地进行,数据不会离开您的环境
- 递归保护:适用于嵌套数据结构和复杂对象
- 访问控制审计:全面分析权限和访问控制
高级分析与报告
- 综合报告:生成包含指标和洞察的详细报告
- 性能比较:比较不同团队和环境中的流水线性能
- 趋势分析:分析长期性能和可靠性趋势
高级 AI 功能
- 异常检测:利用 AI 检测流水线行为中的异常模式
- 综合洞察:由 AI 生成的洞察和建议
性能优化
- 构建时间分析:详细分析构建时间并提供优化建议
部署与分发
- 多种部署选项:开发环境配置或生产环境部署
- 跨平台支持:支持 macOS、Linux 和 Windows
- 便捷配置:通过环境变量或 MCP 配置轻松完成设置
架构
MCP 协议集成
下图展示了 MCP Jenkins Intelligence 如何通过 Model Context Protocol 与 VSCode 和 Cursor AI 集成:
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ VSCode/ │ │ MCP Protocol │ │ Jenkins │
│ Cursor AI │◄──►│ │◄──►│ Intelligence │
│ │ │ │ │ Server │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│
▼
┌─────────────────────────────────────────┐
│ Jenkins API │
└─────────────────────────────────────────┘
│
▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ AI Analysis │ │ Core Tools │ │ MCP Resources │
│ Engine │ │ (30 tools) │ │ & Prompts │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ • Health │ │ • List │ │ • Status │
│ Analysis │ │ • Details │ │ Resource │
│ • Failure │ │ • Builds │ │ • Summary │
│ Analysis │ │ • Configure │ │ Resource │
│ • AI Queries │ │ • Test │ │ • Dashboard │
│ • Metrics │ │ • Questions │ │ Resource │
│ • Dependencies │ │ • Trigger │ │ • Logs │
│ • Trends │ │ • Stop │ │ Resource │
│ • Security │ │ • Enable/Dis │ │ • Health │
│ • Export │ │ • Config │ │ Resource │
│ • Optimize │ │ • Predict │ │ • Analysis │
│ │ │ • Suggest │ │ Prompts │
└─────────────────┘ └─────────────────┘ └─────────────────┘
模块化架构
内部架构采用简洁的模块化设计,并遵循关注点分离原则:
┌─────────────────────────────────────────────────────────────────────────┐
│ MCP Layer │
├─────────────────┬─────────────────┬─────────────────────────────────────┤
│ FastMCP Server │ Tool Registry │ Request Router │
└─────────────────┴─────────────────┴─────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────┐
│ Modular Services │
├─────────────┬─────────────┬─────────────┬─────────────┬─────────────────┤
│ Models │ Services │ Resources │ Prompts │ │
├─────────────┼─────────────┼─────────────┼─────────────┼─────────────────┤
│ • Pipeline │ • Jenkins │ • Status │ • Analysis │ │
│ • Build │ • Core │ • Summary │ • Failure │ │
│ • Health │ • Control │ • Dashboard │ • Optimize │ │
│ • Failure │ • Monitor │ • Logs │ • Security │ │
│ • Query │ • AI │ • Health │ │ │
│ │ • Security │ │ │ │
└─────────────┴─────────────┴─────────────┴─────────────┴─────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────┐
│ Tool Categories │
├─────────────────┬─────────────────┬─────────────────┬─────────────────┤
│ Core Tools (9) │ Control Tools │ Monitoring (4) │ AI Tools (5) │
│ │ (4) │ │ │
├─────────────────┼─────────────────┼─────────────────┼─────────────────┤
│ • list_pipelines│ • trigger_build │ • get_metrics │ • Predict │
│ • get_details │ • stop_build │ • dependencies │ Failure │
│ • get_builds │ • enable_disable│ • monitor_queue │ • Suggest │
│ • ask_questions │ • get_config │ • analyze_trends│ Optimize │
│ • configure_ │ │ │ • Anomaly │
│ jenkins │ │ │ Detection │
│ • test_ │ │ │ • AI │
│ connection │ │ │ Insights │
│ • analyze_ │ │ │ • Retry │
│ health │ │ │ Logic │
│ • analyze_ │ │ │ │
│ failure │ │ │ │
│ • get_server_ │ │ │ │
│ info │ │ │ │
└─────────────────┴─────────────────┴─────────────────┴─────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────┐
│ Additional Tool Categories │
├─────────────┬─────────────┬─────────────┬─────────────────────────────┤
│ Security │ Jenkinsfile │ Analytics │ Performance │
│ (2) │ (3) │ (2) │ (1) │
├─────────────┼─────────────┼─────────────┼─────────────────────────────┤
│ • scan_ │ • get_ │ • generate_ │ • analyze_ │
│ security │ jenkinsfile│ report │ build_time │
│ │ • reconstruct│ • compare_ │ │
│ │ • suggest_ │ performance│ │
│ │ improvements│ │ │
└─────────────┴─────────────┴─────────────┴─────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────┐
│ MCP Resources & Prompts │
├─────────────────────────┬─────────────────────────────────────────────┤
│ Resources (5) │ Prompts (4) │
├─────────────────────────┼─────────────────────────────────────────────┤
│ • pipeline://status │ • analyze_pipeline_prompt │
│ • pipeline://{name}/ │ • failure_analysis_prompt │
│ summary │ • optimization_prompt │
│ • pipeline://dashboard │ • security_audit_prompt │
│ • pipeline://{name}/ │ │
│ logs │ │
│ • pipeline://health │ │
└─────────────────────────┴─────────────────────────────────────────────┘
目录结构
mcp-jenkins-intelligence/
├── server.py # Main MCP server (679 lines)
├── models/
│ ├── __init__.py
│ └── pipeline.py # Pydantic models
├── services/
│ ├── __init__.py
│ ├── jenkins_service.py # Jenkins API wrapper
│ ├── core_tools.py # Core pipeline tools
│ ├── monitoring_tools.py # Monitoring & analytics
│ ├── ai_tools.py # AI intelligence tools
│ ├── security_tools.py # Security & compliance
│ ├── advanced_ai_tools.py # Advanced AI features
│ ├── advanced_security_tools.py # Advanced security tools
│ ├── analytics_tools.py # Analytics & reporting
│ ├── performance_tools.py # Performance optimization
│ ├── execution_analysis_service.py # Execution analysis
│ └── jenkinsfile_retrieval_service.py # Jenkinsfile management
├── resources/
│ ├── __init__.py
│ └── pipeline_resources.py # MCP resources
├── prompts/
│ ├── __init__.py
│ └── pipeline_prompts.py # MCP prompts
├── config/
│ └── settings.py # Configuration management
├── utils/
│ ├── __init__.py
│ └── helpers.py # Helper functions
├── manuals/
│ ├── configuration/
│ │ └── README.md # Configuration guide
│ ├── examples/
│ │ └── mcp-config-standalone.json # Example configuration
│ ├── quick-start/
│ │ └── README.md # Quick start guide
│ └── troubleshooting/
│ └── README.md # Troubleshooting guide
├── dist/ # Built binaries (GitHub Releases)
│ ├── mcp-jenkins-server-macos-arm64 # macOS Apple Silicon binary
│ └── mcp-jenkins-server-linux-amd64 # Linux AMD64 binary
├── install.sh # Automated installer script
├── Makefile # Build automation
├── build.sh # Build test script
├── requirements.txt # Python dependencies
├── pyproject.toml # Project configuration
├── LICENSE # MIT License
└── README.md # This file
安装与设置
先决条件
- Python 3.8+(用于开发环境配置)
- Jenkins 服务,并具有 API 访问权限
- MCP 客户端(带有 MCP 扩展的 VSCode 或 Cursor)
二进制安装(推荐)
-
下载适用于你平台的二进制文件:
# macOS (Apple Silicon) curl -L -o mcp-jenkins-server https://github.com/heniv96/mcp-jenkins-intelligence/releases/latest/download/mcp-jenkins-server-macos-arm64 # Linux (AMD64) curl -L -o mcp-jenkins-server https://github.com/heniv96/mcp-jenkins-intelligence/releases/latest/download/mcp-jenkins-server-linux-amd64 -
使其可执行:
chmod +x mcp-jenkins-server -
配置你的 MCP 客户端(请参阅上文的 MCP 配置部分)
开发环境配置
-
克隆仓库:
git clone https://github.com/heniv96/mcp-jenkins-intelligence.git cd mcp-jenkins-intelligence -
安装依赖项:
pip install -r requirements.txt -
设置环境变量:
export JENKINS_URL="https://your-jenkins-url" export JENKINS_USERNAME="your-username" export JENKINS_TOKEN="your-token" -
运行服务:
python server.py
配置
环境变量
| 变量 | 描述 | 必填 | 默认值 |
|---|---|---|---|
JENKINS_URL | Jenkins 服务 URL | 是 | - |
JENKINS_USERNAME | Jenkins 用户名 | 是 | - |
JENKINS_TOKEN | Jenkins API 令牌 | 是 | - |
MCP_SERVER_PORT | MCP 服务端口 | 否 | 8000 |
MCP 客户端配置
VSCode 配置
添加到你的 settings.json 中:
{
"mcp.servers": {
"mcp-jenkins-intelligence": {
"command": "/path/to/mcp-jenkins-server",
"args": [],
"env": {
"JENKINS_URL": "https://your-jenkins-url",
"JENKINS_USERNAME": "your-username",
"JENKINS_TOKEN": "your-token"
}
}
}
}
Cursor 配置
添加到你的 mcp.json 中:
{
"mcpServers": {
"mcp-jenkins-intelligence": {
"command": "/path/to/mcp-jenkins-server",
"args": [],
"env": {
"JENKINS_URL": "https://your-jenkins-url",
"JENKINS_USERNAME": "your-username",
"JENKINS_TOKEN": "your-token"
}
}
}
}
使用方法
基本命令
完成配置后,你可以通过自然语言与 Jenkins 交互:
- “列出所有流水线” - 获取所有可用流水线的列表
- “显示流水线 X 的健康状况” - 获取详细的健康状况分析
- “失败的构建有什么问题?” - 分析构建失败原因
- “优化流水线 Y 的构建时间” - 获取优化建议
- “生成上周的报告” - 创建综合报告
高级功能
- AI 驱动的分析:针对流水线性能提出复杂问题
- 异常检测:获取有关流水线异常行为的提醒
- 安全审计:对 Jenkins 配置进行全面的安全分析
- 性能优化:详细分析构建时间并提供建议
API 参考
核心工具
| 工具 | 描述 | 参数 |
|---|---|---|
list_pipelines | 列出所有可用流水线 | search(可选) |
get_pipeline_details | 获取详细的流水线信息 | pipeline_name |
get_pipeline_builds | 获取流水线的近期构建 | pipeline_name、limit、status |
analyze_pipeline_health | 分析流水线的健康状况和性能 | pipeline_name、period |
analyze_pipeline_failure | 分析特定的流水线故障 | pipeline_name、build_number |
ask_pipeline_question | 以自然语言提问 | question、pipeline_names |
监控工具
| 工具 | 描述 | 参数 |
|---|---|---|
get_pipeline_metrics | 获取详细的流水线指标 | pipeline_name、period |
get_pipeline_dependencies | 获取流水线依赖项 | pipeline_name |
monitor_pipeline_queue | 监控 Jenkins 构建队列 | - |
analyze_build_trends | 分析各流水线的构建趋势 | pipeline_names、period |
AI 工具
| 工具 | 描述 | 参数 |
|---|---|---|
predict_pipeline_failure | 预测可能发生的流水线故障 | pipeline_name |
suggest_pipeline_optimization | 获取优化建议 | pipeline_name |
detect_pipeline_anomalies | 检测异常的流水线行为 | pipeline_name、sensitivity |
generate_ai_insights | 生成全面的 AI 洞察 | pipeline_name、insight_type |
安全
数据保护
MCP Jenkins Intelligence 实施全面的数据保护:
- 完全匿名化:所有敏感数据都会替换为安全哈希值
- 本地处理:所有数据处理都在本地进行
- 无外部调用:不会向外部 AI 服务发送数据
- 递归保护:适用于嵌套数据结构
- 访问控制审计:全面分析权限
支持保护的模式
- 流水线名称
- 集群名称
- 文件夹名称
- 应用程序名称
- 分支名称
- 组织名称
- 仓库名称
- 代码文件名
- 构建编号
- 时间戳
- URL 和路径
- 用户信息
- 令牌值
- 配置数据
- 日志条目
- 错误消息
- 堆栈跟踪
- 环境变量
- 以及更多……
故障排除
常见问题
- 连接失败:检查 Jenkins URL 和凭据
- 权限被拒绝:确认 Jenkins 用户具有相应权限
- 找不到二进制文件:确保二进制文件可执行且位于 PATH 中
- MCP 客户端无响应:检查 MCP 配置
调试模式
通过设置以下内容启用调试日志:
export DEBUG=1
获取帮助
贡献
欢迎贡献!详情请参阅贡献指南。
开发
- Fork 仓库
- 创建功能分支
- 进行更改
- 添加测试
- 提交拉取请求
构建
# Install dependencies
pip install -r requirements.txt
# Run tests
python -m pytest
# Build binary
make build
许可证
本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。
致谢
- FastMCP - MCP 框架
- Jenkins - CI/CD 平台
- Model Context Protocol - 协议规范
更新日志
v1.2.0
- 添加全面的数据保护和匿名化功能
- 改进二进制文件分发,支持跨平台
- 增强安全功能和访问控制审计
- 添加高级 AI 功能和异常检测
- 改进性能优化工具
- 添加全面的报告和分析功能
v1.1.0
- 首次发布,包含核心 MCP 功能
- 基础流水线分析与监控
- AI 驱动的洞察与建议
为 DevOps 社区倾心打造 ❤️
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。