Labsco
HarshKumarSharma logo

MCP GitHub Project Manager

from HarshKumarSharma

AI-powered GitHub project management with complete requirements traceability.

πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedPaid serviceAdvanced setup

MCP GitHub Project Manager

A comprehensive Model Context Protocol (MCP) server that provides advanced GitHub project management capabilities with AI-powered task management and complete requirements traceability. Transform your project ideas into actionable tasks with full end-to-end tracking from business requirements to implementation.

npm version License: MIT Node.js Version

Overview

This server implements the Model Context Protocol to provide comprehensive GitHub project management with advanced AI capabilities. Beyond traditional project management, it offers AI-powered task generation, requirements traceability, and intelligent project planning through GitHub's GraphQL API while maintaining state and handling errors according to MCP specifications.

πŸš€ What Makes This Special

  • AI-Powered: Transform project ideas into comprehensive PRDs and actionable tasks using multiple AI providers
  • Complete Traceability: Full end-to-end tracking from business requirements β†’ features β†’ use cases β†’ tasks
  • Intelligent Analysis: AI-powered complexity analysis, effort estimation, and task recommendations
  • Professional Standards: IEEE 830 compliant requirements documentation with enterprise-grade change management

Table of Contents

Key Features

πŸ€– AI-Powered Task Management

  • PRD Generation (generate_prd): Transform project ideas into comprehensive Product Requirements Documents
  • Intelligent Task Breakdown (parse_prd): AI-powered parsing of PRDs into actionable development tasks
  • Smart Feature Addition (add_feature): Add new features with automatic impact analysis and task generation
  • Task Complexity Analysis (analyze_task_complexity): Detailed AI analysis of task complexity, effort estimation, and risk assessment
  • Next Task Recommendations (get_next_task): AI-powered recommendations for optimal task prioritization
  • Task Expansion (expand_task): Break down complex tasks into manageable subtasks automatically
  • PRD Enhancement (enhance_prd): Improve existing PRDs with AI-powered gap analysis and improvements

🎯 Enhanced Task Context Generation

  • Traceability-Based Context (Default): Rich context from requirements traceability without AI dependency
  • AI-Enhanced Context (Optional): Comprehensive business, technical, and implementation context using AI
  • Configurable Context Levels: Choose between minimal, standard, and full context depth
  • Business Context: Extract business objectives, user impact, and success metrics
  • Technical Context: Analyze technical constraints, architecture decisions, and integration points
  • Implementation Guidance: AI-generated step-by-step implementation recommendations
  • Contextual References: Links to relevant PRD sections, features, and technical specifications
  • Enhanced Acceptance Criteria: Detailed, testable criteria with verification methods
  • Graceful Degradation: Works perfectly without AI keys, falls back to traceability-based context

πŸ”— Complete Requirements Traceability

  • End-to-End Tracking (create_traceability_matrix): Full traceability from PRD business requirements β†’ features β†’ use cases β†’ tasks
  • Bidirectional Links: Complete bidirectional traceability with impact analysis
  • Use Case Management: Professional actor-goal-scenario use case generation and tracking
  • Coverage Analysis: Comprehensive coverage metrics with gap identification
  • Orphaned Task Detection: Identify tasks without requirements links
  • Change Impact Analysis: Track requirement changes and their impact across all levels

πŸ“Š Multi-Provider AI Support

  • Anthropic Claude: Primary AI provider for complex reasoning
  • OpenAI GPT: Alternative provider with fallback support
  • Google Gemini: Additional AI capabilities
  • Perplexity: Research and analysis tasks
  • Automatic Fallback: Seamless switching between providers

πŸ—οΈ Core Project Management

  • Project Management: Create and manage GitHub Projects (v2)
  • Issues and Milestones: Full CRUD operations with advanced filtering
  • Sprint Planning: Plan and manage development sprints with AI assistance
  • Custom Fields and Views: Create different views (board, table, timeline, roadmap)
  • Resource Versioning: Intelligent caching and optimistic locking

⚑ Advanced Features

  • MCP Implementation: Full MCP specification compliance with Zod validation
  • GitHub Integration: GraphQL API integration with intelligent rate limiting
  • Real-time Sync: Bidirectional synchronization with GitHub
  • Webhook Integration: Real-time updates via GitHub webhooks
  • Progress Tracking: Comprehensive metrics and progress reporting
  • Event System: Track and replay project events

πŸ§ͺ Comprehensive E2E Testing Suite

The MCP GitHub Project Manager includes a comprehensive end-to-end testing suite that tests all MCP tools through the actual MCP interface with both mocked and real API calls.

Test Coverage:

  • βœ… 40+ GitHub Project Management Tools - Complete CRUD operations for projects, milestones, issues, sprints, labels, and more
  • βœ… 8 AI Task Management Tools - PRD generation, task parsing, complexity analysis, feature management, and traceability
  • βœ… Complex Workflow Integration - Multi-tool workflows and real-world project management scenarios
  • βœ… Real API Testing - Optional testing with actual GitHub and AI APIs
  • βœ… Schema Validation - Comprehensive argument validation for all tools
  • βœ… Error Handling - Graceful error handling and recovery testing

Quick Start:

# Run comprehensive E2E tests (mocked APIs)
npm run test:e2e:tools

# Run with real APIs (requires credentials)
npm run test:e2e:tools:real

# Use the interactive test runner
npm run test:e2e:runner

# Run specific test categories
npm run test:e2e:tools:github     # GitHub tools only
npm run test:e2e:tools:ai         # AI tools only
npm run test:e2e:tools:workflows  # Integration workflows

Test Runner Options:

# Interactive test runner with options
node scripts/run-e2e-tests.js --help

# Examples:
node scripts/run-e2e-tests.js --real-api --github-only
node scripts/run-e2e-tests.js --build --verbose --timeout 120
node scripts/run-e2e-tests.js --ai-only --real-api

Environment Setup for Real API Testing:

GitHub API (Required for GitHub tools):

GITHUB_TOKEN=ghp_your_github_token
GITHUB_OWNER=your-github-username
GITHUB_REPO=your-test-repository

AI APIs (Required for AI tools):

# At least one AI API key required
ANTHROPIC_API_KEY=sk-ant-your-anthropic-key
OPENAI_API_KEY=sk-your-openai-key
GOOGLE_API_KEY=your-google-ai-key
PERPLEXITY_API_KEY=pplx-your-perplexity-key

Enable Real API Testing:

E2E_REAL_API=true npm run test:e2e:tools:real

Test Features:

  • Tool Registration Validation - Verify all tools are properly registered with correct schemas
  • MCP Protocol Compliance - Ensure all tools follow MCP specification
  • Response Format Validation - Validate tool responses match expected formats
  • Workflow Integration Testing - Test complex multi-tool workflows
  • Credential Management - Graceful handling of missing credentials
  • Performance Monitoring - Track tool execution performance
  • Comprehensive Error Testing - Validate error handling and recovery

Documentation:

The E2E test suite ensures that all MCP tools work correctly both individually and in complex workflows, providing confidence in the reliability and integration of the entire system.

Test Scenarios Covered:

  • βœ… Default traceability-based context (no AI required)
  • βœ… AI-enhanced business context generation
  • βœ… AI-enhanced technical context generation
  • βœ… Implementation guidance generation
  • βœ… Context merging and conflict resolution
  • βœ… Error handling and graceful degradation
  • βœ… Configuration validation and defaults
  • βœ… Tool-level parameter validation
  • βœ… Integration with existing traceability system

Installing in AI Assistants

Install in Claude

To install the MCP server in Claude Desktop:

{
  "mcpServers": {
    "github-project-manager": {
      "command": "npx",
      "args": ["-y", "mcp-github-project-manager"],
      "env": {
        "GITHUB_TOKEN": "your_github_token",
        "GITHUB_OWNER": "your_username",
        "GITHUB_REPO": "your_repo",
        "ANTHROPIC_API_KEY": "your_anthropic_api_key",
        "OPENAI_API_KEY": "your_openai_api_key",
        "GOOGLE_API_KEY": "your_google_api_key",
        "PERPLEXITY_API_KEY": "your_perplexity_api_key"
      }
    }
  }
}

For Claude Code CLI, run:

claude mcp add github-project-manager -- npx -y mcp-github-project-manager

Install in Roocode

Add this to your Roocode configuration:

{
  "mcpServers": {
    "github-project-manager": {
      "command": "npx",
      "args": ["-y", "mcp-github-project-manager"],
      "env": {
        "GITHUB_TOKEN": "your_github_token",
        "GITHUB_OWNER": "your_username",
        "GITHUB_REPO": "your_repo"
      }
    }
  }
}

Install in Windsurf

Add this to your Windsurf MCP config file:

{
  "mcpServers": {
    "github-project-manager": {
      "command": "npx",
      "args": ["-y", "mcp-github-project-manager"],
      "env": {
        "GITHUB_TOKEN": "your_github_token",
        "GITHUB_OWNER": "your_username",
        "GITHUB_REPO": "your_repo"
      }
    }
  }
}

See Windsurf MCP docs for more information.

Install in VS Code

Add this to your VS Code MCP config file:

{
  "servers": {
    "github-project-manager": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "mcp-github-project-manager"],
      "env": {
        "GITHUB_TOKEN": "your_github_token",
        "GITHUB_OWNER": "your_username",
        "GITHUB_REPO": "your_repo"
      }
    }
  }
}

See VS Code MCP docs for more information.

Install in Cursor

Add this to your Cursor MCP config file:

{
  "mcpServers": {
    "github-project-manager": {
      "command": "npx",
      "args": ["-y", "mcp-github-project-manager"],
      "env": {
        "GITHUB_TOKEN": "your_github_token",
        "GITHUB_OWNER": "your_username",
        "GITHUB_REPO": "your_repo"
      }
    }
  }
}

See Cursor MCP docs for more information.

Using Docker

If you prefer to run the MCP server in a Docker container:

  1. Build the Docker Image:

    Create a Dockerfile in your project directory:

    FROM node:18-alpine
    
    WORKDIR /app
    
    # Install the package globally
    RUN npm install -g mcp-github-project-manager
    
    # Default command to run the server
    CMD ["mcp-github-project-manager"]

    Build the image:

    docker build -t github-project-manager-mcp .
  2. Configure Your MCP Client:

    Update your MCP client's configuration to use the Docker command:

    {
      "mcpServers": {
        "github-project-manager": {
          "command": "docker",
          "args": ["run", "-i", "--rm", "github-project-manager-mcp"],
          "env": {
            "GITHUB_TOKEN": "your_github_token",
            "GITHUB_OWNER": "your_username",
            "GITHUB_REPO": "your_repo"
          }
        }
      }
    }

Troubleshooting

Common Issues

  1. Module Not Found Errors

    If you encounter module resolution issues, try using bunx instead of npx:

    {
      "mcpServers": {
        "github-project-manager": {
          "command": "bunx",
          "args": ["-y", "mcp-github-project-manager"]
        }
      }
    }
  2. Windows-Specific Configuration

    On Windows, you may need to use cmd to run the command:

    {
      "mcpServers": {
        "github-project-manager": {
          "command": "cmd",
          "args": [
            "/c",
            "npx",
            "-y",
            "mcp-github-project-manager"
          ]
        }
      }
    }
  3. Permission Issues

    If you encounter permission issues, make sure your GitHub token has the required permissions listed in the Configuration section.

Architecture

The server follows Clean Architecture principles with distinct layers:

  • Domain Layer: Core entities, repository interfaces, and Zod schemas
  • Infrastructure Layer: GitHub API integration and implementations
  • Service Layer: Business logic coordination
  • MCP Layer: Tool definitions and request handling

See ARCHITECTURE.md for detailed architecture documentation.

Contributing

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

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add some amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

References

Current Status

Core Features

FeatureStatusNotes
Project Creationβœ… CompleteFull support for v2 projects
Milestone Managementβœ… CompleteCRUD operations implemented
Sprint Planningβœ… CompleteIncluding metrics tracking
Issue Managementβœ… CompleteWith custom fields support
Resource Versioningβœ… CompleteWith optimistic locking and schema validation
Webhook IntegrationπŸ“… PlannedReal-time updates

AI-Powered Features

FeatureStatusNotes
PRD Generationβœ… CompleteMulti-provider AI support with comprehensive PRD creation
Task Generationβœ… CompleteAI-powered parsing of PRDs into actionable tasks
Feature Additionβœ… CompleteSmart feature addition with impact analysis
Task Complexity Analysisβœ… CompleteDetailed AI analysis with risk assessment
Task Recommendationsβœ… CompleteAI-powered next task recommendations
Task Expansionβœ… CompleteBreak down complex tasks into subtasks
PRD Enhancementβœ… CompleteAI-powered PRD improvement and gap analysis
Requirements Traceabilityβœ… CompleteEnd-to-end traceability matrix with coverage analysis

Requirements Traceability

FeatureStatusNotes
Business Requirements Extractionβœ… CompleteExtract from PRD objectives and success metrics
Use Case Generationβœ… CompleteActor-goal-scenario structure with alternatives
Traceability Linksβœ… CompleteBidirectional links with impact analysis
Coverage Analysisβœ… CompleteGap identification and orphaned task detection
Change Trackingβœ… CompleteRequirement change impact analysis
Verification Trackingβœ… CompleteTest case mapping and verification status

MCP Implementation

ComponentStatusNotes
Tool Definitionsβœ… CompleteAll core tools implemented with Zod validation
Resource Managementβœ… CompleteFull CRUD operations with versioning
Securityβœ… CompleteToken validation and scope checking
Error Handlingβœ… CompleteAccording to MCP specifications
Transportβœ… CompleteStdio and HTTP support

See STATUS.md for detailed implementation status. | Resource Management | βœ… Complete | With optimistic locking and relationship tracking | | Response Handling | βœ… Complete | Rich content formatting with multiple content types | | Error Handling | βœ… Complete | Comprehensive error mapping to MCP error codes | | State Management | βœ… Complete | With conflict resolution and rate limiting |

Recent Improvements

  • Enhanced Resource System:

    • Added Zod schema validation for all resource types
    • Implemented resource relationship tracking
    • Created a centralized ResourceFactory for consistent resource access
  • Improved GitHub API Integration:

    • Added intelligent rate limiting with automatic throttling
    • Implemented pagination support for REST and GraphQL APIs
    • Enhanced error handling with specific error types
  • Advanced Tool System:

    • Created tool definition registry with Zod validation
    • Implemented standardized tool response formatting
    • Added example-based documentation for all tools
  • Rich Response Formatting:

    • Added support for multiple content types (JSON, Markdown, HTML, Text)
    • Implemented progress updates for long-running operations
    • Added pagination support for large result sets

Identified Functional Gaps

Despite the recent improvements, the following functional gaps still exist and are prioritized for future development:

  1. Persistent Caching Strategy:

    • While the ResourceCache provides in-memory caching, it lacks persistence across server restarts
    • No distributed caching for multi-instance deployments
    • Missing cache eviction policies for memory management
  2. Real-time Event Processing:

    • No webhook integration for real-time updates from GitHub
    • Missing event-based subscription system for clients
    • Lack of server-sent events (SSE) support for streaming updates
  3. Advanced GitHub Projects v2 Features:

    • Limited support for custom field types and validation
    • Incomplete integration with GitHub's newer Projects v2 field types
    • Missing automation rule management
  4. Performance Optimization:

    • No query batching for related resources
    • Missing background refresh for frequently accessed resources
    • Incomplete prefetching for related resources
  5. Data Visualization and Reporting:

    • No built-in visualization generators for metrics
    • Missing report generation capabilities
    • Limited time-series data analysis

See docs/mcp/gaps-analysis.md for detailed implementation status.

Documentation

Interactive Documentation

For an interactive exploration of the API, open the API Explorer in your browser.

Development

Testing

# Unit tests
npm test

# Integration tests
npm run test:integration

# End-to-end tests
npm run test:e2e

Code Quality

# Lint code
npm run lint

# Type check
npm run type-check

# Format code
npm run format

Contributing

We welcome contributions to the GitHub Project Manager MCP Server! Please see our Contributing Guide for details on:

License

MIT