Devpipe MCP Server
The Devpipe MCP Server enables AI assistants to comprehensively manage devpipe, a local pipeline runner, through natural language commands.
Configuration Management & Creation:
Parse, list, and analyze tasks from configurations with execution statistics and history
Validate configuration files for syntax and structure errors
Generate task configurations from templates for various technologies (Go, Python, Node.js, TypeScript, Rust, Docker)
Create complete
config.tomlfiles from scratch with auto-detected tasksConfigure metrics (JUnit/SARIF) with proper
outputType/outputPathguidanceCreate organizational phase headers for logical task grouping
Pipeline Execution & Control:
Run pipelines with full flag control:
only/skip/since(git-based) task selection,dryRun,fastmode,failFast,fixType(auto-fix/helper/no-fix), and UI modes (basic/full/dashboard)Generate CI/CD configurations for GitHub Actions and GitLab CI from devpipe setups
Analysis & Optimization:
Access run results, metrics (JUnit/SARIF), logs, and aggregated statistics
Auto-detect technologies and suggest missing tasks based on project analysis
Calculate pipeline health scores with trend analysis, failure rates, and performance metrics
Compare pipeline runs to identify changes in failures and performance
Predict task failures based on changed files and historical patterns with risk scores
Suggest pipeline optimizations for improved speed and efficiency
Analyze watchpaths to determine which tasks run based on file changes
Debugging & Troubleshooting:
Debug task failures using logs and run results analysis
Review security findings from SARIF reports with recommendations
Identify recent failures, error patterns, flaky tasks, and performance regressions
Correlate failures with recent commits and file changes
Resource Access:
Check devpipe installation status and version information
Access documentation (configuration, examples, CLI reference, features, safety checks)
Retrieve schemas, templates, release notes, and local run data
View git status, changed files, historical task performance, and aggregated metrics
Use pre-configured prompts for common workflows like debugging failures, creating tasks, and security reviews
Enables AI assistants to analyze projects and generate devpipe task configurations for Docker-based workflows, including auto-detection of Docker technology in project directories.
Allows generation of devpipe task configurations for ESLint, enabling AI assistants to help set up JavaScript/TypeScript linting tasks in development pipelines.
Supports Git-based change detection for running devpipe pipelines with the --since flag, enabling targeted task execution based on Git references.
Generates GitHub Actions workflow configurations from devpipe pipelines, automating CI/CD setup with devpipe integration including artifact uploads and result tracking.
Generates GitLab CI configuration files from devpipe pipelines, enabling automated CI/CD workflow creation based on existing devpipe task definitions.
Provides task template generation for Node.js projects including linting, testing, and building tasks, with automatic technology detection and configuration suggestions.
Offers task template generation for Python projects covering formatting, linting, type checking, and unit testing, with auto-detection capabilities for Python-based projects.
Enables generation of devpipe task configurations for Rust projects, allowing AI assistants to suggest and create Rust-specific development pipeline tasks.
Provides task template generation for TypeScript type checking and enables AI assistants to create TypeScript-specific devpipe task configurations.
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., "@Devpipe MCP Servershow me all the tasks in this 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.
Devpipe MCP Server
A Model Context Protocol (MCP) server that enables AI assistants to interact with devpipe - a fast, local pipeline runner for development workflows.
Features
This MCP server provides AI assistants with the ability to:
📋 List and analyze tasks from devpipe configurations (with verbose stats)
🚀 Run pipelines with full control over execution flags
✅ Validate configurations before running
📊 Access run results and metrics (JUnit, SARIF)
🔍 Debug failures by reading task logs
💡 Suggest optimizations for pipeline configurations
🛡️ Review security findings from SARIF reports
🔧 Auto-detect technologies and suggest missing tasks
⚡ Generate task configurations from templates
📝 Create complete configs from scratch
🔄 Generate CI/CD configs (GitHub Actions, GitLab CI)
Related MCP server: GoCD MCP Server
Requirements
Node.js 18 or higher
devpipe v0.2.0 or later installed and accessible in PATH
brew install drewkhoury/tap/devpipeNote: This MCP requires devpipe v0.2.0+ which uses outputType/outputPath fields (renamed from metricsFormat/metricsPath).
Installation
Option 1: Install from npm (recommended)
npm install -g devpipe-mcpOption 2: Install from source
git clone https://github.com/drewkhoury/devpipe-mcp.git
cd devpipe-mcp
npm install
npm run build
npm linkConfiguration
Add to your MCP configuration file:
Windsurf/Cascade:
~/.codeium/windsurf/mcp_config.jsonClaude Desktop:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"devpipe": {
"command": "npx",
"args": [
"-y",
"devpipe-mcp@latest"
]
}
}
}For Other MCP Clients
The server runs on stdio, so you can connect any MCP client using:
devpipe-mcpUsage
Once configured, you can interact with devpipe through your AI assistant using natural language. The AI will automatically translate your requests into the appropriate tool calls.
📖 Complete Prompting Guide - Learn all the ways to effectively prompt the MCP server
🎯 How to Prompt
The key is to specify which project you want to work with:
"this project" or "this repo" - Uses your current workspace
Project name - e.g., "the devpipe project", "my go-app"
Absolute path - e.g., "/Users/you/projects/my-app"
List Tasks
"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 Pipeline
"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 Configuration
"Validate my devpipe config"
"Check if config.toml is valid"Debug Failures
"Why did the lint task fail?"
"Show me the logs for the build task"
"What went wrong in the last run?"Analyze and Optimize
"Analyze my pipeline configuration"
"Suggest optimizations for my devpipe setup"
"How can I make my pipeline faster?"Create Tasks
"Create a devpipe task for running Go tests"
"Help me add a Python linting task"
"Generate a task configuration for ESLint"Bootstrap New Projects
"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"Working with Multiple Projects
"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"Pro Tip: You don't need to configure anything special - just tell the AI which project you want to work with in your prompt!
Generate CI/CD
"Generate a GitHub Actions workflow for devpipe"
"Create a GitLab CI config from my devpipe setup"Security Review
"Review the security findings from my last run"
"What security issues were found?"
"Analyze SARIF results"MCP Tools
The server provides the following tools:
list_tasks
Parse and list all tasks from a config.toml file.
Parameters:
config(optional): Path to config.toml file
Example:
{
"config": "./config.toml"
}run_pipeline
Execute devpipe with specified flags.
Parameters:
config(optional): Path to config.tomlonly(optional): Array of task IDs to runskip(optional): Array of task IDs to skipsince(optional): Git reference for change-based runsfixType(optional):auto,helper, ornoneui(optional):basicorfulldashboard(optional): Show dashboard viewfailFast(optional): Stop on first failurefast(optional): Skip slow tasksignoreWatchPaths(optional): Ignore watchPaths and run all tasksdryRun(optional): Show what would runverbose(optional): Verbose outputnoColor(optional): Disable colors
Example:
{
"only": ["lint", "test"],
"fast": true,
"failFast": true,
"ignoreWatchPaths": true
}validate_config
Validate devpipe configuration files.
Parameters:
configs(optional): Array of config file paths
Example:
{
"configs": ["config.toml", "config.prod.toml"]
}get_last_run
Get results from the most recent pipeline run.
Parameters:
config(optional): Path to config.toml
view_run_logs
Read logs from a specific task or the entire pipeline.
Parameters:
taskId(optional): Task ID to view logs forconfig(optional): Path to config.toml
Example:
{
"taskId": "lint"
}parse_metrics
Parse JUnit or SARIF metrics files.
Parameters:
metricsPath(required): Path to metrics fileformat(required):junitorsarif
Example:
{
"metricsPath": ".devpipe/runs/latest/metrics.sarif",
"format": "sarif"
}get_dashboard_data
Extract aggregated data from summary.json.
Parameters:
config(optional): Path to config.toml
check_devpipe
Check if devpipe is installed and get version info.
list_tasks_verbose
List tasks using devpipe list --verbose command with execution statistics.
Parameters:
config(optional): Path to config.toml file
Example:
{
"config": "./config.toml"
}Output: Shows task table with average execution times and statistics.
analyze_project
Analyze project directory to detect technologies and suggest missing tasks.
Parameters:
projectPath(optional): Path to project directory (defaults to current)
Example:
{
"projectPath": "/path/to/project"
}Output:
{
"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
Generate task configuration from template for a specific technology or phase header.
Parameters:
technology(required): Technology name (e.g., "Go", "Python", "Node.js", "TypeScript", "Rust") or "phase" for phase headerstaskType(required): Task type (e.g., "check-format", "check-lint", "test-unit", "build") or phase nametaskId(optional): Custom task ID for regular tasks, or description for phase headers
Example (Regular Task):
{
"technology": "Go",
"taskType": "check-lint",
"taskId": "golangci-lint"
}Output:
[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"Example (Phase Header):
{
"technology": "phase",
"taskType": "Validation",
"taskId": "Static analysis and tests"
}Output:
[tasks.phase-validation]
name = "Validation"
desc = "Static analysis and tests"Note: Phase headers have no required fields - they're organizational markers. Common practice is to include name or desc (or both), but neither is strictly required.
Supported Technologies:
Go: check-format, check-lint, check-static, test-unit, build
Python: check-format, check-lint, check-types, test-unit
Node.js: check-lint, test-unit, build
TypeScript: check-types
phase: Creates phase headers (organizational markers, no command/type)
create_config
Create a complete config.toml file from scratch with auto-detected tasks.
Parameters:
projectPath(optional): Path to project directory (defaults to current)includeDefaults(optional): Include [defaults] section (default: true)autoDetect(optional): Auto-detect technologies and generate tasks (default: true)
Example:
{
"projectPath": "/path/to/project",
"includeDefaults": true,
"autoDetect": true
}Output: Complete config.toml with:
Defaults section (outputRoot, fastThreshold=300s, animationRefreshMs=500ms, git settings)
Task defaults (enabled, workdir)
Auto-detected tasks organized by phase
Ready-to-use TOML configuration compatible with devpipe v0.1.0+
Use Case: Bootstrap a new project with devpipe configuration.
Note: Generated configs use devpipe v0.1.0 defaults (fastThreshold=300s, not 5000ms).
get_pipeline_health
Calculate overall pipeline health score with trend analysis, failure rates, and performance metrics. Returns health score (0-100), issues, warnings, and recommendations.
compare_runs
Compare two pipeline runs to identify changes in failures, performance, and metrics.
Parameters:
run1(required): First run ID (e.g.,2024-12-07_20-00-00) orlatestrun2(required): Second run ID orprevious
Returns: New failures, fixed tasks, performance changes, and detailed task comparisons.
predict_impact
Predict which tasks are likely to fail based on changed files and historical patterns.
Returns: Risk scores per task, recommended tasks to run, and suggested devpipe command.
Risk scoring:
WatchPaths matching (40 points)
Historical failure correlation (30 points)
Recent failure rate (30 points)
generate_ci_config
Generate CI/CD configuration file (GitHub Actions or GitLab CI) from devpipe config.
Parameters:
config(optional): Path to config.toml fileplatform(required):githuborgitlab
Example:
{
"config": "./config.toml",
"platform": "github"
}Output (GitHub Actions):
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 Resources
The server exposes these resources:
devpipe://config- Current config.toml contentsdevpipe://tasks- All task definitionsdevpipe://last-run- Most recent run resultsdevpipe://summary- Aggregated pipeline summarydevpipe://schema- JSON Schema for config.toml validation (fetched from official devpipe repo)devpipe://template-dashboard- HTML template for dashboard reports (fetched from devpipe source)devpipe://template-ide- HTML template for IDE-optimized views (fetched from devpipe source)devpipe://releases-latest- Latest devpipe release notes (from GitHub releases)devpipe://releases-all- Complete release history (from GitHub releases)devpipe://readme- Complete devpipe documentation (from GitHub)devpipe://docs-configuration- Official configuration guide (from GitHub)devpipe://docs-examples- Example config.toml with all options (from GitHub)devpipe://docs-cli-reference- CLI commands and flags reference (from GitHub)devpipe://docs-config-validation- Configuration validation rules (from GitHub)devpipe://docs-features- Complete features guide (from GitHub)devpipe://docs-project-root- Project root configuration (from GitHub)devpipe://docs-safety-checks- Safety checks documentation (from GitHub)devpipe://version-info- Installed devpipe version and capabilities (from local binary)devpipe://available-commands- All CLI commands and flags (from local binary)devpipe://git-status- Current git repository status (from local git)devpipe://changed-files- Files changed based on git mode (from local git)devpipe://task-history- Historical task performance across all runs (from local runs)devpipe://metrics-summary- Aggregated test and security metrics (from local runs)devpipe://watchpaths-analysis- Analyze which tasks will run based on watchPaths (from local config + git)devpipe://recent-failures- Recent task failures with error details and patterns (from local runs)devpipe://flakiness-report- Flaky task detection with pass/fail patterns (from local runs)devpipe://performance-regressions- Tasks that have gotten slower over time (from local runs)devpipe://change-correlation- Correlate failures with recent commits and file changes (from local git + runs)
MCP Prompts
Pre-configured prompts for common workflows:
mcp-info
Get information about this MCP server version and devpipe compatibility. Shows supported field names, run structure, and upgrade guidance.
analyze-config
Analyze the devpipe configuration and suggest improvements.
debug-failure
Help debug why a specific task failed.
Arguments:
taskId(required): The task that failed
optimize-pipeline
Suggest optimizations for the pipeline.
create-task
Help create a new task for a technology.
Arguments:
technology(required): Technology name (e.g., "Go", "Python")taskType(optional):check,build, ortest
security-review
Review SARIF security findings and provide recommendations.
configure-metrics
Help configure JUnit, SARIF, or artifact metrics for a task. Provides guidance on proper metricsFormat and metricsPath configuration.
Examples
See EXAMPLES.md for detailed usage examples and workflows.
Quick Example
User: "Run my devpipe pipeline with fast mode"
Assistant: *Uses run_pipeline tool with { "fast": true }*
Result: Pipeline executes, skipping slow tasksDevelopment
Building from Source
git clone https://github.com/drewkhoury/devpipe-mcp.git
cd devpipe-mcp
npm install
npm run buildProject Structure
devpipe-mcp/
├── src/
│ ├── index.ts # Main MCP server
│ ├── types.ts # Type definitions
│ └── utils.ts # Utility functions
├── examples/ # Example configs
├── dist/ # Compiled output
└── README.mdWatch Mode
npm run watchTroubleshooting
devpipe not found
If you get "devpipe not found" errors:
# Install devpipe
brew install drewkhoury/tap/devpipe
# Verify installation
devpipe --versionConfig file not found
The MCP server searches for config.toml in:
Current directory
Parent directories (up to root)
You can also specify the config path explicitly in tool calls.
Permission errors
Ensure the MCP server has permission to:
Read config files
Execute devpipe commands
Access the
.devpipeoutput directory
Contributing
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
License
MIT License - see LICENSE file for details.
Related Projects
devpipe - The pipeline runner this MCP server integrates with
Model Context Protocol - The protocol specification
Support
Issues: GitHub Issues
Discussions: GitHub Discussions
devpipe: devpipe GitHub
Changelog
See CHANGELOG.md for version history and changes.
Available Tools
13 toolsanalyze_projectC
Analyze project directory to detect technologies and suggest missing tasks.
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | No | Path to project directory to analyze (defaults to current directory) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool analyzes and suggests, but doesn't describe what 'analyze' entails (e.g., file scanning, dependency parsing), potential side effects (e.g., no changes made), performance considerations (e.g., time-intensive for large directories), or output format. This is inadequate for a tool with no annotation coverage, leaving key behavioral traits unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence: 'Analyze project directory to detect technologies and suggest missing tasks.' It is front-loaded with the core purpose and avoids unnecessary details. However, it could be slightly more structured by separating the two outcomes (detection and suggestion) for clarity, but overall it's concise and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of analysis tasks, lack of annotations, and no output schema, the description is incomplete. It doesn't explain what 'technologies' are detected (e.g., programming languages, frameworks), how 'missing tasks' are suggested (e.g., based on best practices), or the return format. For a tool with no structured behavioral or output information, this leaves significant gaps for an AI agent to understand and use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the single parameter 'projectPath' documented as 'Path to project directory to analyze (defaults to current directory).' The description adds no additional meaning beyond this, such as path format requirements or validation rules. Since schema coverage is high, the baseline score of 3 is appropriate, as the description doesn't compensate but doesn't need to given the schema's completeness.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Analyze project directory to detect technologies and suggest missing tasks.' It specifies the verb ('analyze'), resource ('project directory'), and outcomes ('detect technologies and suggest missing tasks'). However, it doesn't explicitly distinguish this from sibling tools like 'check_devpipe' or 'validate_config', which might have overlapping analysis functions, so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context (e.g., use for initial project setup or periodic reviews), or exclusions (e.g., not for real-time monitoring). With many sibling tools like 'check_devpipe' and 'validate_config', the lack of differentiation leaves the agent guessing about appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_devpipeB
Check if devpipe is installed and get version information.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool checks installation status and retrieves version info, but doesn't describe how it performs the check (e.g., local command execution, API call), what happens if devpipe is not installed (e.g., returns error or null), or any side effects like network calls or permissions needed. This leaves significant gaps for a tool that likely interacts with external systems.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence: 'Check if devpipe is installed and get version information.' It is front-loaded with the core purpose, has zero wasted words, and is appropriately sized for a simple diagnostic tool. Every part of the sentence contributes directly to understanding the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's likely complexity (checking external installation and versioning) and the lack of annotations and output schema, the description is incomplete. It doesn't explain what the output looks like (e.g., version string, boolean status, error messages), how it handles failures, or any dependencies. For a tool that interacts with an external component like devpipe, more context is needed to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and the input schema has 100% description coverage (though empty). With no parameters, the description doesn't need to add semantic details beyond what the schema provides. The baseline for 0 parameters is 4, as the description adequately covers the tool's intent without parameter-related gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Check if devpipe is installed and get version information.' It specifies the verb ('check') and resource ('devpipe') with the additional action of retrieving version information. However, it doesn't explicitly differentiate this from sibling tools like 'validate_config' or 'run_pipeline' that might also interact with devpipe in different ways.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., whether devpipe needs to be accessible), exclusions, or suggest sibling tools for related tasks like 'run_pipeline' for execution or 'validate_config' for configuration checks. Usage is implied only by the purpose statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_configB
Create a complete config.toml file from scratch with auto-detected tasks based on project technologies.
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | No | Path to project directory (defaults to current directory) | |
| includeDefaults | No | Include [defaults] section with recommended settings (default: true) | |
| autoDetect | No | Auto-detect technologies and generate tasks (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions 'auto-detected tasks based on project technologies' but doesn't disclose behavioral traits like what happens if the file already exists, whether this is a destructive operation, what permissions are needed, or what the output format looks like. The description is insufficient for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose ('Create a complete config.toml file from scratch') and adds essential context ('with auto-detected tasks based on project technologies'). Every word earns its place with zero waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool that creates files with 3 parameters and no annotations or output schema, the description is incomplete. It doesn't cover error conditions, side effects, return values, or how the auto-detection works. Given the complexity and lack of structured data, more behavioral context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters with their types and defaults. The description adds no additional parameter semantics beyond what's in the schema, such as explaining how 'autoDetect' interacts with 'projectPath' or what 'includeDefaults' actually includes. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Create a complete config.toml file from scratch') and resource ('config.toml file'), distinguishing it from siblings like 'validate_config' or 'generate_ci_config' by focusing on initial file creation with auto-detection capabilities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for initial setup ('from scratch') and auto-detection based on project technologies, but doesn't explicitly state when to use this tool versus alternatives like 'validate_config' for existing files or 'generate_task' for individual tasks. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_ci_configC
Generate CI/CD configuration file (GitHub Actions or GitLab CI) from devpipe config.
| Name | Required | Description | Default |
|---|---|---|---|
| config | No | Path to config.toml file | |
| platform | Yes | CI/CD platform to generate config for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool generates files but doesn't cover critical aspects: whether it overwrites existing files, requires specific permissions, has rate limits, or what the output looks like (e.g., file creation vs. content return). For a tool that likely writes configuration files, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose without unnecessary details. It uses precise terminology ('CI/CD configuration file', 'devpipe config') and avoids redundancy. Every word earns its place, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of generating CI/CD configurations and the lack of annotations or output schema, the description is incomplete. It doesn't explain the tool's behavior (e.g., file output format, error handling), return values, or integration with siblings. For a tool with 2 parameters and no structured output, more context is needed to ensure reliable agent usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with clear parameter definitions: 'config' as a path to a TOML file and 'platform' as an enum for GitHub or GitLab. The description adds no additional semantic context beyond what the schema provides, such as example usage or constraints. With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Generate CI/CD configuration file (GitHub Actions or GitLab CI) from devpipe config.' It specifies the verb ('Generate'), resource ('CI/CD configuration file'), and source ('from devpipe config'), distinguishing it from siblings like 'create_config' or 'run_pipeline'. However, it doesn't explicitly differentiate from all siblings, such as 'generate_task', which might have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a devpipe config file), exclusions (e.g., not for other CI platforms), or compare to siblings like 'create_config' or 'validate_config'. This lack of context leaves the agent to infer usage based on the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_taskB
Generate task configuration from template for a specific technology and task type. Use technology="phase" to create phase headers.
| Name | Required | Description | Default |
|---|---|---|---|
| technology | Yes | Technology name (e.g., "Go", "Python", "Node.js", "TypeScript", "Rust") or "phase" for phase headers | |
| taskType | Yes | Task type (e.g., "check-format", "check-lint", "test-unit", "build") or phase name (e.g., "Validation", "Build") | |
| taskId | No | Optional: custom task ID for regular tasks, or description for phase headers |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool generates configuration but doesn't clarify whether this is a read-only operation, if it modifies existing data, what permissions are required, or what the output format looks like. For a configuration generation tool with zero annotation coverage, this leaves significant behavioral gaps unaddressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with two sentences that are front-loaded with the core purpose. The second sentence adds specific usage guidance without redundancy. It avoids unnecessary elaboration, though it could be slightly more structured for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no annotations and no output schema, the description is incomplete. It doesn't explain what the generated configuration looks like, how it's returned, or any behavioral traits like error handling. For a tool that presumably outputs structured data, this lack of context makes it inadequate for full understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description adds minimal value by hinting at the 'technology="phase"' use case, but doesn't provide additional syntax, format details, or examples beyond what the schema specifies. This meets the baseline for high schema coverage without enhancing parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Generate task configuration from template') and specifies the resource ('for a specific technology and task type'), making the purpose understandable. It distinguishes itself from siblings like 'create_config' or 'generate_ci_config' by focusing on task-level configuration rather than broader project or CI setup. However, it doesn't explicitly differentiate from 'list_tasks' or 'run_pipeline', leaving some ambiguity about scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage guidance by mentioning 'Use technology="phase" to create phase headers,' which suggests a specific scenario for this parameter value. However, it lacks explicit when-to-use instructions compared to alternatives like 'create_config' or 'generate_ci_config', and doesn't mention prerequisites or exclusions. The guidance is helpful but incomplete for full context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dashboard_dataC
Extract aggregated data from summary.json or the HTML dashboard, including overall run statistics and metrics.
| Name | Required | Description | Default |
|---|---|---|---|
| config | No | Path to config.toml file to determine output directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool extracts data but doesn't specify whether this is a read-only operation, what permissions are required, how it handles missing files, or any rate limits. For a tool that likely reads files, this lack of behavioral context is a significant gap, though it doesn't contradict any annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the key action ('Extract aggregated data') and specifies sources and content. There's no wasted verbiage, and it directly communicates the tool's function without redundancy. However, it could be slightly more structured by explicitly mentioning the output type or usage context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no annotations, no output schema, and a simple input schema, the description is minimally adequate. It covers what data is extracted and from where, but lacks details on behavioral traits, error handling, or output format. For a tool with low complexity, this is acceptable but leaves gaps that could hinder effective agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the single parameter 'config' documented as 'Path to config.toml file to determine output directory'. The description adds no additional parameter semantics beyond this, such as default behavior if no config is provided or details on file formats. With high schema coverage, the baseline score of 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Extract' and the resource 'aggregated data from summary.json or the HTML dashboard', specifying it includes 'overall run statistics and metrics'. This distinguishes it from siblings like 'get_last_run' or 'view_run_logs' by focusing on aggregated dashboard data rather than individual runs or logs. However, it doesn't explicitly differentiate from 'parse_metrics', which might overlap in analyzing metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, such as needing a prior run to have generated the dashboard files, or compare it to siblings like 'parse_etrics' or 'get_last_run'. There's no explicit when-to-use or when-not-to-use context, leaving the agent to infer usage based on the purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_last_runC
Get results and metadata from the most recent devpipe run, including task results, duration, and success status.
| Name | Required | Description | Default |
|---|---|---|---|
| config | No | Path to config.toml file to determine output directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It describes what the tool returns but lacks critical behavioral details: it doesn't specify what happens if no recent run exists (e.g., error or empty response), whether it requires specific permissions or authentication, or any rate limits. The description covers the basic operation but misses key context needed for reliable use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that efficiently conveys the tool's purpose and key return values. It is front-loaded with the main action ('Get results and metadata'), followed by specifics, with zero wasted words. Every part of the sentence adds value, making it appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (retrieving run data), lack of annotations, and no output schema, the description is incomplete. It doesn't explain the return format (e.g., structure of results/metadata), error conditions, or dependencies. For a tool that likely returns structured data about pipeline runs, more context is needed to use it effectively without trial and error.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the single parameter 'config' documented as 'Path to config.toml file to determine output directory'. The description adds no additional parameter information beyond what the schema provides. According to the rules, with high schema coverage (>80%), the baseline is 3 even with no param info in the description, which applies here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get results and metadata from the most recent devpipe run' with specific details about what it returns ('task results, duration, and success status'). It distinguishes itself from siblings like 'view_run_logs' by focusing on results/metadata rather than logs, and from 'list_tasks' by targeting the most recent run rather than listing tasks. However, it doesn't explicitly differentiate from all siblings (e.g., 'check_devpipe' might overlap).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when this tool is appropriate versus 'view_run_logs' (for logs), 'list_tasks' (for task listings), or 'check_devpipe' (which might serve a similar purpose). There's also no mention of prerequisites like needing a recent run to exist. Usage is implied from the purpose but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tasksA
Parse and list all tasks from a devpipe config.toml file. Shows task IDs, names, types, commands, and enabled status.
| Name | Required | Description | Default |
|---|---|---|---|
| config | No | Path to config.toml file. If not provided, searches for config.toml in current directory and parent directories. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the tool's behavior (parsing and listing tasks with specific fields) but lacks details on error handling, file format expectations, or performance characteristics. It adds basic context but misses deeper behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with zero waste, front-loading the core purpose and following with output details. Every word contributes to understanding the tool's function efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a simple input schema, the description is adequate for a basic read operation but lacks completeness. It explains what the tool does but not the return format, error cases, or dependencies, leaving gaps for an agent to infer behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents the single parameter. The description does not add any parameter-specific information beyond what the schema provides, such as file format details or validation rules, meeting the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Parse and list all tasks'), resource ('from a devpipe config.toml file'), and output details ('Shows task IDs, names, types, commands, and enabled status'). It distinguishes from siblings like 'list_tasks_verbose' by specifying the exact fields shown.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (working with devpipe config files) but does not explicitly state when to use this tool versus alternatives like 'list_tasks_verbose' or 'analyze_project'. It provides clear intent but lacks explicit comparison or exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tasks_verboseC
List tasks using devpipe list --verbose command. Shows task execution statistics and averages.
| Name | Required | Description | Default |
|---|---|---|---|
| config | No | Path to config.toml file |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'Shows task execution statistics and averages,' which adds some context about output behavior, but it doesn't cover critical aspects like whether this is a read-only operation, potential rate limits, authentication needs, or what happens if the config parameter is omitted. The description is insufficient for a tool with no annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences that are front-loaded: the first states the action, and the second adds output details. There is no wasted text, making it efficient, though it could be slightly more structured to improve clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of listing tasks with verbose output, no annotations, and no output schema, the description is incomplete. It lacks details on return values, error handling, or how the 'verbose' aspect differs from non-verbose alternatives. For a tool with no structured support, more context is needed to guide effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with one parameter ('config') clearly documented in the schema. The description does not add any meaning beyond what the schema provides, as it doesn't explain the parameter's role or usage. With high schema coverage, the baseline score of 3 is appropriate, as the schema handles the parameter documentation adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool 'List tasks using devpipe list --verbose command' which provides a verb ('List') and resource ('tasks'), but it's vague about what 'tasks' specifically refers to in this context. It doesn't clearly distinguish from sibling tools like 'list_tasks' (without 'verbose'), leaving ambiguity about the difference between them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It doesn't mention when to choose 'list_tasks_verbose' over 'list_tasks' or other sibling tools like 'get_dashboard_data' or 'view_run_logs', nor does it specify any prerequisites or exclusions for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parse_metricsB
Parse JUnit or SARIF metrics from a devpipe run to analyze test results or security findings.
| Name | Required | Description | Default |
|---|---|---|---|
| metricsPath | Yes | Path to metrics file (JUnit XML or SARIF JSON) | |
| format | Yes | Metrics format |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions parsing and analyzing metrics, which implies a read-only operation, but doesn't specify whether it requires authentication, has rate limits, or what the output looks like (e.g., structured data or summary). For a tool with no annotations, this leaves significant gaps in understanding its behavior and constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the key action ('parse') and context ('devpipe run'), with no wasted words. It directly states the purpose and supported formats, making it easy for an agent to quickly grasp the tool's function without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 required parameters, no output schema, no annotations), the description is adequate but incomplete. It covers the basic purpose and formats, but lacks details on output behavior, error handling, or integration with sibling tools. Without annotations or output schema, the agent might struggle to fully understand how to use this tool effectively in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, clearly documenting both parameters (metricsPath and format with enum values). The description adds minimal value beyond the schema by mentioning the file types (JUnit XML or SARIF JSON) and the context of 'devpipe run', but doesn't provide additional syntax, format details, or usage examples. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: parsing metrics from devpipe runs to analyze test results or security findings. It specifies the verb 'parse' and the resource 'metrics', and mentions the source formats (JUnit XML or SARIF JSON). However, it doesn't explicitly differentiate from sibling tools like 'get_dashboard_data' or 'view_run_logs', which might also handle devpipe data, so it doesn't reach the highest clarity level.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by mentioning 'devpipe run' and the specific formats (JUnit or SARIF), suggesting it should be used when analyzing test or security metrics from such runs. However, it doesn't provide explicit guidance on when to use this tool versus alternatives like 'get_last_run' or 'analyze_project', nor does it state any exclusions or prerequisites, leaving some ambiguity for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_pipelineC
Execute devpipe with specified configuration and flags. Runs the development pipeline and returns results.
| Name | Required | Description | Default |
|---|---|---|---|
| config | No | Path to config.toml file | |
| only | No | Run only specific tasks (can specify multiple) | |
| skip | No | Skip specific tasks (can specify multiple) | |
| since | No | Git reference to run checks on changes since (e.g., HEAD, main, origin/main) | |
| fixType | No | How to handle auto-fixable issues: auto (fix automatically), helper (show fix command), none (no fixes) | |
| ui | No | UI mode: basic (simple output) or full (animated progress) | |
| dashboard | No | Show dashboard view in terminal | |
| failFast | No | Stop execution on first failure | |
| fast | No | Skip tasks that take longer than fastThreshold | |
| dryRun | No | Show what would be executed without running | |
| verbose | No | Enable verbose output | |
| noColor | No | Disable colored output |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions execution and returning results, but lacks critical details: whether this is a long-running process, if it requires specific permissions, potential side effects (e.g., modifying files), error handling, or performance characteristics. For a complex execution tool with 12 parameters, this is inadequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with zero waste. The first sentence states the core action with key parameters, the second clarifies the execution nature and outcome. Every word earns its place without redundancy or unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex execution tool with 12 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what 'devpipe' is, what kind of results are returned, error conditions, or execution context. The agent lacks critical information to use this tool effectively despite the comprehensive parameter schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, providing detailed documentation for all 12 parameters. The description adds minimal value beyond the schema, only vaguely referencing 'configuration and flags' without explaining parameter relationships or usage patterns. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Execute', 'Runs') and resource ('devpipe', 'development pipeline'), specifying it's for execution with configuration and flags. It distinguishes from siblings like 'check_devpipe' (validation) or 'list_tasks' (enumeration) by focusing on execution, though it doesn't explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives is provided. The description doesn't mention prerequisites, when to choose this over 'check_devpipe' for validation, or when to use 'dryRun' mode versus actual execution. It simply states what the tool does without contextual usage advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_configB
Validate one or more devpipe config.toml files for syntax and structure errors.
| Name | Required | Description | Default |
|---|---|---|---|
| configs | No | Paths to config files to validate. If not provided, validates config.toml in current directory. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool validates for 'syntax and structure errors,' which implies a read-only, non-destructive operation, but doesn't confirm this explicitly. It lacks details on permissions, rate limits, output format, or error handling, leaving gaps in understanding how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose without unnecessary details. It uses clear language and avoids redundancy, making it easy to parse quickly. Every word earns its place, adhering to best practices for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (validation of config files), lack of annotations, and no output schema, the description is minimally adequate. It covers what the tool does but misses behavioral context and usage guidance. For a tool with no structured safety or output information, it should provide more completeness, such as explaining return values or error conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'configs' parameter fully documented in the schema. The description adds minimal value beyond the schema, as it doesn't elaborate on parameter usage, constraints, or examples. With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate with additional semantic insights.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Validate one or more devpipe config.toml files for syntax and structure errors.' It specifies the verb (validate), resource (devpipe config.toml files), and scope (syntax and structure errors). However, it doesn't explicitly differentiate from sibling tools like 'check_devpipe' or 'analyze_project', which might have overlapping validation functions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'check_devpipe' or 'analyze_project', nor does it specify prerequisites, exclusions, or contextual cues for selection. The agent must infer usage based on the tool name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
view_run_logsC
Read logs from a specific task or the entire pipeline from the most recent run.
| Name | Required | Description | Default |
|---|---|---|---|
| taskId | No | Task ID to view logs for. If not provided, returns the pipeline.log. | |
| config | No | Path to config.toml file to determine output directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'Read logs' and 'from the most recent run', implying a read-only operation focused on recent data, but it doesn't cover critical aspects like permissions needed, rate limits, pagination, error handling, or what the logs contain (e.g., format, verbosity). This leaves significant gaps for an agent to understand how to interact with the tool effectively.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core action ('Read logs') and scope ('from a specific task or the entire pipeline from the most recent run'). There is no wasted text, and it directly communicates the essential information without redundancy or unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of log retrieval (which can involve permissions, data formats, and error cases), no annotations, and no output schema, the description is insufficient. It lacks details on what the logs contain, how they're structured, potential errors, or dependencies on other tools like 'get_last_run'. For a tool with two parameters and behavioral nuances, this minimal description doesn't provide enough context for reliable agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear descriptions for both parameters: 'taskId' specifies it's for viewing logs for a task or defaults to pipeline.log, and 'config' indicates it determines the output directory. The description adds marginal value by implying the scope ('specific task or entire pipeline') but doesn't provide additional syntax, format details, or examples beyond what the schema already documents, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Read logs') and resource ('from a specific task or the entire pipeline'), making the purpose understandable. However, it doesn't explicitly distinguish this tool from potential sibling tools like 'get_last_run' or 'parse_metrics', which might also involve run-related data, leaving some ambiguity about its unique role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal guidance by mentioning 'from a specific task or the entire pipeline', but it doesn't specify when to use this tool versus alternatives like 'get_last_run' (which might provide run status) or 'parse_metrics' (which could handle log analysis). No explicit when-not-to-use or prerequisite information is included, limiting its utility for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
13 tool updates
v1.0.0- First observed
analyze_project - First observed
check_devpipe - First observed
create_config - First observed
generate_ci_config - First observed
generate_task - First observed
get_dashboard_data - First observed
get_last_run - First observed
list_tasks - First observed
list_tasks_verbose - First observed
parse_metrics - First observed
run_pipeline - First observed
validate_config - First observed
view_run_logs
TDQS
Most tools have distinct purposes, but list_tasks and list_tasks_verbose overlap significantly, as both list tasks with the latter providing more detail. This could cause confusion for an agent deciding which to use. Otherwise, tools like analyze_project, create_config, and run_pipeline are clearly differentiated.
All tool names follow a consistent snake_case pattern with clear verb_noun structures, such as analyze_project, create_config, and run_pipeline. There are no deviations in naming conventions, making the set predictable and easy to understand.
With 13 tools, the count is well-scoped for a devpipe server covering configuration, execution, monitoring, and analysis. Each tool serves a specific role in the pipeline lifecycle, from setup to reporting, without feeling excessive or insufficient.
The tool set provides comprehensive coverage for devpipe operations, including configuration creation, validation, task listing, pipeline execution, and result analysis. There are no obvious gaps; it supports the full lifecycle from setup to post-run diagnostics and reporting.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Plan Salesforce deploys, open pull requests and trigger pipelines from your AI client.
Develop, manage, and debug Railway projects, services, and deployments from within agents.
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
- mcpOAuthcom.vibgrate
Query your team's drift, vulnerability, and upgrade data from any AI assistant. OAuth 2.1, 51 tools.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI assistants to interact with DDEV local development environments by querying databases, managing project states, and executing container commands. It provides comprehensive control over local services with a security-first approach using whitelisted operations.5393GPL 2.0
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to query and manage GoCD pipelines, stages, and jobs through the Model Context Protocol. It allows users to trigger builds, analyze failures, and access build logs or artifacts using the GoCD REST API.2892MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to perform DevOps tasks including Kubernetes management, cloud provider operations, CI/CD, security scanning, and infrastructure monitoring through natural language.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to interact with Azure DevOps APIs for managing projects, work items, repositories, pull requests, and pipelines through natural language.19MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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