Skip to main content
Glama
PROJECT_SUMMARY.md7.86 kB
# Devpipe MCP Server - Project Summary ## Overview The **devpipe-mcp** project is a Model Context Protocol (MCP) server that enables AI assistants like Windsurf/Cascade and Claude to interact with devpipe - a fast, local pipeline runner for development workflows. ## What Was Built ### Core Components 1. **MCP Server Implementation** (`src/index.ts`) - 8 MCP tools for interacting with devpipe - 4 MCP resources for accessing pipeline data - 5 MCP prompts for AI-assisted workflows - Full error handling and validation 2. **Utility Functions** (`src/utils.ts`) - devpipe installation detection - Config file parsing (TOML) - Run metadata and log reading - Metrics parsing (JUnit, SARIF) - Command building and execution 3. **Type Definitions** (`src/types.ts`) - Complete TypeScript types for devpipe configs - Run metadata and task result types - Metrics types (JUnit, SARIF) - Tool argument types ### Documentation 1. **README.md** - Main documentation with installation, usage, and API reference 2. **SETUP.md** - Detailed setup guide for different AI assistants 3. **EXAMPLES.md** - 15+ detailed usage examples and workflows 4. **QUICK_REFERENCE.md** - Quick lookup guide for common tasks 5. **CONTRIBUTING.md** - Guidelines for contributors 6. **CHANGELOG.md** - Version history and planned features ### Examples 1. **config.example.toml** - Node.js/TypeScript project example 2. **config.go.toml** - Go project example 3. **config.python.toml** - Python project example ## Features Implemented ### MCP Tools | Tool | Description | |------|-------------| | `check_devpipe` | Check if devpipe is installed and get version | | `list_tasks` | Parse and list all tasks from config.toml | | `run_pipeline` | Execute devpipe with full flag support | | `validate_config` | Validate one or more config files | | `get_last_run` | Get results from the most recent run | | `view_run_logs` | Read logs from specific tasks or pipeline | | `parse_metrics` | Parse JUnit/SARIF metrics files | | `get_dashboard_data` | Extract data from summary.json | ### MCP Resources | Resource | Description | |----------|-------------| | `devpipe://config` | Current config.toml contents | | `devpipe://tasks` | All task definitions | | `devpipe://last-run` | Most recent run results | | `devpipe://summary` | Aggregated pipeline summary | ### MCP Prompts | Prompt | Description | |--------|-------------| | `analyze-config` | Analyze configuration and suggest improvements | | `debug-failure` | Help debug why a task failed | | `optimize-pipeline` | Suggest pipeline optimizations | | `create-task` | Help create new tasks for technologies | | `security-review` | Review SARIF security findings | ### Devpipe Integration Full support for all devpipe features: - ✅ All CLI flags (--config, --only, --skip, --fast, --dry-run, etc.) - ✅ Git integration (--since for change-based runs) - ✅ Phase-based execution - ✅ Parallel task execution - ✅ Auto-fix support - ✅ Metrics parsing (JUnit, SARIF) - ✅ Dashboard data access - ✅ Run history and logs ## Project Structure ``` devpipe-mcp/ ├── src/ │ ├── index.ts # Main MCP server (850+ lines) │ ├── types.ts # TypeScript type definitions │ └── utils.ts # Utility functions ├── dist/ # Compiled JavaScript output ├── examples/ │ ├── config.example.toml │ ├── config.go.toml │ └── config.python.toml ├── node_modules/ # Dependencies ├── package.json # Project configuration ├── tsconfig.json # TypeScript configuration ├── .gitignore ├── .npmignore ├── LICENSE # MIT License ├── README.md # Main documentation ├── SETUP.md # Setup guide ├── EXAMPLES.md # Usage examples ├── QUICK_REFERENCE.md # Quick reference ├── CONTRIBUTING.md # Contribution guidelines ├── CHANGELOG.md # Version history └── PROJECT_SUMMARY.md # This file ``` ## Technology Stack - **Language**: TypeScript - **Runtime**: Node.js 18+ - **MCP SDK**: @modelcontextprotocol/sdk v0.5.0 - **TOML Parser**: @iarna/toml v2.2.5 - **Build Tool**: TypeScript Compiler (tsc) ## Key Design Decisions 1. **TypeScript**: Chosen for type safety and better IDE support 2. **Stdio Transport**: Standard MCP communication method 3. **Async/Await**: Modern async patterns throughout 4. **Error Handling**: Comprehensive try-catch with helpful error messages 5. **Config Discovery**: Automatic search in current and parent directories 6. **Type Safety**: Strong typing for all devpipe structures 7. **Modular Design**: Separated concerns (server, utils, types) ## Use Cases ### For Developers - Run pre-commit checks without leaving the IDE - Debug pipeline failures with AI assistance - Optimize pipeline configurations - Create new tasks for different technologies - Review security findings from SARIF reports ### For Teams - Standardize development workflows - Share pipeline configurations - Automate common development tasks - Integrate with CI/CD pipelines - Maintain code quality standards ### For AI Assistants - Provide context about development pipelines - Help users set up and configure devpipe - Debug and troubleshoot pipeline issues - Suggest optimizations and best practices - Generate task configurations ## Installation Methods 1. **From Source** (current): ```bash git clone https://github.com/drewkhoury/devpipe-mcp.git cd devpipe-mcp npm install npm run build ``` 2. **From npm** (when published): ```bash npm install -g devpipe-mcp ``` ## Configuration Examples ### Windsurf ```json { "mcpServers": { "devpipe": { "command": "node", "args": ["/path/to/devpipe-mcp/dist/index.js"] } } } ``` ### Claude Desktop ```json { "mcpServers": { "devpipe": { "command": "devpipe-mcp" } } } ``` ## Testing Currently manual testing via: 1. Building the project 2. Configuring in an MCP client 3. Testing each tool with various inputs 4. Verifying error handling Future: Automated tests planned ## Future Enhancements Planned features (see CHANGELOG.md): - Automated test suite - Proper XML parser for JUnit - Watch mode for config changes - Interactive task selection - Pipeline visualization - Performance profiling - Custom output formatters - CI/CD platform integrations ## Success Metrics The project successfully: - ✅ Builds without errors - ✅ Implements all planned MCP tools - ✅ Provides comprehensive documentation - ✅ Includes example configurations - ✅ Handles errors gracefully - ✅ Supports all devpipe features - ✅ Works with multiple AI assistants ## How to Use 1. **Install devpipe**: `brew install drewkhoury/tap/devpipe` 2. **Build the MCP server**: `npm install && npm run build` 3. **Configure your AI assistant** (see SETUP.md) 4. **Start using it**: Ask your AI assistant to interact with devpipe Example interactions: - "Show me all tasks in my config" - "Run devpipe with fast mode" - "Why did the lint task fail?" - "Analyze my pipeline configuration" - "Create a task for running Go tests" ## Contributing Contributions welcome! See CONTRIBUTING.md for: - Development setup - Code style guidelines - How to add new tools/resources/prompts - Pull request process ## License MIT License - See LICENSE file ## Links - **devpipe**: https://github.com/drewkhoury/devpipe - **MCP Specification**: https://modelcontextprotocol.io - **Issues**: https://github.com/drewkhoury/devpipe-mcp/issues ## Credits - **Author**: Drew Khoury - **devpipe**: Drew Khoury - **MCP Protocol**: Anthropic --- **Version**: 0.1.0 **Status**: Ready for use **Last Updated**: 2024-12-05

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/drewkhoury/devpipe-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server