Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

mcp-github-project-manager

MCP.Pizza Chef: kunwarVivek

The mcp-github-project-manager is an MCP server that exposes GitHub Projects functionality to LLM clients through the Model Context Protocol. It allows programmatic creation, configuration, and management of GitHub Projects (v2), including milestones, sprints, issues, and custom fields. Leveraging GitHub's GraphQL API, it supports project visibility, access control, resource versioning, and locking. This server handles state management and error handling in compliance with MCP specifications, enabling seamless integration of GitHub Projects management into AI workflows and tools.

Use This MCP server To

Create and configure GitHub Projects programmatically Manage project milestones and sprint planning Track and update issues within GitHub Projects Control project visibility and access settings Version and lock project resources for consistency Integrate GitHub Projects management into AI workflows

README

GitHub Project Manager MCP Server

A Model Context Protocol (MCP) server implementation that provides GitHub Projects functionality through standardized tools and resources. This server enables LLM clients to manage GitHub Projects programmatically through the MCP interface.

Overview

This server implements the Model Context Protocol to expose GitHub Projects functionality to LLM clients. It provides tools for managing projects, milestones, sprints, and metrics through GitHub's GraphQL API while maintaining state and handling errors according to MCP specifications.

Key Features

  • Project Management

    • Create and manage GitHub Projects (v2)
    • Handle project settings and configurations
    • Manage project visibility and access
  • Project Resources

    • Issues and milestones management
    • Sprint planning and tracking
    • Custom fields and views
    • Resource versioning and locking
  • MCP Implementation

    • Full MCP specification compliance
    • Standardized tool definitions with Zod validation
    • Resource state management
    • Progressive response handling
    • Comprehensive error handling
  • GitHub Integration

    • GraphQL API integration with pagination support
    • Intelligent rate limit handling
    • Optimistic concurrency
    • Webhook support (planned)

Installation

# Install dependencies
npm install
# or
pnpm install

# Set up environment variables
cp .env.example .env
# Edit .env with your GitHub token and details

Configuration

Required environment variables:

GITHUB_TOKEN=your_github_token
GITHUB_OWNER=repository_owner
GITHUB_REPO=repository_name

The GitHub token requires these permissions:

  • repo (Full repository access)
  • project (Project access)
  • write:org (Organization access)

Usage

# Start the MCP server
npm start

# Run tests
npm test
npm run test:e2e

See the User Guide for detailed usage instructions.

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.

Current Status

Core Features

Feature Status Notes
Project Creation ✅ Complete Full support for v2 projects
Milestone Management ✅ Complete CRUD operations implemented
Sprint Planning ✅ Complete Including metrics tracking
Issue Management ✅ Complete With custom fields support
Resource Versioning ✅ Complete With optimistic locking and schema validation
Webhook Integration 📅 Planned Real-time updates

MCP Implementation

Component Status Notes
Tool Definitions ✅ Complete All core tools implemented with Zod validation
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

  • User Guide - Detailed usage instructions
  • API Reference - Comprehensive tool documentation
  • Tutorials - Step-by-step guides
  • Examples - Code examples for common tasks
  • Architecture - System architecture and design
  • Contributing - Development guidelines
  • MCP Documentation - MCP-specific details

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:

  • Development Workflow
  • Code Standards
  • Testing Guidelines
  • Documentation Guidelines

License

MIT

mcp-github-project-manager FAQ

How does the mcp-github-project-manager authenticate with GitHub?
It uses GitHub's OAuth tokens or personal access tokens to securely authenticate API requests, ensuring authorized access to project data.
Can this MCP server handle multiple GitHub organizations or repositories?
Yes, it supports managing projects across multiple organizations and repositories by specifying context in API calls.
How does the server handle errors from GitHub's GraphQL API?
It implements robust error handling per MCP specifications, returning structured error messages to clients for graceful recovery.
Is it possible to customize project fields and views using this server?
Yes, the server supports managing custom fields and views within GitHub Projects to tailor project tracking to specific needs.
Does the server maintain state between client interactions?
Yes, it manages state and resource versioning to ensure consistency and prevent conflicts during project updates.
How does the server ensure secure access to project data?
It enforces access controls based on GitHub permissions and supports project visibility settings to restrict data exposure.
Can this MCP server be integrated with multiple LLM providers?
Yes, it is provider-agnostic and can work with OpenAI, Anthropic Claude, Google Gemini, and other LLMs supporting MCP.
What GitHub Project versions does this server support?
It currently supports GitHub Projects v2, leveraging the latest GraphQL API features for enhanced project management.