MCP HubMCP Hub
kunwarVivek

mcp-github-project-manager

by: kunwarVivek

a mcp server to manage github project's functionality

17created 13/12/2024
Visit
GitHub
management

📌Overview

Purpose: To enable LLM clients to manage GitHub Projects programmatically through a Model Context Protocol (MCP) server.

Overview: This MCP server implementation provides a structured way to access GitHub Projects functionality. It leverages GitHub's GraphQL API to facilitate the management of projects, milestones, sprints, and other project-related metrics while adhering to MCP standards for state management and error handling.

Key Features:

  • Project Management
    Allows users to create and manage GitHub Projects (v2), configure project settings, and control visibility and access.

  • Project Resources
    Supports management of issues and milestones, sprint planning and tracking, custom fields and views, as well as resource versioning and locking.

  • MCP Implementation
    Ensures full compliance with the MCP specifications, offering standardized tool definitions, efficient resource state management, and robust error handling.

  • GitHub Integration
    Features seamless integration with GitHub's GraphQL API, including effective rate limit handling and optimistic concurrency, with future plans for webhook support.


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)
    • Manage project settings and configurations
  • MCP Implementation

    • Full MCP specification compliance
    • Comprehensive error handling
  • GitHub Integration

    • GraphQL API integration
    • Rate limit handling

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 the following permissions:

  • repo (Full repository access)
  • project (Project access)

Usage

# Start the MCP server
npm start

# Run tests
npm test

See the 1 for detailed usage instructions.

Architecture

The server follows Clean Architecture principles with distinct layers:

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

See 1 for detailed architecture documentation.

Current Status

Core Features

FeatureStatus
Project Creation✅ Complete
Milestone Management✅ Complete
Sprint Planning✅ Complete
Issue Management✅ Complete

MCP Implementation

ComponentStatus
Tool Definitions✅ Complete
Resource Management✅ Complete
Error Handling🏗️ In Progress

See 1 for detailed implementation status.

Documentation

  • 1 - Detailed usage instructions
  • 1 - System architecture and design

Development

Testing

# Unit tests
npm test

Code Quality

# Lint code
npm run lint

# Type check
npm run type-check

Contributing

See 1 for development guidelines.

License

MIT