| @@ -44,9 +44,13 @@ | ||
| 44 | 44 | 'execute_callback' => [self::class, 'applyLabels'], |
| 45 | 45 | 'permission_callback' => function () { |
| 46 | 46 | return PermissionGate::can('labels/manage'); |
| 47 | 47 | }, |
| 48 | - 'annotations' => ['bulk' => true], | |
| 48 | + // Mutating but reversible (labels can be removed) and re-applying | |
| 49 | + // the same set is a no-op — idempotent. 'bulk' was a non-standard | |
| 50 | + // hint the MCP client could not read; readonly:false is the real | |
| 51 | + // "this mutates" signal. | |
| 52 | + 'annotations' => ['readonly' => false, 'destructive' => false, 'idempotent' => true], | |
| 49 | 53 | ], |
| 50 | 54 | ]; |
| 51 | 55 | } |
| 52 | 56 | |