mcp-github-project-manager
GitHub Project Manager MCP
A Model Context Protocol (MCP) server that provides comprehensive tools for managing GitHub projects, milestones, tasks, and sprints. This server integrates deeply with GitHub Projects V2, offering features like automated kanban workflows, sprint planning, and custom field management.
Features
- Project Management
- Create and manage project boards
- Configure automated kanban workflows
- Custom fields and views
- Project status tracking
- Issue Management
- Create and manage issues with priorities
- Assign users and labels
- Link issues to milestones
- Track issue status and progress
- Milestone Management
- Create and track milestones
- Due date management
- Progress tracking
- Overdue milestone alerts
- Sprint Management
- Sprint planning and execution
- Sprint metrics and burndown
- Issue assignment to sprints
- Sprint status tracking
Installation
- Clone the repository:
- Install dependencies:
- Build the server:
Configuration
Set the following environment variables:
GITHUB_TOKEN
: Your GitHub Personal Access TokenGITHUB_OWNER
: The GitHub repository ownerGITHUB_REPO
: The GitHub repository name
The token needs the following permissions:
repo
- Full control of private repositoriesproject
- Full control of organization projects
Testing
The project includes comprehensive test coverage across all layers:
- Run all tests:
- Run tests with coverage:
- Run specific test suites:
- Watch mode for development:
Test Structure
__tests__/unit/
- Unit tests for individual componentsinfrastructure/github/
- Tests for GitHub API integrationservices/
- Tests for business logic layer
__tests__/integration/
- Integration tests for complete workflows__tests__/setup.ts
- Common test setup and mock data
MCP Tools
create_roadmap
Create a comprehensive project roadmap with milestones and tasks.
plan_sprint
Plan a new sprint with selected issues.
get_milestone_metrics
Get progress metrics for a milestone.
get_sprint_metrics
Get metrics for a specific sprint.
Architecture
The server follows Clean Architecture principles with clear separation of concerns:
- Domain Layer: Core business entities and repository interfaces
- Infrastructure Layer: GitHub API integration and repository implementations
- Service Layer: Business logic and coordination between repositories
- MCP Layer: Tool definitions and request handling
Project Structure
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Run tests to ensure everything works (
npm test
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
License
This project is licensed under the MIT License - see LICENSE for details.
Provides comprehensive tools for managing GitHub projects, milestones, tasks, and sprints. This server integrates deeply with GitHub Projects V2, offering features like automated kanban workflows, sprint planning, and custom field management.