What's new
Performance: GraphQL batch queries replace N+1 REST calls
Every list_backlog and select_next_issue call previously made N+1 GitHub REST API requests — one GET /issues page fetch plus one GET /issues/{n}/sub_issues per issue. On repos with 500+ open issues this burned hundreds of rate-limit tokens per call, exhausting the 5000 req/hr budget and blocking Jenkins from posting commit statuses.
Changes:
listOpenIssuesWithParents— single paginated GraphQL query returns issues and parent relationships in one round-trip per page (replaceslistOpenIssues+ N×getIssueParent)getPrStatus— single GraphQL query replaces 3 serial REST calls (PR + check-runs + reviews)ensureLabelsExist— single GraphQL labels query replaces 12 serialGET /labels/{name}checks
All three changes use a graceful fallback: GraphQL → REST if the GraphQL query fails.
New file
src/services/github-graphql.ts— centralised GraphQL query constants and response types
Upgrading
npm install -g mcp-git-issue-priority@1.3.0