Update sprint MCP tools for points field + new boards/column #11
Labels
No labels
domain:backend
domain:devops
domain:frontend
status:approved
status:in-progress
status:needs-fix
status:qa
type:bug
type:devops
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
forgejo_admin/pal-e-mcp#11
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Plan
plan-2026-03-01-pal-e-sprints-- Phase: Schema Expansion (phase-sprints-schema-expansion)Repo
forgejo_admin/pal-e-docs-mcpUser Story
As Betty Sue
I want MCP tools that support the expanded sprint schema
So that I can assign points, use repo/project boards, and the needs_approval column from the main session
Context
The pal-e-docs API is being expanded with: repo/project item_types (PR #67), needs_approval column (PR #67), and a points field (separate PR). The MCP tools need to match. Existing issue #10 covers boards/column — this issue extends scope to include points. This issue should be worked AFTER both pal-e-docs PRs are merged.
File Targets
Files the agent should modify or create:
src/pal_e_docs_mcp/tools/sprints.py-- Update add_sprint_item to accept optionalpointsparam. Update item move/update to acceptpoints. Ensurerepoandprojectitem_types work. Ensureneeds_approvalcolumn works. get_sprint_board should return points.Files the agent should NOT touch:
Acceptance Criteria
add_sprint_itemaccepts optionalpointsinteger parameterpointsinteger parameterget_sprint_boardreturns points in each item's outputrepoandprojectitem_types work in all sprint toolsneeds_approvalcolumn works in all sprint toolsTest Expectations
Constraints
Checklist
Related
project-pal-e-sprints-- project this affectsphase-sprints-schema-expansion-- parent phasePR #32 Review
BLOCKERS
None.
NITS
Cannot clear
pointsvia MCP --move_sprint_itemmapsNoneto_UNSET(don't send), so there is no way for an MCP caller to explicitly clear points back to null. This is the same known limitation that exists forlabelsand is documented in theupdate_sprintcomment block (lines 88-92). Not a regression -- just a design constraint inherited from the MCP-to-SDK mapping pattern. Worth a follow-up issue if clearing points becomes a real workflow need.bulk_move_itemspassthrough assumption -- The description now advertisespointsas a valid key in the JSON array, but the MCP tool passes the parsed JSON list directly to the SDK, which passes it directly to the API. If the backend API's bulk endpoint does not supportpointsin its schema, callers will get a silent drop or a validation error. Not a blocker since this is a documentation-level concern and the backend likely supports it, but worth verifying.SOP COMPLIANCE
11-update-sprint-mcp-tools-points-boards-column)Closes #11Code Review
pointsinadd_sprint_item: Correctly passed aspoints=pointsto SDK. SDK'sadd_sprint_item(points: int | None = None)only includes it in the request body when not None. No sentinel needed for creation -- correct.pointsinmove_sprint_item: Correctly uses_UNSETsentinel (points_val = points if points is not None else _UNSET). SDK'supdate_sprint_item(points: Any = _UNSET)only includes it when not_UNSET. Matches the existinglabelspattern exactly.plan,phase,issue,todo,repo,project-- consistently listed acrossadd_sprint_item,get_sprint_board,get_backlog,create_sprint, andbulk_move_itemsdocstrings.backlog,todo,next_up,in_progress,needs_approval,qa,done-- consistently listed acrossadd_sprint_item,move_sprint_item,get_sprint_board,create_sprint, andbulk_move_itemsdocstrings.note_slugdescription: Correctly expanded to includerepoandprojectalongsideplanandphase.points) default toNone. Existing signatures unchanged.get_sprint,list_sprints,update_sprint,delete_sprint,remove_sprint_item-- none of these reference board types or columns, so no updates needed.VERDICT: APPROVED