Skip to main content
Glama

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/devpipe

    Note: This MCP requires devpipe v0.2.0+ which uses outputType/outputPath fields (renamed from metricsFormat/metricsPath).

Installation

npm install -g devpipe-mcp

Option 2: Install from source

git clone https://github.com/drewkhoury/devpipe-mcp.git
cd devpipe-mcp
npm install
npm run build
npm link

Configuration

Add to your MCP configuration file:

  • Windsurf/Cascade: ~/.codeium/windsurf/mcp_config.json

  • Claude 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-mcp

Usage

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.toml

  • only (optional): Array of task IDs to run

  • skip (optional): Array of task IDs to skip

  • since (optional): Git reference for change-based runs

  • fixType (optional): auto, helper, or none

  • ui (optional): basic or full

  • dashboard (optional): Show dashboard view

  • failFast (optional): Stop on first failure

  • fast (optional): Skip slow tasks

  • ignoreWatchPaths (optional): Ignore watchPaths and run all tasks

  • dryRun (optional): Show what would run

  • verbose (optional): Verbose output

  • noColor (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 for

  • config (optional): Path to config.toml

Example:

{
  "taskId": "lint"
}

parse_metrics

Parse JUnit or SARIF metrics files.

Parameters:

  • metricsPath (required): Path to metrics file

  • format (required): junit or sarif

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 headers

  • taskType (required): Task type (e.g., "check-format", "check-lint", "test-unit", "build") or phase name

  • taskId (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) or latest

  • run2 (required): Second run ID or previous

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 file

  • platform (required): github or gitlab

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 contents

  • devpipe://tasks - All task definitions

  • devpipe://last-run - Most recent run results

  • devpipe://summary - Aggregated pipeline summary

  • devpipe://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, or test

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 tasks

Development

Building from Source

git clone https://github.com/drewkhoury/devpipe-mcp.git
cd devpipe-mcp
npm install
npm run build

Project Structure

devpipe-mcp/
├── src/
│   ├── index.ts       # Main MCP server
│   ├── types.ts       # Type definitions
│   └── utils.ts       # Utility functions
├── examples/          # Example configs
├── dist/              # Compiled output
└── README.md

Watch Mode

npm run watch

Troubleshooting

devpipe not found

If you get "devpipe not found" errors:

# Install devpipe
brew install drewkhoury/tap/devpipe

# Verify installation
devpipe --version

Config file not found

The MCP server searches for config.toml in:

  1. Current directory

  2. 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 .devpipe output directory

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

License

MIT License - see LICENSE file for details.

Support

Changelog

See CHANGELOG.md for version history and changes.

Available Tools

13 tools
analyze_projectC

Analyze project directory to detect technologies and suggest missing tasks.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathNoPath to project directory to analyze (defaults to current directory)

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathNoPath to project directory (defaults to current directory)
includeDefaultsNoInclude [defaults] section with recommended settings (default: true)
autoDetectNoAuto-detect technologies and generate tasks (default: true)

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
configNoPath to config.toml file
platformYesCI/CD platform to generate config for

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
technologyYesTechnology name (e.g., "Go", "Python", "Node.js", "TypeScript", "Rust") or "phase" for phase headers
taskTypeYesTask type (e.g., "check-format", "check-lint", "test-unit", "build") or phase name (e.g., "Validation", "Build")
taskIdNoOptional: custom task ID for regular tasks, or description for phase headers

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
configNoPath to config.toml file to determine output directory

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
configNoPath to config.toml file to determine output directory

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
configNoPath to config.toml file. If not provided, searches for config.toml in current directory and parent directories.

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
configNoPath to config.toml file

TDQS

C2.6/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
metricsPathYesPath to metrics file (JUnit XML or SARIF JSON)
formatYesMetrics format

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
configNoPath to config.toml file
onlyNoRun only specific tasks (can specify multiple)
skipNoSkip specific tasks (can specify multiple)
sinceNoGit reference to run checks on changes since (e.g., HEAD, main, origin/main)
fixTypeNoHow to handle auto-fixable issues: auto (fix automatically), helper (show fix command), none (no fixes)
uiNoUI mode: basic (simple output) or full (animated progress)
dashboardNoShow dashboard view in terminal
failFastNoStop execution on first failure
fastNoSkip tasks that take longer than fastThreshold
dryRunNoShow what would be executed without running
verboseNoEnable verbose output
noColorNoDisable colored output

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
configsNoPaths to config files to validate. If not provided, validates config.toml in current directory.

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskIdNoTask ID to view logs for. If not provided, returns the pipeline.log.
configNoPath to config.toml file to determine output directory

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

  1. 13 tool updatesv1.0.0
    • First observedanalyze_project
    • First observedcheck_devpipe
    • First observedcreate_config
    • First observedgenerate_ci_config
    • First observedgenerate_task
    • First observedget_dashboard_data
    • First observedget_last_run
    • First observedlist_tasks
    • First observedlist_tasks_verbose
    • First observedparse_metrics
    • First observedrun_pipeline
    • First observedvalidate_config
    • First observedview_run_logs

TDQS

A3.5/5.0
Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness5/5

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

ActivityInactive
ResponsivenessNo issues

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

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables 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.
    5
    39
    3
    GPL 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables 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.
    289
    2
    MIT

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