Problem
The server currently has excellent tools for writing to project boards (create issues, assign iterations, update status) and reading metadata (get_project_info, get_repository_info). But there's no tool for reading the actual board items — the issues/PRs on a project with their current field values (status, iteration, custom fields).
This means AI agents can set up a project beautifully but can't inspect its current state without falling back to gh project item-list CLI or raw GraphQL queries — which defeats the purpose of the MCP abstraction.
Use Case
When planning work, an agent needs to answer: "What's on the board right now, what sprint is each item in, and what's its status?" This is the most common read operation for project management and currently requires dropping out of MCP tools.
Suggested Tool
list_project_items
List items on a ProjectV2 board with their field values.
Parameters:
owner (string, required): Project owner
projectNumber (number, required): Project number
status (string, optional): Filter by status ("Todo", "In Progress", "Done")
iterationId (string, optional): Filter by iteration
limit (number, optional): Max items to return (default: 50)
Returns: Array of items with:
itemId: Project item node ID
content: Issue/PR number, title, state
status: Current status field value
iteration: Current iteration/sprint title
labels: Label names
milestone: Milestone title
Example response:
[
{
"itemId": "PVTI_...",
"content": { "number": 132, "title": "Camera framing for spatial views", "state": "OPEN", "type": "Issue" },
"status": "Todo",
"iteration": "Sprint 4 (Week 4)",
"labels": ["bug", "astro"],
"milestone": "Phase 11: Semantic Space & Arkivathon"
}
]
Implementation Notes
The GraphQL query would use ProjectV2.items with field value introspection — similar to what get_project_info already does for fields, but extended to items:
query($projectId: ID!, $first: Int!) {
node(id: $projectId) {
... on ProjectV2 {
items(first: $first) {
nodes {
id
content {
... on Issue { number title state }
... on PullRequest { number title state }
}
fieldValues(first: 10) {
nodes {
... on ProjectV2ItemFieldSingleSelectValue { name field { ... on ProjectV2SingleSelectField { name } } }
... on ProjectV2ItemFieldIterationValue { title field { ... on ProjectV2IterationField { name } } }
}
}
}
}
}
}
}
This would complete the read/write symmetry of the server and make it fully self-sufficient for project management workflows.
Problem
The server currently has excellent tools for writing to project boards (create issues, assign iterations, update status) and reading metadata (
get_project_info,get_repository_info). But there's no tool for reading the actual board items — the issues/PRs on a project with their current field values (status, iteration, custom fields).This means AI agents can set up a project beautifully but can't inspect its current state without falling back to
gh project item-listCLI or raw GraphQL queries — which defeats the purpose of the MCP abstraction.Use Case
When planning work, an agent needs to answer: "What's on the board right now, what sprint is each item in, and what's its status?" This is the most common read operation for project management and currently requires dropping out of MCP tools.
Suggested Tool
list_project_itemsList items on a ProjectV2 board with their field values.
Parameters:
owner(string, required): Project ownerprojectNumber(number, required): Project numberstatus(string, optional): Filter by status ("Todo", "In Progress", "Done")iterationId(string, optional): Filter by iterationlimit(number, optional): Max items to return (default: 50)Returns: Array of items with:
itemId: Project item node IDcontent: Issue/PR number, title, statestatus: Current status field valueiteration: Current iteration/sprint titlelabels: Label namesmilestone: Milestone titleExample response:
[ { "itemId": "PVTI_...", "content": { "number": 132, "title": "Camera framing for spatial views", "state": "OPEN", "type": "Issue" }, "status": "Todo", "iteration": "Sprint 4 (Week 4)", "labels": ["bug", "astro"], "milestone": "Phase 11: Semantic Space & Arkivathon" } ]Implementation Notes
The GraphQL query would use
ProjectV2.itemswith field value introspection — similar to whatget_project_infoalready does for fields, but extended to items:This would complete the read/write symmetry of the server and make it fully self-sufficient for project management workflows.