Skip to main content
Glama
README.md
# MCP Tools - Multi-Server Architecture

A modular FastMCP server architecture providing development tools, analytics, and reporting for Claude Code integration.

## 🏗️ Architecture Overview

MCP Tools uses a **multi-server composition** architecture with three specialized servers:

- **🎯 Coordinator** (`localhost:8002`) - Main orchestration server that composes tools and reports
- **🛠️ Tools** (`localhost:8003`) - Development workflow automation (PR analysis, code review, JIRA)  
- **📈 Reports** (`localhost:8004`) - Performance analytics and reporting (quarterly reports, metrics)

All servers can run **independently** or **composed together** through the coordinator using FastMCP's `mount()` pattern.

## 🚀 Quick Start

### Container-First Deployment (Recommended)

```bash
# Start all services
./scripts/start.sh

# Check status
./scripts/status.sh

# Stop all services
./scripts/stop.sh

# Add to Claude Code (coordinator endpoint)
claude mcp add mcp-tools http://localhost:8002/mcp/ --transport http --scope user
```

### Development Setup

```bash
# Install dependencies
poetry install

# Run coordinator (mounts all servers)
poetry run python coordinator/server.py

# Or run individual servers
poetry run python tools/server.py      # Tools only (port 8003)
poetry run python reports/server.py    # Reports only (port 8004)
```

## 📊 Service Endpoints

| Service | Port | Health Check | Purpose |
|---------|------|--------------|---------|
| **Coordinator** | 8002 | `http://localhost:8002/health` | Main composition server |
| **Tools** | 8003 | `http://localhost:8003/health` | Development workflows |
| **Reports** | 8004 | `http://localhost:8004/health` | Analytics & reporting |

## 🛠️ Available Tools (14 Core Tools)

### Development Workflow Tools (Tools Server)

#### 1. PR Health (`pr_health`)
Analyzes PR health including open review threads, CI status, and merge readiness.

- **Input**: GitHub PR URL, optional description
- **Output**: Comprehensive health analysis with actionable solutions
- **Example**: `"pr_health https://github.com/owner/repo/pull/123"`

#### 2. Code Review (`code_review`)
Performs comprehensive code quality review with security and performance analysis.

- **Input**: GitHub PR URL, optional focus area, max diff lines
- **Output**: Structured code quality assessment
- **Example**: `"code_review https://github.com/owner/repo/pull/123 security"`

#### 3. Tech Design Review (`tech_design_review`)
Reviews technical design documents with architecture and implementation analysis.

- **Input**: Document URL (Confluence/GitHub), optional focus area
- **Output**: Design review with architecture recommendations
- **Example**: `"tech_design_review https://company.atlassian.net/wiki/pages/123456"`

#### 4. JIRA Transition (`jira_transition`)
Automates JIRA workflow transitions with intelligent state management.

- **Input**: Ticket ID, target state (supports aliases: "dev", "review", "qa", "done")
- **Output**: JIRA transition instructions with Atlassian MCP integration
- **Example**: `"jt SI-1234 start"` or `"jira_transition SI-1234 development"`

#### 5. Get JIRA Transitions (`get_jira_transitions`)
Calculates optimal transition paths between JIRA statuses.

- **Input**: From status, optional to status
- **Output**: Step-by-step transition path with MCP commands
- **Example**: `"get_jira_transitions 'Open' 'In Development'"`

#### 6. Epic Status Report (`epic_status_report`)
Generates comprehensive epic status with sub-task analysis and progress tracking.

- **Input**: Epic ticket ID, optional focus area
- **Output**: Epic progress analysis with assignee action items
- **Example**: `"epic_status_report SI-9038"`

### Analytics & Reporting Tools (Reports Server)

#### 7. Quarterly Team Report (`quarterly_team_report`)
Generates comprehensive quarterly team performance reports with anonymized metrics.

- **Input**: Team prefix, year, quarter, optional description
- **Output**: Team analysis using JIRA and GitHub data
- **Example**: `"quarterly_team_report SI 2025 2"`

#### 8. Quarter-over-Quarter Analysis (`quarter_over_quarter_analysis`)
Analyzes team performance trends and size changes across multiple quarters.

- **Input**: Team prefix, period (e.g., "2024", "2023-2025")
- **Output**: Multi-quarter trend analysis with team composition tracking
- **Example**: `"quarter_over_quarter_analysis SI 2024"`

#### 9. Personal Quarterly Report (`personal_quarterly_report`)
Generates individual contributor performance reports for personal development.

- **Input**: Team prefix, year, quarter
- **Output**: Personal performance analysis with growth recommendations
- **Example**: `"personal_quarterly_report SI 2025 2"`

#### 10. Personal Quarter-over-Quarter (`personal_quarter_over_quarter`)
Analyzes personal performance trends and growth across multiple time periods.

- **Input**: Team prefix, period
- **Output**: Personal growth analysis with development insights
- **Example**: `"personal_quarter_over_quarter SI 2024"`

### System & Utility Tools

#### 11. Setup Prerequisites (`setup_prerequisites`)
Validates and sets up all prerequisites required by MCP Tools.

- **Output**: Comprehensive validation with setup instructions
- **Features**: GitHub CLI, JIRA access, tool availability checks

#### 12. Check Tool Requirements (`check_tool_requirements`)
Checks specific prerequisites for individual MCP tools.

- **Input**: Tool name
- **Output**: Tool-specific validation results

#### 13. Echo (`echo`)
Simple connectivity test for MCP communication validation.

#### 14. Get System Info (`get_system_info`)
System diagnostics and server health monitoring.

## 🐳 Container Architecture

### Multi-Stage Dockerfiles
- **Builder Stage**: Poetry dependency installation
- **Production Stage**: Minimal runtime with non-root user
- **Multi-arch**: Supports AMD64 and ARM64 architectures

### Container Features
- **Health Checks**: Built-in `/health` endpoints for all services
- **Security**: Non-root user execution
- **Logging**: Structured logging with configurable levels
- **Networking**: Isolated bridge network for service communication

### Docker Compose Services

```yaml
services:
  mcp-coordinator:   # Main orchestration (port 8002)
  mcp-tools:         # Development tools (port 8003)
  mcp-reports:       # Analytics server (port 8004)
```

## 🔧 Development & Deployment

### Environment Variables

| Variable | Default | Description |
|----------|---------|-------------|
| `MCP_SERVER_PORT` | 8002/8003/8004 | Server port |
| `LOG_LEVEL` | INFO | Logging level |
| `MOUNT_TOOLS` | true | Mount tools server (coordinator only) |
| `MOUNT_REPORTS` | true | Mount reports server (coordinator only) |

### Container Management

```bash
# Build all containers
podman-compose build

# Start with logs
podman-compose up

# Background mode
podman-compose up -d

# Check status
podman-compose ps

# View logs
podman-compose logs -f mcp-coordinator
```

## 🎯 Integration Patterns

### Claude Code Integration
```bash
# Primary endpoint (coordinator with all tools)
claude mcp add mcp-tools http://localhost:8002/mcp/ --transport http --scope user

# Individual servers (if needed)
claude mcp add mcp-tools-dev http://localhost:8003/mcp/ --transport http --scope user
claude mcp add mcp-reports http://localhost:8004/mcp/ --transport http --scope user
```

### Workflow Examples

```bash
# Complete development workflow
claude "jt SI-1234 start -> pr_health https://github.com/owner/repo/pull/123 -> code_review same_url"

# Quarterly reporting workflow  
claude "quarterly_team_report SI 2025 2 -> personal_quarterly_report SI 2025 2"

# Epic management workflow
claude "epic_status_report SI-9038 -> jt SI-1234 start -> create implementation plan"
```

## 🚨 Alpha Development Status

**MCP Tools is currently in alpha development:**
- ⚠️ Not production ready - features and accuracy not guaranteed
- 🔬 Internal use only - data validation required
- 📊 Report outputs require manual verification
- 🔄 Format and structure may change without notice

## 🏗️ Architecture Benefits

### Modularity
- **Independent Deployment**: Each server can run standalone
- **Specialized Concerns**: Development tools vs. reporting separated
- **Scalable**: Add new servers without modifying existing ones

### FastMCP Composition
- **Server Mounting**: Coordinator mounts specialized servers
- **Unified Interface**: Single endpoint with all tools
- **Service Discovery**: Automatic tool registration and health monitoring

### Container-First Design
- **Production Ready**: Multi-stage builds with security best practices
- **Orchestration**: Docker Compose with networking and health checks
- **Portability**: Runs consistently across development and production environments

---

**Requirements**: Python 3.11+, Poetry, Podman/Docker, Git, curl, jq

Maintenance

ActivityInactive
ResponsivenessNo issues