TODO: MCP sprint tools cannot clear points/labels back to null

todo-mcp-clear-points-labels Todo

open todo

TODO: MCP sprint tools cannot clear points/labels back to null

Problem

move_sprint_item maps None to _UNSET (don't send), so MCP callers cannot explicitly clear points or labels back to null once set. This is a gap in the MCP-to-SDK mapping pattern.

Work Required

Add a convention for "clear this field" in the MCP layer. Options:
  • Accept a special sentinel string like "clear" or 0 for points, "" for labels
  • Add a clear_points: bool parameter
  • Fix at SDK level: distinguish None (clear) from _UNSET (don't send) and expose both through MCP

Forgejo Issues

  • pal-e-docs-mcp #33 — Clear points/labels to null (the main fix)
  • pal-e-docs-mcp #34 — Verify bulk_move_items backend supports points field

References

  • forgejo_admin/pal-e-docs-mcp PR #32 — QA nits #1 and #2
  • pal-e-docs-sdk/src/pal_e_docs_sdk/sprints.py line 155 — _UNSET sentinel
  • pal-e-docs-mcp/src/pal_e_docs_mcp/tools/sprints.pymove_sprint_item