Chiro ERP - Issue Pipeline Orchestrator
Automates GitHub issue-to-PR workflows through a multi-stage pipeline with AI agents that analyze requirements, design solutions, implement code, generate tests, and perform code reviews, creating pull requests from labeled issues.
Enables automated pipeline execution triggered by issue labels, processing issues through the complete development workflow via GitHub Actions integration.
Powers role-based AI agents (Analyst, Architect, Developer, Tester, Reviewer) that drive the automated software development pipeline stages using OpenAI's API.
Click on "Deploy 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., "@Chiro ERP - Issue Pipeline Orchestratorprocess issue #42 automatically"
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.
Chiro ERP - Issue Pipeline Orchestrator
MCP Server for automated issue-to-PR pipeline with role-based AI agents.
Overview
This MCP server automates the software development workflow by processing GitHub issues through a multi-stage pipeline with specialized AI agents:
Analyst Agent: Analyzes requirements and creates user stories
Architect Agent: Designs technical solutions following DDD/CQRS patterns
Developer Agent: Implements features in C#
Tester Agent: Creates comprehensive tests
Reviewer Agent: Reviews code for quality and compliance
Related MCP server: GitPilot MCP
Features
๐ค Automated issue-to-PR workflow
๐ฏ Role-based AI agents with domain expertise
๐๏ธ Architecture-aware (follows your ADRs and patterns)
๐ HIPAA compliance checks
๐งช Automatic test generation
๐ Code review automation
๐๏ธ Human approval gates for complex changes
๐ Complexity analysis
๐ Retry and approval mechanisms
Setup
1. Install Dependencies
cd mcp-servers/issue-pipeline-orchestrator
npm install2. Configure Environment
Copy .env.example to .env and fill in your credentials:
cp .env.example .envRequired environment variables:
GITHUB_TOKEN: GitHub Personal Access Token with repo accessGITHUB_OWNER: Your GitHub username or organizationGITHUB_REPO: Repository nameOPENAI_API_KEY: OpenAI API key
3. Build
npm run build4. Configure MCP in VS Code
Add to your VS Code settings (.vscode/settings.json):
{
"mcpServers": {
"chiro-erp-pipeline": {
"command": "node",
"args": [
"c:/Users/PC/coding/mvp/mcp-servers/issue-pipeline-orchestrator/dist/index.js"
],
"env": {
"GITHUB_TOKEN": "your_token",
"GITHUB_OWNER": "your_username",
"GITHUB_REPO": "mvp",
"OPENAI_API_KEY": "your_key"
}
}
}
}Usage
Process an Issue Automatically
// In GitHub Copilot Chat
@workspace /tools process_issue --issueNumber 42Check Pipeline Status
@workspace /tools get_pipeline_status --issueNumber 42Analyze Issue Complexity
@workspace /tools analyze_issue_complexity --issueNumber 42Approve a Stage
@workspace /tools approve_pipeline_stage --issueNumber 42 --stage "architecture" --approved trueRetry a Failed Stage
@workspace /tools retry_pipeline_stage --issueNumber 42 --stage "implementation"GitHub Actions Integration
Create .github/workflows/auto-pipeline.yml:
name: Automated Issue Pipeline
on:
issues:
types: [labeled]
jobs:
auto-implement:
if: contains(github.event.issue.labels.*.name, 'auto-implement')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '20'
- name: Install MCP Server
run: |
cd mcp-servers/issue-pipeline-orchestrator
npm install
npm run build
- name: Process Issue
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_OWNER: ${{ github.repository_owner }}
GITHUB_REPO: ${{ github.event.repository.name }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
run: |
node mcp-servers/issue-pipeline-orchestrator/dist/index.js << EOF
{
"method": "tools/call",
"params": {
"name": "process_issue",
"arguments": {
"issueNumber": ${{ github.event.issue.number }}
}
}
}
EOFPipeline Stages
1. Analysis (Analyst Agent)
Extracts requirements from issue
Creates user stories
Defines acceptance criteria
Identifies dependencies
2. Architecture (Architect Agent)
Designs technical solution
Follows DDD/CQRS patterns
Updates ADRs if needed
Defines integration points
3. Implementation (Developer Agent)
Generates C# code
Follows project structure
Implements CQRS handlers
Creates domain events
4. Testing (Tester Agent)
Generates unit tests
Creates integration tests
Ensures test coverage
Tests edge cases
5. Code Review (Reviewer Agent)
Reviews code quality
Checks security issues
Validates HIPAA compliance
Provides feedback
Complexity Scoring
The system automatically analyzes issues and assigns complexity scores:
Low (0-4): Simple bugs, minor enhancements - auto-implement
Medium (5-9): Standard features - auto-implement with review
High (10+): Complex changes - requires human oversight
Human Approval Gates
Approval is automatically required for:
Breaking changes
Architectural decisions
Security-sensitive code
HIPAA compliance implications
High complexity scores
Customization
Adding New Agent Roles
Edit src/agents/roles.ts:
export const AGENT_ROLES: Record<string, AgentRole> = {
// ... existing roles
myCustomAgent: {
name: "My Custom Agent",
description: "Does something specific",
systemPrompt: "You are...",
tools: ["tool1", "tool2"],
maxTokens: 2000,
temperature: 0.3
}
};Modifying Pipeline Stages
Edit src/orchestrator.ts in the initializePipeline method.
Troubleshooting
Pipeline Stuck
Check the pipeline status and use retry:
@workspace /tools retry_pipeline_stage --issueNumber 42 --stage "implementation"Rate Limits
The system respects GitHub and OpenAI rate limits. If you hit limits:
Reduce parallel processing
Add delays between stages
Use a higher-tier OpenAI plan
Agent Errors
Check agent outputs in GitHub issue comments. Common issues:
Insufficient context
Ambiguous requirements
Missing dependencies
Best Practices
Label Issues Appropriately: Use labels like
auto-implement,bug,enhancementto help complexity analysisClear Issue Descriptions: Provide detailed requirements and acceptance criteria
Review Generated PRs: Even with automation, human review is valuable
Start Small: Begin with simple issues to calibrate the system
Monitor Costs: Track OpenAI API usage as complex issues can use significant tokens
Security
Never commit
.envfileUse GitHub Secrets for CI/CD
Rotate tokens regularly
Review security-sensitive changes manually
License
MIT
Available Tools
7 toolsanalyze_issue_complexityC
Analyze an issue and determine its complexity score and recommended approach
| Name | Required | Description | Default |
|---|---|---|---|
| issueNumber | Yes | The GitHub issue number to analyze |
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 the tool will 'determine' complexity and provide recommendations, but doesn't describe how this analysis works, what data sources it uses, whether it makes API calls, what permissions are required, or what the output format looks like. This leaves significant behavioral gaps for a tool that presumably performs analysis.
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 clearly states the tool's purpose. Every word earns its place with no redundancy or unnecessary elaboration. It's appropriately sized for a tool with one parameter and straightforward purpose.
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 an analysis tool with no annotations and no output schema, the description is insufficient. It doesn't explain what the complexity score means (scale, factors considered), what format the recommended approach takes, or what happens during analysis. The agent would need to guess about the tool's behavior and output format.
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 the single parameter 'issueNumber' well-documented in the schema. The description doesn't add any parameter-specific information beyond what's already in the schema, so it meets the baseline for high schema coverage without adding extra value.
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 with a specific verb ('analyze') and resource ('issue'), and indicates what it produces ('complexity score and recommended approach'). However, it doesn't differentiate from sibling tools like 'process_issue' or explain how this analysis differs from general issue processing.
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. With sibling tools like 'process_issue' and 'list_github_mcp_tools' available, there's no indication of when complexity analysis is appropriate versus other issue-related operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
approve_pipeline_stageC
Approve a pipeline stage that requires human review
| Name | Required | Description | Default |
|---|---|---|---|
| issueNumber | Yes | The GitHub issue number | |
| stage | Yes | The pipeline stage to approve | |
| approved | Yes | Whether to approve or reject | |
| comments | No | Optional feedback or instructions |
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 implies a mutation action ('Approve') but doesn't mention permissions needed, side effects, rate limits, or what happens upon approval/rejection. This is inadequate for a tool that likely changes system state.
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 directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded with the core action.
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 with no annotations and no output schema, the description is insufficient. It doesn't explain what 'approve' entails operationally, potential impacts, or return values. Given the complexity of pipeline stage approval, more context is needed for safe and 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 schema has 100% description coverage, so parameters are well-documented in the schema itself. The description adds no additional parameter context beyond implying approval/rejection via 'approved', which is already covered. 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 ('Approve') and resource ('pipeline stage that requires human review'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'retry_pipeline_stage' or 'process_issue', which could have overlapping contexts.
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 like 'retry_pipeline_stage' or 'process_issue'. It mentions 'requires human review' but doesn't specify prerequisites, conditions, 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.
get_cost_reportC
Get a detailed cost report of OpenAI API usage for the current month
| Name | Required | Description | Default |
|---|---|---|---|
| detailed | No | Include detailed breakdown by agent |
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 retrieves a 'detailed cost report' but doesn't mention if it requires authentication, has rate limits, returns structured data, or involves any side effects. This leaves significant gaps in understanding how the tool behaves beyond its basic function.
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 directly states the tool's purpose without unnecessary words. It's front-loaded with the core action and resource, making it easy to parse quickly, which is ideal 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 no annotations and no output schema, the description is incomplete for a tool that likely returns complex cost data. It doesn't explain what the report includes (e.g., metrics, timeframes, aggregation), how results are formatted, or any error conditions, leaving the agent under-informed about the tool's full context and output.
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 'detailed' parameter well-documented in the schema itself. The description doesn't add any meaning beyond the schema, such as explaining the format of the breakdown or when to toggle the parameter. Since schema coverage is high, the baseline score of 3 is appropriate.
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 'Get' and the resource 'detailed cost report of OpenAI API usage for the current month', making the purpose immediately understandable. However, it doesn't differentiate from sibling tools, which are unrelated to cost reporting (e.g., analyze_issue_complexity, get_pipeline_status), so it doesn't fully earn a 5.
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, prerequisites, or exclusions. It implies usage for current month cost reporting but doesn't specify if other tools handle historical data or different report types, leaving the agent with minimal context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pipeline_statusC
Get the current status of an issue in the pipeline
| Name | Required | Description | Default |
|---|---|---|---|
| issueNumber | Yes | The GitHub issue number |
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 gets status, implying a read operation, but doesn't cover aspects like whether it requires authentication, rate limits, error handling, or what the status output entails (e.g., format, possible values). This leaves significant gaps in understanding the tool's behavior.
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, clear sentence that directly states the tool's purpose without any unnecessary words. It's front-loaded and efficiently communicates the core functionality, making it easy to parse and understand 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 lack of annotations and output schema, the description is incomplete for a tool that interacts with a pipeline. It doesn't explain what 'status' means, potential return values, or how it integrates with the pipeline system. For a tool with no structured behavioral data, more context is needed to be fully helpful.
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 the parameter 'issueNumber' fully documented in the schema as 'The GitHub issue number'. The description adds no additional meaning beyond this, such as clarifying the pipeline context or valid ranges. Since the schema does the heavy lifting, the baseline score of 3 is appropriate.
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 ('Get the current status') and resource ('an issue in the pipeline'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'retry_pipeline_stage' or 'approve_pipeline_stage', which also relate to pipeline operations, so it doesn't achieve full sibling differentiation.
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, or exclusions, and with siblings like 'process_issue' or 'analyze_issue_complexity', there's no indication of how this tool fits into the workflow or when it's preferred over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_github_mcp_toolsB
List available tools from GitHub MCP server (if enabled)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 mentions the tool lists available tools but doesn't specify what 'available' means (e.g., all tools, only accessible ones), the format of the output, or any limitations like rate limits or authentication requirements. This leaves significant gaps in understanding the tool's behavior.
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 directly states the tool's function without any unnecessary words. It is front-loaded with the core action and includes only essential contextual information ('if enabled'), making it optimally concise and well-structured.
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 lack of annotations and output schema, the description is incomplete for a tool that likely returns a list of tools. It doesn't explain what the output contains (e.g., tool names, descriptions, capabilities) or any behavioral nuances, leaving the agent with insufficient context to use the tool effectively beyond its basic purpose.
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 0 parameters with 100% coverage, so the schema fully documents the lack of parameters. The description adds no parameter information, which is appropriate here, but it doesn't compensate for any gaps since there are none. A baseline of 4 is given for zero-parameter tools when the schema is complete.
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 with a specific verb ('List') and resource ('available tools from GitHub MCP server'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_pipeline_status' or 'analyze_issue_complexity', which prevents a perfect 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 implies usage context with the parenthetical '(if enabled)', suggesting this tool should be used when the GitHub MCP server is available. However, it provides no explicit guidance on when to choose this tool over alternatives or any prerequisites beyond server availability, leaving usage somewhat ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
process_issueC
Automatically process a GitHub issue through the full development pipeline with role-based AI agents
| Name | Required | Description | Default |
|---|---|---|---|
| issueNumber | Yes | The GitHub issue number to process | |
| skipAnalyst | No | Skip the analyst agent (use for simple bugs with clear requirements) | |
| skipArchitect | No | Skip the architect agent (use for simple changes with no design impact) | |
| dryRun | No | Run the pipeline without creating a PR (for testing) |
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 mentions 'full development pipeline with role-based AI agents' which hints at automation, but doesn't specify what the pipeline actually does (e.g., creates PRs, runs tests), what permissions are needed, whether it's destructive, or what happens on failure. The dryRun parameter description adds some behavioral context, but overall disclosure is incomplete for a complex automation tool.
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 clearly states the tool's core purpose. It's appropriately sized and front-loaded with essential information, with no wasted words 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 automation tool with 4 parameters and no annotations or output schema, the description is insufficient. It doesn't explain what 'processing' entails, what the pipeline stages are, what role-based agents do, what happens on success/failure, or what the tool returns. The parameter descriptions in the schema help, but the main description should provide more complete context for such a multi-step operation.
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 parameters thoroughly. The main description doesn't add any parameter-specific information beyond what's in the schema. The baseline score of 3 is appropriate when the schema does the heavy lifting, though the description could have provided higher-level context about parameter interactions.
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: 'Automatically process a GitHub issue through the full development pipeline with role-based AI agents.' It specifies the verb ('process'), resource ('GitHub issue'), and scope ('full development pipeline'), but doesn't explicitly differentiate from sibling tools like analyze_issue_complexity or retry_pipeline_stage.
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, when not to use it, or how it relates to sibling tools like analyze_issue_complexity or retry_pipeline_stage. The parameter descriptions offer some usage hints (e.g., 'use for simple bugs'), but the main description lacks explicit usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retry_pipeline_stageC
Retry a failed pipeline stage with optional modifications
| Name | Required | Description | Default |
|---|---|---|---|
| issueNumber | Yes | The GitHub issue number | |
| stage | Yes | The pipeline stage to retry | |
| instructions | No | Additional instructions for the retry |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. It mentions 'optional modifications' but doesn't disclose critical traits like whether this is a destructive operation, permission requirements, rate limits, or what happens to the original pipeline stage. This is inadequate for a mutation tool.
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 with zero waste. It's front-loaded with the core action ('retry a failed pipeline stage') and adds a useful qualifier ('with optional modifications'), 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 this is a mutation tool (implied by 'retry') with no annotations and no output schema, the description is incomplete. It lacks details on behavioral impact, error handling, or return values, which are crucial for safe and effective use. The 100% schema coverage helps but doesn't compensate for these gaps.
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 parameters. The description adds no additional meaning beyond implying 'optional modifications' might relate to the 'instructions' parameter, but it doesn't clarify syntax or examples. Baseline 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 tool's purpose with a specific verb ('retry') and resource ('a failed pipeline stage'), and mentions optional modifications. However, it doesn't differentiate from sibling tools like 'approve_pipeline_stage' or 'process_issue', which might handle similar pipeline operations.
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., only for failed stages), exclusions, or how it differs from sibling tools like 'approve_pipeline_stage' or 'process_issue', leaving usage context unclear.
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.
7 tool updates
- First observed
analyze_issue_complexity - First observed
approve_pipeline_stage - First observed
get_cost_report - First observed
get_pipeline_status - First observed
list_github_mcp_tools - First observed
process_issue - First observed
retry_pipeline_stage
TDQS
Scored across 7 tools
Most tools have distinct purposes, but 'process_issue' and 'analyze_issue_complexity' could potentially overlap in scope since both involve analyzing issues. The other tools target specific pipeline operations, approvals, reporting, and external tool listing, making them clearly differentiated.
The naming is mixed with some tools using verb_noun patterns like 'analyze_issue_complexity' and 'get_pipeline_status', while others like 'list_github_mcp_tools' and 'retry_pipeline_stage' follow similar conventions. However, 'process_issue' is a bit vague compared to the others, and there's no consistent prefix or style across all tools, leading to a moderate score.
With 7 tools, this server is well-scoped for orchestrating an issue pipeline. The count is appropriate for handling pipeline stages, approvals, retries, status checks, complexity analysis, and reporting, without being overwhelming or too sparse for the domain.
The tool set covers core pipeline operations like processing, status checking, approvals, and retries, along with reporting and external tool integration. A minor gap might be the lack of tools for configuring or managing the pipeline itself, but the existing tools support the main workflows effectively.
Maintenance
Related MCP Connectors
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
HIPAA compliance AI agent โ scan, grade, SRA, and generate compliance docs.
A Model Context Protocol (MCP) application for automated GitHub PR analysis and issue management.โฆ
AI-native git hosting โ repos, PRs, issues, CI gates, and AI code review over MCP (60 tools).
Related MCP Servers
- -licenseBqualityNot gradedmaintenanceEnables AI-driven orchestration of GitHub development workflows including automated issue analysis, code generation, code review, and PR creation through multiple specialized agents. Integrates with GitHub Actions to automate the complete development process from issue to pull request.7-
- AlicenseCqualityDmaintenanceAn autonomous agent that automates GitHub contributions end-to-end, from issue analysis and code changes to pull requests, conflict resolution, and review updates.173Apache 2.0
- FlicenseBqualityCmaintenanceEnables issue-to-code automation for GitHub and GitLab by connecting AI assistants (Claude Code, Gemini CLI, Codex) via MCP, with slash commands for issue analysis, planning, implementation, testing, documentation, and PR creation.339-
- AlicenseAqualityAmaintenanceEnables AI coding agents to orchestrate the full software development lifecycle on GitHub, including planning, issue creation, code review, security triage, and release readiness checks.1337 npm1MIT