Chiro ERP - Issue Pipeline Orchestrator
Automates GitHub issue-to-PR workflows using specialized AI agents (analyst, architect, developer, tester, reviewer) that analyze requirements, design solutions, implement code, generate tests, and perform code reviews with HIPAA compliance checks.
README
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
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 install
2. Configure Environment
Copy .env.example to .env and fill in your credentials:
cp .env.example .env
Required 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 build
4. 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 42
Check Pipeline Status
@workspace /tools get_pipeline_status --issueNumber 42
Analyze Issue Complexity
@workspace /tools analyze_issue_complexity --issueNumber 42
Approve a Stage
@workspace /tools approve_pipeline_stage --issueNumber 42 --stage "architecture" --approved true
Retry 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 }}
}
}
}
EOF
Pipeline 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 analysis -
Clear 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
.envfile - Use GitHub Secrets for CI/CD
- Rotate tokens regularly
- Review security-sensitive changes manually
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.