Devpipe MCP服务器
特性
此MCP服务器为AI助手提供了以下能力:
- 📋 列出并分析任务 来自devpipe配置(具有详细统计信息)
- 🚀 运行管道 完全控制执行标志
- ✅ 验证配置 跑步前
- 📊 访问运行结果 和度量(JUnit、SARIF)
- 🔍 调试失败 通过读取任务日志
- 💡 建议优化 用于管道配置
- 🛡️ 审查安全调查结果 来自SARIF报告
- 🔧 自动检测技术 并建议缺失的任务
- ⚡ 生成任务配置 从模板
- 📝 创建完整的配置 从零开始
- 🔄 生成CI/CD配置 (GitHub操作,GitLab CI)
需求
- Node.js 18岁或以上
- devpipe v0.2.0或更高版本已安装,可在PATH中访问
brew install drewkhoury/tap/devpipe注: 此MCP需要devpipe v0.2.0+,它使用outputType/outputPath字段(从metricsFormat/metricsPath重命名)。
安装
选项1:从npm安装(推荐)
npm install -g devpipe-mcp选项2:从源代码安装
git clone https://github.com/drewkhoury/devpipe-mcp.git
cd devpipe-mcp
npm install
npm run build
npm link配置
添加到MCP配置文件中:
- 风浪/瀑布:
~/.codeium/windsurf/mcp_config.json - 克劳德桌面版:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"devpipe": {
"command": "npx",
"args": [
"-y",
"devpipe-mcp@latest"
]
}
}
}对于其他MCP客户端
服务器在stdio上运行,因此您可以使用以下方式连接任何MCP客户端:
devpipe-mcp用法
配置后,您可以通过AI助手使用以下命令与devpipe交互 自然语言。AI会自动将您的请求转换为相应的工具调用。
📖 完整提示指南 -学习所有有效提示MCP服务器的方法
🎯 如何提示
关键是要指定要使用的项目:
- “这个项目” 或 “此回购” -使用您当前的工作区
- 项目名称 -例如,“devpipe项目”、“我的go应用程序”
- 绝对路径 -例如,“/用户/你/项目/我的应用程序”
列出任务
"Show me all the tasks in this project"
"What tasks are defined in /Users/you/projects/my-app/config.toml?"
"List tasks from the devpipe project"运行管道
"Run devpipe in this project"
"Run the pipeline for /Users/you/projects/my-app"
"Run only the lint and test tasks in this repo"
"Execute devpipe in dry-run mode for the go-app project"验证配置
"Validate my devpipe config"
"Check if config.toml is valid"调试失败
"Why did the lint task fail?"
"Show me the logs for the build task"
"What went wrong in the last run?"分析和优化
"Analyze my pipeline configuration"
"Suggest optimizations for my devpipe setup"
"How can I make my pipeline faster?"创建任务
"Create a devpipe task for running Go tests"
"Help me add a Python linting task"
"Generate a task configuration for ESLint"Bootstrap新项目
"Create a devpipe config for this project"
"Analyze the project at /Users/you/projects/new-app"
"What technologies are in this repo?"
"Generate a config for /path/to/project"处理多个项目
"Analyze /Users/you/projects/project-a"
"Run devpipe in /Users/you/projects/project-b"
"Compare tasks between this project and /Users/you/projects/other-project"专业提示: 你不需要配置任何特殊的东西——只需在提示中告诉AI你想使用哪个项目!
生成CI/CD
"Generate a GitHub Actions workflow for devpipe"
"Create a GitLab CI config from my devpipe setup"安全审查
"Review the security findings from my last run"
"What security issues were found?"
"Analyze SARIF results"MCP工具
服务器提供以下工具:
list_tasks
解析并列出config.toml文件中的所有任务。
参数:
config(可选):config.toml文件的路径
例子:
{
"config": "./config.toml"
}run_pipeline
使用指定的标志执行devpipe。
参数:
config(可选):config.toml的路径only(可选):要运行的任务ID数组skip(可选):要跳过的任务ID数组since(可选):用于基于更改的运行的Git参考fixType(可选):auto,helper,或noneui(可选):basic或fulldashboard(可选):显示仪表板视图failFast(可选):首次出现故障时停止fast(可选):跳过慢速任务ignoreWatchPaths(可选):忽略watchPaths并运行所有任务dryRun(可选):显示将运行的内容verbose(可选):详细输出noColor(可选):禁用颜色
例子:
{
"only": ["lint", "test"],
"fast": true,
"failFast": true,
"ignoreWatchPaths": true
}validate_config
验证devpipe配置文件。
参数:
configs(可选):配置文件路径数组
例子:
{
"configs": ["config.toml", "config.prod.toml"]
}get_last_run
从最近的管道运行中获取结果。
参数:
config(可选):config.toml的路径
view_run_logs
读取特定任务或整个管道的日志。
参数:
taskId(可选):用于查看日志的任务IDconfig(可选):config.toml的路径
例子:
{
"taskId": "lint"
}parse_metrics
解析JUnit或SARIF度量文件。
参数:
metricsPath(必填):指标文件的路径format(必填):junit或sarif
例子:
{
"metricsPath": ".devpipe/runs/latest/metrics.sarif",
"format": "sarif"
}get_dashboard_data
从summary.json中提取聚合数据。
参数:
config(可选):config.toml的路径
check_devpipe
检查是否安装了devpipe并获取版本信息。
list_tasks_verbose
使用列出任务 devpipe list --verbose 带有执行统计信息的命令。
参数:
config(可选):config.toml文件的路径
例子:
{
"config": "./config.toml"
}输出: 显示具有平均执行时间和统计信息的任务表。
analyze_project
分析项目目录以检测技术并建议缺失的任务。
参数:
projectPath(可选):项目目录的路径(默认为当前)
例子:
{
"projectPath": "/path/to/project"
}输出:
{
"projectPath": "/path/to/project",
"detectedTechnologies": ["Go", "Docker"],
"suggestedTasks": [
{
"technology": "Go",
"taskType": "check-format",
"reason": "go fmt for formatting"
},
{
"technology": "Go",
"taskType": "check-lint",
"reason": "golangci-lint for linting"
}
],
"summary": "Found 2 technologies with 5 suggested tasks"
}generate_task
根据特定技术或阶段标题的模板生成任务配置。
参数:
technology(必填):阶段头的技术名称(例如,“Go”、“Python”、“Node.js”、“TypeScript”、“Rust”)或“phase”taskType(必填):任务类型(例如,“检查格式”、“检查lint”、“测试单元”、“构建”)或阶段名称taskId(可选):常规任务的自定义任务ID,或阶段标题的描述
示例(常规任务):
{
"technology": "Go",
"taskType": "check-lint",
"taskId": "golangci-lint"
}输出:
[tasks.golangci-lint]
name = "Golang CI Lint"
desc = "Runs comprehensive linting on Go code"
type = "check"
command = "golangci-lint run"
fixType = "auto"
fixCommand = "golangci-lint run --fix"示例(相位标题):
{
"technology": "phase",
"taskType": "Validation",
"taskId": "Static analysis and tests"
}输出:
[tasks.phase-validation]
name = "Validation"
desc = "Static analysis and tests"注: 相位标头具有 无必填字段 -它们是组织的标志。常见做法包括 name 或 desc (或两者都有),但两者都不是严格要求的。
支持的技术:
- 去:检查格式、检查lint、检查静态、测试单元、构建
- python:检查格式、检查棉绒、检查类型、测试单位
- Node.js:检查棉绒、测试单元、制造
- TypeScript:检查类型
- 阶段:创建阶段标题(组织标记,无命令/类型)
create_config
从头开始创建一个完整的config.toml文件,其中包含自动检测的任务。
参数:
projectPath(可选):项目目录的路径(默认为当前)includeDefaults(可选):包含\[默认值\]部分(默认值:true)autoDetect(可选):自动检测技术并生成任务(默认值:true)
例子:
{
"projectPath": "/path/to/project",
"includeDefaults": true,
"autoDetect": true
}输出: 使用以下命令完成config.toml:
- 默认部分(outputRoot,fastThreshold=300秒,animationRefreshMs=500毫秒,git设置)
- 任务默认值(启用,工作目录)
- 按阶段组织的自动检测任务
- 即用型TOML配置与devpipe v0.1.0兼容+
用例: 使用devpipe配置引导一个新项目。
注: 生成的配置使用devpipe v0.1.0默认值(fastThreshold=300秒,而不是5000毫秒)。
get_pipeline_health
使用趋势分析、故障率和性能指标计算整体管道健康评分。返回健康评分(0-100)、问题、警告和建议。
compare_runs
比较两个管道运行,以确定故障、性能和指标的变化。
参数:
run1(必填):首次运行ID(例如。,2024-12-07_20-00-00)或latestrun2(必填):第二次运行ID或previous
退货: 新故障、固定任务、性能变化和详细的任务比较。
predict_impact
根据更改的文件和历史模式预测哪些任务可能会失败。
退货: 每个任务的风险评分、建议运行的任务和建议的devpipe命令。
风险评分:
- WatchPaths匹配(40分)
- 历史故障相关性(30分)
- 近期故障率(30分)
generate_ci_config
从devpipe配置生成CI/CD配置文件(GitHub Actions或GitLab CI)。
参数:
config(可选):config.toml文件的路径platform(必填):github或gitlab
例子:
{
"config": "./config.toml",
"platform": "github"
}输出(GitHub操作):
name: CI Pipeline
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main ]
jobs:
devpipe:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install devpipe
run: |
curl -L https://github.com/drewkhoury/devpipe/releases/latest/download/devpipe-linux-amd64 -o devpipe
chmod +x devpipe
sudo mv devpipe /usr/local/bin/
- name: Run devpipe
run: devpipe --fail-fast
- name: Upload results
if: always()
uses: actions/upload-artifact@v4
with:
name: devpipe-results
path: .devpipe/MCP资源
服务器公开这些资源:
devpipe://config-当前config.toml内容devpipe://tasks-所有任务定义devpipe://last-run-最近的跑步结果devpipe://summary-汇总管道汇总devpipe://schema-用于config.toml验证的JSON模式(从官方devpipe仓库获取)devpipe://template-dashboard-仪表板报告的HTML模板(从devpipe源代码获取)devpipe://template-ide-IDE优化视图的HTML模板(从devpipe源代码获取)devpipe://releases-latest-最新的devpipe发行说明(来自GitHub版本)devpipe://releases-all-完整的发布历史记录(来自GitHub版本)devpipe://readme-完整的devpipe文档(来自GitHub)devpipe://docs-configuration-官方配置指南(来自GitHub)devpipe://docs-examples-带有所有选项的config.toml示例(来自GitHub)devpipe://docs-cli-reference-CLI命令和标志参考(来自GitHub)devpipe://docs-config-validation-配置验证规则(来自GitHub)devpipe://docs-features-完整的功能指南(来自GitHub)devpipe://docs-project-root-项目根配置(来自GitHub)devpipe://docs-safety-checks-安全检查文档(来自GitHub)devpipe://version-info-已安装的devpipe版本和功能(来自本地二进制文件)devpipe://available-commands-所有CLI命令和标志(来自本地二进制文件)devpipe://git-status-当前git存储库状态(来自本地git)devpipe://changed-files-基于git模式(从本地git)更改的文件devpipe://task-history-所有运行的历史任务性能(来自本地运行)devpipe://metrics-summary-聚合测试和安全指标(来自本地运行)devpipe://watchpaths-analysis-分析哪些任务将根据watchPaths运行(来自本地配置+git)devpipe://recent-failures-最近的任务失败,包括错误详细信息和模式(来自本地运行)devpipe://flakiness-report-具有通过/失败模式的缺陷任务检测(来自本地运行)devpipe://performance-regressions-随着时间的推移而变慢的任务(来自本地运行)devpipe://change-correlation-将失败与最近的提交和文件更改(来自本地git+运行)相关联
MCP提示
常见工作流的预配置提示:
mcp-info
获取有关此MCP服务器版本和devpipe兼容性的信息。显示支持的字段名称、运行结构和升级指南。
analyze-config
分析devpipe配置并提出改进建议。
debug-failure
帮助调试特定任务失败的原因。
论据:
taskId(必填):失败的任务
optimize-pipeline
建议对管道进行优化。
create-task
帮助为技术创建新任务。
论据:
technology(必填):技术名称(例如“Go”、“Python”)taskType(可选):check,build,或test
security-review
审查SARIF安全调查结果并提供建议。
configure-metrics
帮助为任务配置JUnit、SARIF或工件指标。提供有关正确度量格式和度量路径配置的指导。
例子
看 示例.md 了解详细的使用示例和工作流程。
快速示例
User: "Run my devpipe pipeline with fast mode"
Assistant: *Uses run_pipeline tool with { "fast": true }*
Result: Pipeline executes, skipping slow tasks发展
从源头构建
git clone https://github.com/drewkhoury/devpipe-mcp.git
cd devpipe-mcp
npm install
npm run build项目结构
devpipe-mcp/
├── src/
│ ├── index.ts # Main MCP server
│ ├── types.ts # Type definitions
│ └── utils.ts # Utility functions
├── examples/ # Example configs
├── dist/ # Compiled output
└── README.md观看模式
npm run watch故障排除
未找到devpipe
如果出现“devpipe not found”错误:
# Install devpipe
brew install drewkhoury/tap/devpipe
# Verify installation
devpipe --version未找到配置文件
MCP服务器搜索 config.toml 在:
- 当前目录
- 父目录(直到根目录)
您还可以在工具调用中显式指定配置路径。
权限错误
确保MCP服务器具有以下权限:
- 读取配置文件
- 执行devpipe命令
- 访问
.devpipe输出目录
贡献
欢迎投稿!请看 贡献.md 作为指导方针。
许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
相关项目
支持
- 问题:
- 讨论:
- devpipe:
更新日志
看 更改日志.md 查看版本历史和更改。
