Manage GitHub Projects V2 using the GitHub GraphQL API.
A Model Context Protocol (MCP) server that provides tools for managing GitHub Projects V2 through Claude and other MCP clients. This server uses the GitHub GraphQL API for interacting with GitHub Projects V2.
This server can be used with any MCP client, such as Claude Desktop. Add it to
your MCP client configuration (e.g., claude_desktop_config.json
).
Here's an example configuration using uvx
as the command runner:
{
"mcpServers": {
"github-projects": {
"command": "uvx",
"args": [
"mcp-github-projects"
],
"env": {
"GITHUB_TOKEN": "your_pat_here"
}
}
}
}
Make sure to replace your_pat_here
with your actual GitHub Personal Access
Token.
To run the project directly from source code, follow these steps:
Clone the repository:
git clone git@github.com:Arclio/github-projects-mcp.git
cd github-projects-mcp
Create and activate a virtual environment:
uv venv
source venv/bin/activate
Install dependencies:
uv pip install -e .
Set your GitHub token as an environment variable:
Create a GitHub Personal Access Token and give it the necessary permissions.
The required permissions are: repo
, project
, and read:org
.
Add the token to your .env
file after running this command:
cp .env.example .env
Then add the following to your .env
file:
export GITHUB_TOKEN=your_personal_access_token
When using from source code, configure your MCP client as follows:
{
"mcpServers": {
"github-projects": {
"command": "uv",
"args": [
"--directory",
"/path/to/github-projects-mcp",
"run",
"mcp-github-projects"
],
"env": {
"GITHUB_TOKEN": "your_pat_here"
}
}
}
}
Make sure to replace /path/to/github-projects-mcp
and your_pat_here
with
your actual repository path and GitHub Personal Access Token.
list_projects
: List GitHub Projects V2 for a given organization or userget_project_fields
: Get fields available in a GitHub Project V2get_project_items
: Get items in a GitHub Project V2 (supports filtering by
state or custom single-select fields)create_issue
: Create a new GitHub issueadd_issue_to_project
: Add an existing GitHub issue to a Project V2update_project_item_field
: Update a field value for a project itemcreate_draft_issue
: Create a draft issue directly in a GitHub Project V2delete_project_item
: Delete an item from a GitHub Project V2See tool documentation in the server code for detailed usage information.
The project is structured as follows:
src/github_projects_mcp/
: Main package directory
server.py
: MCP server implementation with tool definitionsgithub_client.py
: GraphQL client for GitHub API interactionsTo contribute, make sure to:
Allows AI assistants to interact with the GitHub API for repository management, code collaboration, and other development tasks.
Interact with the GitHub API for file operations, repository management, and search.
Gitee API integration, repository, issue, and pull request management, and more.
Transforms any GitHub project into a documentation hub, enabling AI tools to access up-to-date documentation and code.
Integrates with the GitLab REST API to manage repositories, issues, and merge requests.
A server for GitHub project management with advanced resource management, capacity planning, and workload optimization capabilities.
Manage GitHub issues as a Kanban board using the gh CLI.
Generates Pull Request messages based on Git commits and changes.
Make git commits on behalf of AI to track AI contributions in your codebase.
Interact with Radicle (peer-to-peer code collaboration) and GitHub through a unified interface.