MCP save_note can't edit an existing comment
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
Problem
save_note creates a comment on a merge request or work item, or replies to a thread. It can't change a comment that already exists. Other save_* tools (save_work_item, save_merge_request) create or update, so the name suggests editing is supported when it isn't.
When an agent needs to fix its own comment, for example to correct a link that pointed to the wrong issue or move a footnote after a reviewer's feedback, it has no MCP option. It either falls back to the REST or GraphQL API through another tool, or posts a second comment with the correction, which leaves the thread harder to read.
Proposal
- Add an optional
note_idtosave_note. When it's present, update that note's body instead of creating a new one, using the existingupdateNotemutation. - Keep the current target identification (
url, ormerge_request_iid/work_item_iidplus a project or group) so the tool can confirm the note belongs to that merge request or work item. - Return the updated note, and a clear error when the note doesn't exist or the user isn't allowed to edit it.
- Say in the tool description that
save_notecreates a comment, replies to a thread, or edits an existing comment withnote_id.
Open questions for engineering
- Whether editing should be limited to the caller's own notes, matching the UI, or follow the full note edit permissions.
- How tool governance should treat this: same write category as creating a note, or separate so admins can allow comments without allowing edits.
- Whether internal notes need any extra handling when edited.
Out of scope
- Deleting comments.
- Resolving or unresolving threads.
Edited by 🤖 GitLab Bot 🤖