Skip to main content
Glama
kunwarVivek

mcp-github-project-manager

by kunwarVivek

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 a full end-to-end pipeline from project ideas to GitHub issues, sprints, and milestones.

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

  • 16 Compound Tools (152 actions): Progressive-disclosure API — AI agents see 16 tools instead of 131, with discover_tools for runtime exploration

  • AI-Powered: Transform project ideas into comprehensive PRDs and actionable tasks using multiple AI providers

  • Agent Orchestration: Autonomous AI agent task assignment, heartbeat monitoring, budget enforcement, and work product tracking

  • PRD-to-Issues Pipeline: Materialize AI-generated tasks into GitHub milestones, sprints, and issues with dependency-driven sequencing

  • 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

Related MCP server: github-projects-mcp

Table of Contents

Quick Start

Using NPM

# Install the package globally
npm install -g mcp-github-project-manager

# Set up your environment variables
export GITHUB_TOKEN="your_github_token"
export GITHUB_OWNER="your_github_username_or_organization"
export GITHUB_REPO="your_repository_name"

# Run the MCP server
mcp-github-project-manager

Using Docker

# Build the Docker image
docker build -t mcp-github-project-manager .

# Run with environment variables
docker run -it \
  -e GITHUB_TOKEN=your_github_token \
  -e GITHUB_OWNER=your_github_username_or_organization \
  -e GITHUB_REPO=your_repository_name \
  mcp-github-project-manager

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

  • Task Materialization (materialize_tasks): Convert generated tasks into real GitHub issues grouped into milestones and sprints with dependency-driven phase ordering

🎯 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

Agent Orchestration (16 compound tools)

  • Compound Tool API: 16 tools with action routing replace 152 individual actions — simpler for AI agents

  • Agent Registry: Register, list, and deregister autonomous AI agents

  • Task Checkout: Claim tasks with configurable selection strategies (priority, age, skills, deadline)

  • Heartbeat Monitoring: Periodic liveness and progress reporting with stale-agent detection

  • Work Product Tracking: Submit code changes, PRs, test results, and review artifacts

  • Work Product Validation: Reviewers inspect work against acceptance criteria — not rubber stamps

  • Budget Enforcement: Per-agent token budgets with warning thresholds and hard stops

  • Activity Dashboard: Real-time view of all agent statuses, tasks, and budget consumption

  • Subagent Hierarchy: Parent-child agent relationships with cascade deregistration

  • Runtime Discovery: discover_tools meta-tool for exploring available actions and schemas

  • PM Coordination: Project managers can assign specific tasks, monitor swarm status, and rebalance workloads

  • Failure Recovery: PM decomposes rejected tasks into subtasks, re-assigns to agents

  • Smart Task Routing: Capability-matched, budget-aware assignment (smart_assign)

  • Project Convergence: Auto-approve/reject/decompose in one call (converge_project)

  • Registry Cleanup: Remove stale agents automatically

  • Task Materialization: Bridge from PRD tasks to GitHub issues with milestones, sprints, and project assignment

Installation

# Install the package globally
npm install -g mcp-github-project-manager

# Or install in your project
npm install mcp-github-project-manager

Option 2: Install from source

# Clone the repository
git clone https://github.com/kunwarVivek/mcp-github-project-manager.git
cd mcp-github-project-manager

# Install dependencies
npm install
# or
pnpm install

# Build the project
npm run build

Set up environment variables

# Copy the example environment file
cp .env.example .env

# Edit .env with your GitHub token and details

Configuration

Required Environment Variables

GitHub Configuration

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)

AI Provider Configuration

AI keys are optional — without them, non-AI tools (project management, issues, sprints, agents) work fine. AI-powered features (ai_generate, ai_analyze, ai_plan) need at least one key.

# Global AI provider keys (set the ones you have)
ANTHROPIC_API_KEY=your_anthropic_api_key_here
OPENAI_API_KEY=your_openai_api_key_here
GOOGLE_API_KEY=your_google_api_key_here
PERPLEXITY_API_KEY=your_perplexity_api_key_here

# AI Model Configuration (no defaults — configure what you want to use)
AI_MAIN_MODEL=claude-sonnet-4-20250514    # general tasks
AI_PRD_MODEL=claude-opus-5                # PRD generation
AI_RESEARCH_MODEL=sonar-pro               # research
AI_FALLBACK_MODEL=gpt-4o-mini             # fallback

Per-Role Provider Configuration (optional)

Each model role can independently use a different provider, API key, and endpoint. Use openai-compatible for OpenRouter, Together, Groq, Ollama, or any OpenAI-protocol endpoint:

# OpenRouter for cheap daily tasks
AI_MAIN_PROVIDER=openai-compatible
AI_MAIN_BASE_URL=https://openrouter.ai/api/v1
AI_MAIN_API_KEY=sk-or-v1-your-key
AI_MAIN_MODEL=deepseek/deepseek-chat

# Direct Anthropic for PRD generation
AI_PRD_PROVIDER=anthropic
AI_PRD_API_KEY=sk-ant-your-key
AI_PRD_MODEL=claude-opus-5

# Local Ollama as fallback
AI_FALLBACK_PROVIDER=openai-compatible
AI_FALLBACK_BASE_URL=http://localhost:11434/v1
AI_FALLBACK_API_KEY=ollama
AI_FALLBACK_MODEL=llama3.1

See the Configuration Guide for full per-role documentation.

AI Provider Setup

Anthropic Claude

  1. Sign up at Anthropic Console

  2. Create an API key

  3. Set ANTHROPIC_API_KEY in your environment

OpenAI

  1. Sign up at OpenAI Platform

  2. Create an API key

  3. Set OPENAI_API_KEY in your environment

Google Gemini

  1. Sign up at Google AI Studio

  2. Create an API key

  3. Set GOOGLE_API_KEY in your environment

Perplexity

  1. Sign up at Perplexity API

  2. Create an API key

  3. Set PERPLEXITY_API_KEY in your environment

Usage

As a command-line tool

If installed globally:

# Start the MCP server using stdio transport
mcp-github-project-manager

# Start with environment variables
GITHUB_TOKEN=your_token mcp-github-project-manager

# Start with command line arguments
mcp-github-project-manager --token=your_token --owner=your_username --repo=your_repo

# Use a specific .env file
mcp-github-project-manager --env-file=.env.production

# Show verbose output
mcp-github-project-manager --verbose

# Display help information
mcp-github-project-manager --help

Running from source with TypeScript

If you're developing or running from source:

# Run directly with ts-node
node --loader ts-node/esm src/index.ts

# Run with command line arguments
node --loader ts-node/esm src/index.ts --token=your_token --owner=your_username --repo=your_repo

# Use the npm dev script (watches for changes)
npm run dev

# Display help information
node --loader ts-node/esm src/index.ts --help

Command Line Options

Option

Short

Description

--token <token>

-t

GitHub personal access token

--owner <owner>

-o

GitHub repository owner (username or organization)

--repo <repo>

-r

GitHub repository name

--env-file <path>

-e

Path to .env file (default: .env in project root)

--verbose

-v

Enable verbose logging

--help

-h

Display help information

--version

Display version information

Command line arguments take precedence over environment variables.

As a Node.js module

import { Server } from "mcp-github-project-manager";

// Create and start an MCP server instance
const server = new Server({
  transport: "stdio", // or "http" for HTTP server
  config: {
    githubToken: process.env.GITHUB_TOKEN,
    githubOwner: process.env.GITHUB_OWNER,
    githubRepo: process.env.GITHUB_REPO
  }
});

server.start();

Integration with MCP clients

// Example using an MCP client library
import { McpClient } from "@modelcontextprotocol/client";
import { spawn } from "child_process";

// Create a child process running the MCP server
const serverProcess = spawn("mcp-github-project-manager", [], {
  env: { ...process.env, GITHUB_TOKEN: "your_token" }
});

// Connect the MCP client to the server
const client = new McpClient({
  transport: {
    type: "process",
    process: serverProcess
  }
});

// Call MCP tools (compound API)
const result = await client.callTool("manage_project", {
  action: "create",
  title: "My Project",
  owner: "myorg"
});

For more examples, see the User Guide and the examples/ directory.

Compound Tool API Examples

The MCP server exposes 16 compound tools (134 actions). Each tool accepts an action parameter that routes to the underlying operation. Use discover_tools to explore capabilities at runtime.

Quick Start Workflow

// 1. Create a project
{"tool": "manage_project", "arguments": {"action": "create", "title": "My Project", "owner": "myorg"}}

// 2. Create an issue
{"tool": "manage_issues", "arguments": {"action": "create", "title": "First Issue", "body": "Description here"}}

// 3. Register an AI agent
{"tool": "agent_work", "arguments": {"action": "register", "name": "claude-eng-1", "role": "engineer"}}

// 4. Agent checks out a task
{"tool": "agent_work", "arguments": {"action": "checkout_task", "agentId": "agent-abc123", "strategy": "highest_priority"}}

// 5. Discover available tools at runtime
{"tool": "discover_tools", "arguments": {}}
{"tool": "discover_tools", "arguments": {"group": "manage_issues", "action": "create", "includeSchemas": true}}

AI-Powered Project Workflow

// 1. Generate PRD from project idea
{"tool": "ai_generate", "arguments": {"action": "generate_prd", "projectIdea": "AI-powered task management with real-time collaboration", "projectName": "TaskAI Pro", "complexity": "high"}}

// 2. Parse PRD into tasks with traceability
{"tool": "ai_generate", "arguments": {"action": "parse_prd", "prdContent": "<generated PRD>", "maxTasks": 30, "createTraceabilityMatrix": true}}

// 3. Get next task recommendations
{"tool": "ai_generate", "arguments": {"action": "get_next_task", "sprintCapacity": 40, "teamSkills": ["react", "node.js", "typescript"]}}

// 4. Analyze task complexity
{"tool": "ai_generate", "arguments": {"action": "analyze_complexity", "taskTitle": "Implement real-time collaboration", "includeRisks": true}}

// 5. Break down complex tasks
{"tool": "ai_generate", "arguments": {"action": "expand_task", "taskTitle": "Build analytics dashboard", "currentComplexity": 8, "targetComplexity": 3}}

Feature Addition Workflow

// Add new feature with complete lifecycle
{"tool": "ai_generate", "arguments": {"action": "add_feature", "featureIdea": "Advanced Analytics Dashboard", "description": "Real-time analytics with AI insights", "expandToTasks": true}}
// Automatically creates: business requirements, use cases, tasks with traceability, lifecycle tracking

// Create traceability matrix
{"tool": "ai_generate", "arguments": {"action": "create_traceability_matrix", "projectId": "task-ai-pro", "validateCompleteness": true}}

Tool Discovery

// List all 16 compound tools
{"tool": "discover_tools", "arguments": {}}

// Explore a specific tool's actions
{"tool": "discover_tools", "arguments": {"group": "ai_generate"}}

// Get full schema for a specific action
{"tool": "discover_tools", "arguments": {"group": "ai_generate", "action": "generate_prd", "includeSchemas": true}}

MCP_TOOL_GROUPS Configuration

Control which compound tools are exposed to MCP clients:

# Default: all tools exposed
MCP_TOOL_GROUPS=all

# Expose only project management tools
MCP_TOOL_GROUPS=core

# Add AI tools
MCP_TOOL_GROUPS=core,ai

discover_tools is always available regardless of this setting.

Context Generation Levels:

  • Minimal: Basic traceability context only (fastest)

  • Standard: Traceability + basic business context (default)

  • Full: Complete AI-enhanced context with implementation guidance

🧪 Testing Enhanced Context Generation

The enhanced context generation functionality includes comprehensive test coverage:

Test Files Created:

  • src/__tests__/TaskContextGenerationService.test.ts - Core context generation service tests

  • src/__tests__/TaskGenerationService.enhanced.test.ts - Enhanced task generation integration tests

  • src/__tests__/ParsePRDTool.enhanced.test.ts - Tool-level context generation tests

Test Coverage:

  • Traceability-based context generation (default behavior)

  • AI-enhanced context generation (when AI is available)

  • Graceful fallback when AI services are unavailable

  • Configuration validation and environment variable handling

  • Error handling and resilience testing

  • Integration testing with existing task generation pipeline

Running Context Generation Tests:

# Run all AI-related tests (includes context generation)
npm run test:ai

# Run specific context generation tests
npm test -- --testPathPattern="TaskContextGeneration"
npm test -- --testPathPattern="enhanced"

# Run all tests
npm test

🧪 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",
        "AI_MAIN_PROVIDER": "openai-compatible",
        "AI_MAIN_BASE_URL": "https://openrouter.ai/api/v1",
        "AI_MAIN_API_KEY": "sk-or-v1-your-key",
        "AI_MAIN_MODEL": "deepseek/deepseek-chat"
      }
    }
  }
}

Or with a direct provider key (simpler):

{
  "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"
      }
    }
  }
}

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:

docker build -t mcp-gh-project .
  1. Run the container:

docker run -d \
  -e GITHUB_TOKEN=your_github_token \
  -e GITHUB_OWNER=your_github_owner \
  -e GITHUB_REPO=your_repository_name \
  mcp-gh-project:latest

Or with CLI arguments:

docker run -d mcp-gh-project:latest \
  --github_token your_github_token \
  --github_owner your_owner \
  --github_repo your_repo
  1. Configure Your MCP Client:

{
  "mcpServers": {
    "github-project-manager": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "GITHUB_TOKEN", "-e", "GITHUB_OWNER", "-e", "GITHUB_REPO", "mcp-gh-project:latest"],
      "env": {
        "GITHUB_TOKEN": "your_token",
        "GITHUB_OWNER": "your_owner",
        "GITHUB_REPO": "your_repo"
      }
    }
  }
}
     "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`:

```json
{
  "mcpServers": {
    "github-project-manager": {
      "command": "bunx",
      "args": ["-y", "mcp-github-project-manager"]
    }
  }
}
  1. 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"
          ]
        }
      }
    }
  2. Permission Issues

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

Agent Orchestration

The agent orchestration layer enables autonomous AI agents (Claude Code, Codex, Cursor, etc.) to self-assign tasks, report progress, submit work products, and operate within token budgets — all backed by GitHub-native storage.

How It Works

Agents interact with the orchestration layer through two compound tools — agent_work (task lifecycle) and agent_manage (administration):

┌─────────────────────────────────────────────────────────────────────┐
│                    Agent Orchestration Layer                        │
│                                                                     │
│  ┌───────────┐  ┌──────────────┐  ┌─────────────┐  ┌────────────┐  │
│  │  Agent     │  │  Task        │  │  Work       │  │  Budget    │  │
│  │  Registry  │  │  Checkout    │  │  Products   │  │  Manager   │  │
│  └───────────┘  └──────────────┘  └─────────────┘  └────────────┘  │
│         │              │                │                │          │
│         ▼              ▼                ▼                ▼          │
│  ┌─────────────────────────────────────────────────────────────┐    │
│  │           GitHub-Native Storage (Issues + Projects)         │    │
│  │  • Agent registry → pinned issue (label: agent-registry)   │    │
│  │  • Task claims   → project custom fields                   │    │
│  │  • Work products → structured issue comments               │    │
│  │  • Budgets       → agent registry metadata                 │    │
│  └─────────────────────────────────────────────────────────────┘    │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘

Agent Compound Tools

Tool

Action

Purpose

agent_work

register

Register an AI agent with role, runtime, and capabilities

agent_work

checkout_task

Claim the next available task using a selection strategy

agent_work

release_task

Return a task to the pool (blocked, wrong skills, etc.)

agent_work

complete_task

Mark a task as completed with a summary

agent_work

heartbeat

Report liveness, progress %, branch, and blockers

agent_work

check_work_status

Check the review/merge status of submitted work

agent_work

get_task_context

Get enriched context for a task

agent_manage

list

List registered agents, filter by role or status

agent_manage

deregister

Remove an agent from the registry

agent_manage

get_activity

Dashboard of all agents: tasks, progress, heartbeat, budget

agent_manage

submit_work_product

Submit code changes with branch, PR, files, and test results

agent_manage

get_budget

Check an agent's token budget (used, remaining, warnings)

agent_manage

set_budget

Configure token budget, warning threshold, hard stop, reset period

Quick Start: Autonomous Agent Loop

// 1. Register the agent
{"tool": "agent_work", "arguments": {"action": "register", "name": "claude-eng-1", "role": "engineer", "runtime": "claude-code", "capabilities": ["typescript", "react", "testing"]}}
// → { id: "agent-abc123", status: "idle", ... }

// 2. Check out a task
{"tool": "agent_work", "arguments": {"action": "checkout_task", "agentId": "agent-abc123", "strategy": "highest_priority"}}
// → { success: true, issueNumber: 42, issueTitle: "Add login form", branchSuggestion: "feat/42-add-login-form" }

// 3. Get full context
{"tool": "agent_work", "arguments": {"action": "get_task_context", "issueNumber": 42}}
// → { issue: {...}, milestone: {...}, acceptanceCriteria: [...], codingStandards: "..." }

// 4. Work on the task, sending heartbeats periodically
{"tool": "agent_work", "arguments": {"action": "heartbeat", "agentId": "agent-abc123", "status": "working", "taskId": "issue-42", "progress": 60, "progressSummary": "Tests passing, working on edge cases", "currentBranch": "feat/42-add-login-form"}}

// 5. Submit the work product
{"tool": "agent_manage", "arguments": {"action": "submit_work_product", "agentId": "agent-abc123", "taskId": "issue-42", "issueNumber": 42, "branch": "feat/42-add-login-form", "prNumber": 99, "summary": "Added login form with email/password validation"}}

// 6. Complete the task
{"tool": "agent_work", "arguments": {"action": "complete_task", "agentId": "agent-abc123", "taskId": "issue-42", "summary": "Implemented login form with validation and tests"}}

// 7. Repeat: checkout next task
{"tool": "agent_work", "arguments": {"action": "checkout_task", "agentId": "agent-abc123", "strategy": "highest_priority"}}

Subagent Hierarchy

Agents can register child agents using parentAgentId. This enables multi-agent architectures:

// Parent agent registers itself
{"tool": "agent_work", "arguments": {"action": "register", "name": "lead-agent", "role": "pm", "runtime": "claude-code"}}
// → { id: "agent-lead" }

// Parent spawns a sub-agent
{"tool": "agent_work", "arguments": {"action": "register", "name": "worker-1", "role": "engineer", "runtime": "claude-code", "parentAgentId": "agent-lead", "capabilities": ["typescript", "testing"]}}

// Deregistering the parent cascades to all children
{"tool": "agent_manage", "arguments": {"action": "deregister", "agentId": "agent-lead"}}
// → Removes lead-agent and worker-1

Budget Enforcement

Token budgets prevent runaway AI costs:

// Set a daily budget with 80% warning
{"tool": "agent_manage", "arguments": {"action": "set_budget", "agentId": "agent-abc123", "totalTokens": 500000, "warningThreshold": 0.8, "hardStop": true, "resetPeriod": "daily"}}

// Check budget status before expensive operations
{"tool": "agent_manage", "arguments": {"action": "get_budget", "agentId": "agent-abc123"}}
// → { usedTokens: 350000, remainingTokens: 150000, usagePercent: 70, isWarning: false, isExhausted: false }

GitHub-Native Data Model

All orchestration state lives in your GitHub repository — no external database required:

Data

Storage

Details

Agent registry

Pinned issue

JSON body on an issue labeled agent-registry

Task claims

Project custom fields

agent_claimed_by, agent_claimed_at, agent_status, agent_work_branch, agent_pr_number

Work products

Issue comments

Structured comments with <!-- agent-work-product: --> markers

Budgets

Agent metadata

Stored in the agent registry alongside each agent record

Heartbeats

Agent metadata

lastHeartbeat timestamp on the agent record

Configuration

Constant

Default

Description

Heartbeat timeout

30 minutes

Agent is considered stale after this period

Default budget

500,000 tokens

Initial token budget per agent

Registry label

agent-registry

GitHub issue label for the agent registry

See the Tool Reference for detailed parameter documentation.

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

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

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

✅ Complete

Real-time updates; fail-closed HMAC signature validation + SSE streaming

AI-Powered Features

Feature

Status

Notes

PRD Generation

✅ Complete

Multi-provider AI support with comprehensive PRD creation

Task Generation

✅ Complete

AI-powered parsing of PRDs into actionable tasks

Feature Addition

✅ Complete

Smart feature addition with impact analysis

Task Complexity Analysis

✅ Complete

Detailed AI analysis with risk assessment

Task Recommendations

✅ Complete

AI-powered next task recommendations

Task Expansion

✅ Complete

Break down complex tasks into subtasks

PRD Enhancement

✅ Complete

AI-powered PRD improvement and gap analysis

Requirements Traceability

✅ Complete

End-to-end traceability matrix with coverage analysis

Requirements Traceability

Feature

Status

Notes

Business Requirements Extraction

✅ Complete

Extract from PRD objectives and success metrics

Use Case Generation

✅ Complete

Actor-goal-scenario structure with alternatives

Traceability Links

✅ Complete

Bidirectional links with impact analysis

Coverage Analysis

✅ Complete

Gap identification and orphaned task detection

Change Tracking

✅ Complete

Requirement change impact analysis

Verification Tracking

✅ Complete

Test case mapping and verification status

MCP Implementation

Component

Status

Notes

Tool Definitions

✅ Complete

All core tools implemented with Zod validation

Resource Management

✅ Complete

Full CRUD operations with versioning

Security

✅ Complete

Token validation, fail-closed webhook signatures, file-mounted secrets (SECRETS_DIR)

Error Handling

✅ Complete

According to MCP specifications

Transport

✅ Complete

Stdio and HTTP support

See .planning/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

  • Dependency & SDK modernization (2026-07-15):

    • Migrated to Vercel AI SDK v5 and Zod v4 (coupled upgrade; MCP SDK 1.29 accepts Zod 4)

    • Aligned Octokit type packages with @octokit/rest 22

    • Cleared the critical Handlebars vulnerability and all high-severity advisories

  • Architecture & reliability (2026-07-15):

    • Decomposed the ProjectManagementService facade (extracted IssueService, RoadmapService; automation delegates to ProjectAutomationService)

    • Broke a circular dependency; health check now performs a real GitHub rate-limit probe

    • Fail-closed webhook signature validation; file-mounted secrets (SECRETS_DIR) with rotation

    • Size-bounded cache eviction (MAX_CACHE_ENTRIES) and a namespace-index cleanup fix

  • 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

Remaining gaps prioritized for future development (updated 2026-07-15). The live, code-verified status is in docs/remediation/GAP-TRACKER.md.

  1. Distributed Caching:

    • ResourceCache now has persistence (CachePersistence) and size-bounded oldest-first eviction (MAX_CACHE_ENTRIES). Still single-instance only — no distributed/shared cache for multi-instance deployments.

  2. Performance Optimization:

    • No query batching for related resources

    • Missing background refresh for frequently accessed resources

    • Incomplete prefetching for related resources

  3. Data Visualization and Reporting (roadmap phase 11, not yet built):

    • No built-in visualization generators for metrics

    • Missing report generation capabilities

    • Limited time-series data analysis

Resolved since earlier snapshots: real-time webhook integration + SSE streaming, automation-rule management, cache persistence + eviction, and a fail-closed webhook signature check.

Documentation

Getting Started

Reference

Guides

Development

Interactive Documentation

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

Development

Testing

# Unit tests
npm test

# AI service/tool tests
npm run test:ai

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

# E2E MCP tool suite (mocked GitHub/AI)
npm run test:e2e:tools

Code Quality

# Lint code
npm run lint

# Type check
npx tsc --noEmit

# 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

Install Server
A
license - permissive license
C
quality
C
maintenance

Maintenance

Maintainers
Response time
2moRelease cycle
4Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • A MCP server built for developers enabling Git based project management with project and personal…

  • Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

  • Task manager your agent can fully operate: boards, tasks, sprints, roles, worklogs, day planner.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kunwarVivek/mcp-github-project-manager'

If you have feedback or need assistance with the MCP directory API, please join our Discord server