MCP tool: expose title param in update_board_item #45

Closed
opened 2026-03-22 17:24:19 +00:00 by forgejo_admin · 3 comments

Type

Feature

Lineage

plan-pal-e-docs → Board Workflow → split from pal-e-docs #192 per review review-281-2026-03-22

Repo

forgejo_admin/pal-e-mcp

User Story

As a session agent correcting a board item title
I want the MCP update_board_item tool to accept a title parameter
So that I can fix stale titles programmatically without relying on sync

Context

The pal-e-docs API (PATCH /boards/{slug}/items/{id}) and the SDK (BoardItemUpdate schema) both already support title. But the MCP tool in pal-e-mcp does not expose it — the tool definition at src/pal_e_mcp/tools/boards.py line 209 omits the title parameter.

This is a one-line addition: add title: str | None = None to the tool's parameter list and pass it through to the SDK call.

Split from pal-e-docs #192 which now covers only the sync_board title drift detection.

File Targets

Files the agent should modify:

  • src/pal_e_mcp/tools/boards.pyupdate_board_item tool definition (~line 209), add optional title parameter and pass to SDK

Files the agent should NOT touch:

  • SDK (pal-e-docs-sdk) — already supports title
  • API (pal-e-docs) — already supports title

Acceptance Criteria

  • MCP update_board_item tool accepts optional title string parameter
  • Calling update_board_item with title="new title" updates the board item title
  • Omitting title leaves existing title unchanged (backward compatible)

Test Expectations

  • Unit test: tool call with title param returns updated item with new title
  • Unit test: tool call without title param leaves title unchanged
  • Run command: pytest tests/ -k update_board_item

Constraints

  • Follow the existing parameter pattern in the tool (see points, labels as examples)
  • Must be backward compatible — existing calls without title must not break

Checklist

  • PR opened
  • Tests pass
  • No unrelated changes
  • project-pal-e-docs — project this affects
  • pal-e-docs #192 — companion issue (sync_board title drift)
  • review-281-2026-03-22 — ticket review that identified the split
### Type Feature ### Lineage `plan-pal-e-docs` → Board Workflow → split from pal-e-docs #192 per review `review-281-2026-03-22` ### Repo `forgejo_admin/pal-e-mcp` ### User Story As a session agent correcting a board item title I want the MCP `update_board_item` tool to accept a `title` parameter So that I can fix stale titles programmatically without relying on sync ### Context The pal-e-docs API (`PATCH /boards/{slug}/items/{id}`) and the SDK (`BoardItemUpdate` schema) both already support `title`. But the MCP tool in `pal-e-mcp` does not expose it — the tool definition at `src/pal_e_mcp/tools/boards.py` line 209 omits the `title` parameter. This is a one-line addition: add `title: str | None = None` to the tool's parameter list and pass it through to the SDK call. Split from pal-e-docs #192 which now covers only the `sync_board` title drift detection. ### File Targets Files the agent should modify: - `src/pal_e_mcp/tools/boards.py` — `update_board_item` tool definition (~line 209), add optional `title` parameter and pass to SDK Files the agent should NOT touch: - SDK (`pal-e-docs-sdk`) — already supports title - API (`pal-e-docs`) — already supports title ### Acceptance Criteria - [ ] MCP `update_board_item` tool accepts optional `title` string parameter - [ ] Calling update_board_item with `title="new title"` updates the board item title - [ ] Omitting `title` leaves existing title unchanged (backward compatible) ### Test Expectations - [ ] Unit test: tool call with title param returns updated item with new title - [ ] Unit test: tool call without title param leaves title unchanged - Run command: `pytest tests/ -k update_board_item` ### Constraints - Follow the existing parameter pattern in the tool (see `points`, `labels` as examples) - Must be backward compatible — existing calls without `title` must not break ### Checklist - [ ] PR opened - [ ] Tests pass - [ ] No unrelated changes ### Related - `project-pal-e-docs` — project this affects - pal-e-docs #192 — companion issue (sync_board title drift) - `review-281-2026-03-22` — ticket review that identified the split
Author
Owner

Scope Review: NEEDS_REFINEMENT

Review note: review-282-2026-03-27

Scope is solid and the change is well-defined (1 file, 3 acceptance criteria, <5 min agent work). Two fixable issues:

  • Stale file path: src/pal_e_docs_mcp/tools/boards.py should be src/pal_e_mcp/tools/boards.py (repo renamed)
  • Stale repo name: ### Repo field says forgejo_admin/pal-e-docs-mcp, should be forgejo_admin/pal-e-mcp
  • Missing traceability labels: Board item #282 needs arch:mcp label; consider story:agent-write

Once the file path and repo name are corrected in the issue body and labels are added to the board item, this is READY.

## Scope Review: NEEDS_REFINEMENT Review note: `review-282-2026-03-27` Scope is solid and the change is well-defined (1 file, 3 acceptance criteria, <5 min agent work). Two fixable issues: - **Stale file path**: `src/pal_e_docs_mcp/tools/boards.py` should be `src/pal_e_mcp/tools/boards.py` (repo renamed) - **Stale repo name**: `### Repo` field says `forgejo_admin/pal-e-docs-mcp`, should be `forgejo_admin/pal-e-mcp` - **Missing traceability labels**: Board item #282 needs `arch:mcp` label; consider `story:agent-write` Once the file path and repo name are corrected in the issue body and labels are added to the board item, this is READY.
Author
Owner

Scope Review Corrections Needed

From review-282-2026-03-27:

Fix 1: Stale file paths from repo rename. Update issue body:

  • src/pal_e_docs_mcp/tools/boards.pysrc/pal_e_mcp/tools/boards.py
  • ### Repo field: forgejo_admin/pal-e-docs-mcpforgejo_admin/pal-e-mcp

Fix 2: Board item #282 needs arch:mcp and story:superuser-maintain labels (label update pending).

Once fixed → READY for next_up.

## Scope Review Corrections Needed From `review-282-2026-03-27`: **Fix 1:** Stale file paths from repo rename. Update issue body: - `src/pal_e_docs_mcp/tools/boards.py` → `src/pal_e_mcp/tools/boards.py` - `### Repo` field: `forgejo_admin/pal-e-docs-mcp` → `forgejo_admin/pal-e-mcp` **Fix 2:** Board item #282 needs `arch:mcp` and `story:superuser-maintain` labels (label update pending). Once fixed → READY for next_up.
Author
Owner

Issue body updated per scope review corrections.

Issue body updated per scope review corrections.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
forgejo_admin/pal-e-mcp#45
No description provided.