The MCP GitHub Project Manager is a powerful server that implements the Model Context Protocol to provide comprehensive GitHub project management with AI capabilities. It offers advanced task management, requirements traceability, and intelligent project planning through GitHub's API.
# 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
# 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
# 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
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)At least one AI provider is required for AI-powered features:
# Primary AI providers (at least one required)
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 (optional - uses defaults if not specified)
AI_MAIN_MODEL=claude-3-5-sonnet-20241022
AI_RESEARCH_MODEL=perplexity-llama-3.1-sonar-large-128k-online
AI_FALLBACK_MODEL=gpt-4o
AI_PRD_MODEL=claude-3-5-sonnet-20241022
# 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
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 |
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();
// 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
const result = await client.callTool("create_project", {
title: "My Project",
description: "A new GitHub project"
});
# 1. Generate PRD from project idea
generate_prd({
"projectIdea": "AI-powered task management system with real-time collaboration",
"projectName": "TaskAI Pro",
"author": "product-team",
"complexity": "high",
"timeline": "6 months",
"includeResearch": true
})
# 2. Parse PRD and generate tasks with traceability
parse_prd({
"prdContent": "<generated PRD content>",
"maxTasks": 30,
"createTraceabilityMatrix": true,
"includeUseCases": true,
"projectId": "task-ai-pro"
})
# 3. Get next task recommendations
get_next_task({
"sprintCapacity": 40,
"teamSkills": ["react", "node.js", "typescript"],
"maxComplexity": 7,
"includeAnalysis": true
})
# Add new feature with complete lifecycle
add_feature({
"featureIdea": "Advanced Analytics Dashboard",
"description": "Real-time analytics with custom charts and AI-powered insights",
"requestedBy": "product-manager",
"businessJustification": "Increase user engagement and provide actionable insights",
"targetUsers": ["project-managers", "team-leads", "executives"],
"autoApprove": true,
"expandToTasks": true,
"createLifecycle": true
})
{
"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"
}
}
}
}
For Claude Code CLI:
claude mcp add github-project-manager -- npx -y mcp-github-project-manager
{
"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"
}
}
}
}
Module Not Found Errors
Try using bunx
instead of npx
:
{
"mcpServers": {
"github-project-manager": {
"command": "bunx",
"args": ["-y", "mcp-github-project-manager"]
}
}
}
Windows-Specific Configuration
On Windows, you may need to use cmd
:
{
"mcpServers": {
"github-project-manager": {
"command": "cmd",
"args": [
"/c",
"npx",
"-y",
"mcp-github-project-manager"
]
}
}
}
Permission Issues
Make sure your GitHub token has the required permissions listed in the Configuration section.
To add this MCP server to Claude Code, run this command in your terminal:
claude mcp add-json "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 the official Claude Code MCP documentation for more details.
There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json
file so that it is available in all of your projects.
If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json
file.
To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".
When you click that button the ~/.cursor/mcp.json
file will be opened and you can add your server like this:
{
"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"
}
}
}
}
To add an MCP server to a project you can create a new .cursor/mcp.json
file or add it to the existing one. This will look exactly the same as the global MCP server example above.
Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.
The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.
You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.
To add this MCP server to Claude Desktop:
1. Find your configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
~/.config/Claude/claude_desktop_config.json
2. Add this to your configuration 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"
}
}
}
}
3. Restart Claude Desktop for the changes to take effect