Skip to content

Add read tools for ProjectV2 status updates to the projects toolset #1963

@e-straight

Description

@e-straight

Problem

The projects toolset provides tools for projects, items, and fields (list_projects, get_project, list_project_items, get_project_field, etc.) but has no way to read ProjectV2StatusUpdate objects.

The GitHub GraphQL API fully supports querying status updates via the statusUpdates connection on ProjectV2:

query {
  user(login: "octocat") {
    projectV2(number: 2) {
      statusUpdates(first: 50, orderBy: {field: CREATED_AT, direction: DESC}) {
        nodes {
          id
          body
          status
          createdAt
          startDate
          targetDate
          creator { login }
        }
      }
    }
  }
}

ProjectV2StatusUpdate also implements the Node interface, so individual updates can be fetched by global ID.

Why this matters

Project status updates are a first-class feature of GitHub Projects V2 — they let maintainers post periodic summaries of project health, progress, and blockers. Without read access through the MCP server, agents cannot:

  • Summarize recent status updates for a project
  • Build workflows that roll up individual status updates into periodic reports
  • Reference prior status updates when composing new ones
  • Use status updates as context for triaging or prioritizing work

This is especially impactful for agents running in sandboxed environments (e.g., GitHub Actions) that rely on the MCP server as their sole interface to the GitHub API.

Proposed tools

Two new read-only tools, consistent with existing patterns:

list_project_status_updates — List recent status updates for a project, with pagination support. Parameters: owner, owner_type, project_number, per_page, after.

get_project_status_update — Get a single status update by node ID. Parameters: status_update_id.

Both would use scopes.ReadProject and set ReadOnlyHint: true.

The consolidated tools (projects_list, projects_get) would also gain corresponding method entries.

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