Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Woodpecker CI Pipeline Analyzeranalyze PR failures for #123 in my-project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Pipeline Server
A Model Context Protocol (MCP) server for automated CI/CD pipeline failure analysis, specifically designed for Woodpecker CI integration with IDE support.
π Overview
The MCP Pipeline Server provides intelligent CI pipeline failure analysis with two flexible approaches:
Direct Pipeline Analysis: Analyze specific pipelines using repository ID and pipeline number
Git-Context Analysis: Automatically resolve and analyze pipelines using repository name, PR number, or branch information from your IDE
π οΈ Available Tools
1. WoodpeckerCiPipelineReportGeneratorTool
Purpose: Direct pipeline analysis with specific identifiers Input:
repoId: Woodpecker CI repository ID (e.g., "1")pipelineNumber: Specific pipeline number (e.g., "100577")
Usage:
2. GitBasedPipelineAnalyzerTool
Purpose: Intelligent pipeline analysis using git context from IDE Input:
repoName: Repository name (e.g., "my-project")pullRequestNumber: PR number (e.g., "123")branchName: Git branch name (optional)
Features:
Auto-resolves repository ID from name
Finds latest pipeline for the specified PR
Handles running pipelines gracefully
Integrates with IDE git context
π Available Prompts
1. analyze-pipeline
Purpose: Traditional pipeline analysis with specific repo/pipeline numbers Best for: Direct analysis when you have Woodpecker CI URLs
2. analyze-pr-failures
Purpose: IDE-integrated analysis using git context Best for: Analyzing PR failures directly from your development environment
π Analysis Flow
ποΈ Architecture
Dependency Injection System
The server uses a NestJS-style dependency injection pattern:
Caching Strategy
Repository Resolution: 24-hour cache for repo name β repo ID mappings
Pipeline Analysis: 2-hour cache for complete pipeline analysis results
No Pipeline Resolution Cache: Always fetches latest pipeline to avoid stale data
Service Lifecycle
Startup: ServiceManager initializes and discovers @Injectable services
Runtime: Lazy service instantiation on first use
Shutdown: Proper cache cleanup and resource disposal
π¦ Usage Examples
IDE Integration (Recommended)
Direct Pipeline Analysis
π Output Format
Human-Readable Report
Scenario file: features/login.feature:23 Root cause: Updated UI element selector not matching Fix suggestions: Update element selector in auth.js
π§ Setup & Installation
Prerequisites
Node.js 18+
pnpm or npm
Access to Woodpecker CI instance
Environment Variables
Installation
Option 1: Install from npm (Recommended)
Option 2: Local Development
MCP Client Integration
Using the published package:
Using global installation:
Using local build:
π― Key Features
Intelligent Analysis
Final Attempt Focus: Only analyzes the last retry of failed steps
Pattern Recognition: Identifies recurring failure patterns
Context-Aware: Understands git workflow and PR context
IDE Integration
Automatic Repository Resolution: No need to lookup repo IDs manually
Branch-Aware: Finds appropriate pipelines for current branch/PR
Real-time Status: Handles running pipelines gracefully
Developer Experience
File-Specific Suggestions: Pinpoints exact files and line numbers
Interactive Fixes: Prompts before applying any changes
Structured Output: Both human and machine-readable formats
Performance
Smart Caching: Optimized cache strategy for different data types
Lazy Loading: Services instantiated only when needed
Resource Management: Proper cleanup on shutdown
π Troubleshooting
Common Issues
Service not found errors: Ensure ServiceManager is initialized before tool usage
Pipeline not found: Verify repository name spelling and PR number
Token issues: Check WOODPECKER_TOKEN has sufficient permissions
Debug Logging
The server provides detailed logging for service registration and pipeline resolution:
π€ Contributing
Follow the NestJS-style dependency injection patterns
Use
@Injectable()for services that will be injectedImplement proper caching for external API calls
Add comprehensive error handling
Update this README for new tools/features
π API Reference
See individual tool files for detailed parameter schemas:
src/tools/WoodpeckerCiPipelineReportGeneratorTool.tssrc/tools/GitBasedPipelineAnalyzerTool.tssrc/prompts/CiPipelinePrompt.tssrc/prompts/GitBasedCiAnalysisPrompt.ts