Skip to main content

MCP Server for interacting with GitHub Projects V2

Project description

GitHub Projects V2 MCP Server

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.

Features

  • List and view GitHub Projects V2 for users and organizations
  • Get project fields and items (issues, PRs, draft issues)
  • Create issues and add them to projects
  • Create draft issues directly in projects
  • Update project item field values
  • Delete items from projects

Usage

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).

Option 1: Using Published Package

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.

Option 2: From Source Code

To run the project directly from source code, follow these steps:

Setup

  1. Clone the repository:

    git clone git@github.com:Arclio/github-projects-mcp.git
    cd github-projects-mcp
    
  2. Create and activate a virtual environment:

    uv venv
    source venv/bin/activate
    
  3. Install dependencies:

    uv pip install -e .
    
  4. 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
    

Usage from source code

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.

Available Tools

  • list_projects: List GitHub Projects V2 for a given organization or user
  • get_project_fields: Get fields available in a GitHub Project V2
  • get_project_items: Get items in a GitHub Project V2 (supports filtering by state or custom single-select fields)
  • create_issue: Create a new GitHub issue
  • add_issue_to_project: Add an existing GitHub issue to a Project V2
  • update_project_item_field: Update a field value for a project item
  • create_draft_issue: Create a draft issue directly in a GitHub Project V2
  • delete_project_item: Delete an item from a GitHub Project V2

See tool documentation in the server code for detailed usage information.

Development

The project is structured as follows:

  • src/github_projects_mcp/: Main package directory
    • server.py: MCP server implementation with tool definitions
    • github_client.py: GraphQL client for GitHub API interactions

To contribute, make sure to:

  1. Add proper error handling for all GraphQL operations
  2. Add type annotations for all functions and parameters
  3. Update documentation when adding new tools or features

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_arclio_github_projects_mcp-0.3.0.tar.gz (26.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file iflow_mcp_arclio_github_projects_mcp-0.3.0.tar.gz.

File metadata

  • Download URL: iflow_mcp_arclio_github_projects_mcp-0.3.0.tar.gz
  • Upload date:
  • Size: 26.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_arclio_github_projects_mcp-0.3.0.tar.gz
Algorithm Hash digest
SHA256 9d381320e0869808ab64a12ad7b40d2f6c6d3dfa2be911c7d21c9d4d7d105ab4
MD5 588b7c8629fdd5ff59000e1c7709da58
BLAKE2b-256 06b460ab7aa1732254c54b8eac6b7a5f24896c62db59f43dbbea7b1c64d83872

See more details on using hashes here.

File details

Details for the file iflow_mcp_arclio_github_projects_mcp-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_arclio_github_projects_mcp-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 17.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_arclio_github_projects_mcp-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2064cdeefe41322c2c774b9b01b95e46a15ed2155c2b702a79a73e0404d04152
MD5 37951f5332c46143fc5e09e5829460c7
BLAKE2b-256 183dc2f5ae919a0c0aa9d9164189f7cbeafdcde5f3e4ed138cb59422d7ed9c06

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page