Skip to content

[Feature Request] Add GitHub Projects V2 support via GraphQL API #3136

@fbetancourtc

Description

@fbetancourtc

Context

I'm using the GitHub MCP server and discovered a mismatch between the exposed tools and GitHub's current Projects API.

The server exposes tools like list_projects, create_project_column, etc., which rely on the Classic Projects REST API (/repos/:owner/:repo/projects).

However, Classic Projects are deprecated, and modern GitHub Projects (Projects V2) are only accessible via GraphQL (projectsV2).

Problem

  • list_projects exists but fails with 404 when used on Projects V2
  • The MCP config allows projects toolset, but the server implementation does not support Projects V2
  • This creates a false expectation that "projects" are supported when only legacy Classic Projects are implemented

Request

Please add first-class support for GitHub Projects V2 to the GitHub MCP server, implemented via the GitHub GraphQL API.

Minimum required tools

Tool Description
list_projects_v2(owner) List Projects V2 for a user/org
get_project_v2(project_id) Get project details
list_project_items_v2(project_id) List items in a project
create_project_item_v2(project_id, content_id) Add issue/PR to project
update_project_item_field_v2(item_id, field_id, value) Update field values

Optional / advanced

  • List project fields (status, iteration, custom fields)
  • Query items by field values
  • Move items between status columns (field updates)

Implementation notes

  • Use GitHub GraphQL API (projectsV2 queries/mutations)
  • Reuse existing auth/token handling
  • Clearly distinguish projects_classic vs projects_v2 in tool naming to avoid ambiguity
  • If Projects V2 is not supported, the server should explicitly state this instead of exposing misleading tools

Expected outcome

  • MCP users can manage modern GitHub Projects directly
  • No reliance on gh api graphql as a workaround
  • Tool availability accurately reflects what the server actually supports

Additional context


Happy to contribute a PR, sample GraphQL queries, or schema definitions if helpful.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions