-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Description
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.