Skip to content

Add support for raw GraphQL queries #2437

@monperrus

Description

@monperrus

Feature Request: Raw GraphQL Query Tool

Problem

The current MCP server exposes a rich set of REST-based tools but has no way to execute arbitrary GraphQL queries against the GitHub API. This is a significant gap because several important GitHub operations are only available — or significantly richer — via GraphQL.

A concrete example that motivated this request: resolving pull request review threads requires the PRRT_xxx node ID, which is only returned by GraphQL. With the current MCP server there is no way to resolve review threads programmatically, even though pull_request_review_write supports the resolve_thread method and accepts a threadId.

Proposed Solution

Add a graphql tool that executes a raw GraphQL query or mutation against https://api.github.com/graphql, e.g.:

{
  "name": "graphql",
  "description": "Execute a raw GraphQL query or mutation against the GitHub API.",
  "parameters": {
    "query": "string — the GraphQL query or mutation",
    "variables": "object (optional) — variables to pass to the query"
  }
}

Use Cases

  • Fetching pull request review thread node IDs (PRRT_xxx) to resolve threads
  • Querying suggestedActors to discover the Copilot bot handle before assigning
  • Using assignCopilotToIssue mutation (currently only available via GraphQL)
  • Any operation that returns richer data via GraphQL than the equivalent REST endpoint

Notes

  • The existing list_issues tool already uses GraphQL under the hood, so the infrastructure is there
  • A raw query tool would unlock the full GitHub GraphQL API surface without requiring a new dedicated tool for every GraphQL-only feature

Thanks for the great work on the MCP server!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions