From 3393cd975660996a3282dc6b282805139b3ff5da Mon Sep 17 00:00:00 2001 From: Chris Coutinho Date: Wed, 25 Mar 2026 08:14:59 +0100 Subject: [PATCH] fix: correct tool annotations to match ADR-017 conventions - Add destructiveHint=True to collectives_remove_tag (matches "remove" keyword pattern in annotation tests) - Change collectives_update_collective to idempotentHint=False (update operations are non-idempotent per project convention) Co-Authored-By: Claude Opus 4.6 (1M context) --- nextcloud_mcp_server/server/collectives.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/nextcloud_mcp_server/server/collectives.py b/nextcloud_mcp_server/server/collectives.py index cdea6a33..3a5dc4ef 100644 --- a/nextcloud_mcp_server/server/collectives.py +++ b/nextcloud_mcp_server/server/collectives.py @@ -205,7 +205,7 @@ def configure_collectives_tools(mcp: FastMCP): @mcp.tool( title="Update Collective", - annotations=ToolAnnotations(idempotentHint=True, openWorldHint=True), + annotations=ToolAnnotations(idempotentHint=False, openWorldHint=True), ) @require_scopes("collectives:write") @instrument_tool @@ -422,7 +422,9 @@ def configure_collectives_tools(mcp: FastMCP): @mcp.tool( title="Remove Tag from Collective Page", - annotations=ToolAnnotations(idempotentHint=True, openWorldHint=True), + annotations=ToolAnnotations( + destructiveHint=True, idempotentHint=True, openWorldHint=True + ), ) @require_scopes("collectives:write") @instrument_tool