gogcli-mcp 4.2.2 → 4.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,7 +7,7 @@
7
7
  },
8
8
  "metadata": {
9
9
  "description": "Google Sheets (and more) for Claude via gogcli — read, write, and manage spreadsheets",
10
- "version": "4.2.2"
10
+ "version": "4.2.3"
11
11
  },
12
12
  "plugins": [
13
13
  {
@@ -15,7 +15,7 @@
15
15
  "displayName": "gogcli",
16
16
  "source": "./",
17
17
  "description": "Google Sheets (and more) for Claude via gogcli — read, write, and manage spreadsheets",
18
- "version": "4.2.2",
18
+ "version": "4.2.3",
19
19
  "author": {
20
20
  "name": "Chris Hall"
21
21
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "gogcli-mcp",
3
3
  "displayName": "gogcli",
4
- "version": "4.2.2",
4
+ "version": "4.2.3",
5
5
  "description": "Google Sheets (and more) for Claude via gogcli — read, write, and manage spreadsheets",
6
6
  "author": {
7
7
  "name": "Chris Hall",
package/dist/index.js CHANGED
@@ -35530,6 +35530,7 @@ function registerAppScriptTools(server) {
35530
35530
  });
35531
35531
  server.registerTool("gog_appscript_create", {
35532
35532
  description: "Create a new, empty Apps Script project. Pass parentId to bind it to a Drive file (a Sheet, Doc or Form), which is what makes the script a container-bound script with access to that document; omit it for a standalone project. gog cannot upload code, so the project starts empty either way." + apiEnableNote,
35533
+ annotations: { destructiveHint: true },
35533
35534
  inputSchema: external_exports.object({
35534
35535
  title: external_exports.string().describe("Project title"),
35535
35536
  parentId: external_exports.string().optional().describe("Drive file ID to bind the project to (Sheet, Doc or Form). Omit for a standalone project."),
@@ -36031,6 +36032,7 @@ function registerChatTools(server) {
36031
36032
  });
36032
36033
  server.registerTool("gog_chat_spaces_create", {
36033
36034
  description: "Create a named Chat space, optionally seeding its membership. Members are added immediately and are notified \u2014 this is visible to other people the moment it runs, so confirm the member list before calling it." + workspaceOnlyNote,
36035
+ annotations: { destructiveHint: true },
36034
36036
  inputSchema: external_exports.object({
36035
36037
  displayName: external_exports.string().describe("Display name for the new space"),
36036
36038
  members: external_exports.array(external_exports.string()).optional().describe('Initial members, as email addresses or "users/..." resource names'),
@@ -36099,6 +36101,7 @@ function registerChatTools(server) {
36099
36101
  });
36100
36102
  server.registerTool("gog_chat_messages_send", {
36101
36103
  description: "Post a message to a Chat space. THIS IS IMMEDIATELY VISIBLE TO EVERYONE IN THE SPACE and cannot be unsent through this tool, so treat it like sending mail, not like saving a draft. Pass `thread` to reply inside an existing conversation (from gog_chat_threads_list or a message's thread field); omit it to start a new one. Text supports Chat's markdown-ish formatting (*bold*, _italic_, `code`)." + workspaceOnlyNote,
36104
+ annotations: { destructiveHint: true },
36102
36105
  inputSchema: external_exports.object({
36103
36106
  space: spaceParam,
36104
36107
  text: external_exports.string().optional().describe("Message text. Optional only when an attachment is supplied."),
@@ -36122,6 +36125,7 @@ function registerChatTools(server) {
36122
36125
  });
36123
36126
  server.registerTool("gog_chat_dm_send", {
36124
36127
  description: "Send a direct message to one person by email address, creating the DM space if this is the first message. Delivered immediately and cannot be unsent through this tool. For a room rather than a person, use gog_chat_messages_send." + workspaceOnlyNote,
36128
+ annotations: { destructiveHint: true },
36125
36129
  inputSchema: external_exports.object({
36126
36130
  email: external_exports.string().describe("Recipient email address"),
36127
36131
  text: external_exports.string().describe("Message text"),
@@ -36135,6 +36139,7 @@ function registerChatTools(server) {
36135
36139
  });
36136
36140
  server.registerTool("gog_chat_dm_space", {
36137
36141
  description: 'Resolve the DM space for an email address \u2014 the bridge from a person to the "spaces/..." name the message tools want. Creates the space if none exists yet, which is silent: it does not message the person.' + workspaceOnlyNote,
36142
+ annotations: { destructiveHint: true },
36138
36143
  inputSchema: external_exports.object({
36139
36144
  email: external_exports.string().describe("The other person's email address"),
36140
36145
  account: accountParam
@@ -36607,7 +36612,7 @@ function registerContactsTools(server) {
36607
36612
  });
36608
36613
  server.registerTool("gog_contacts_create", {
36609
36614
  description: "Create a new Google Contact.",
36610
- annotations: { destructiveHint: false },
36615
+ annotations: { destructiveHint: true },
36611
36616
  inputSchema: external_exports.object({
36612
36617
  givenName: external_exports.string().describe("Given (first) name"),
36613
36618
  familyName: external_exports.string().optional().describe("Family (last) name"),
@@ -36656,6 +36661,7 @@ function registerDocsTools(server) {
36656
36661
  });
36657
36662
  server.registerTool("gog_docs_create", {
36658
36663
  description: "Create a new Google Doc. Returns JSON with the new docId and URL.",
36664
+ annotations: { destructiveHint: true },
36659
36665
  inputSchema: external_exports.object({
36660
36666
  title: external_exports.string().describe("Title for the new document"),
36661
36667
  account: accountParam
@@ -36815,7 +36821,7 @@ function registerDriveTools(server) {
36815
36821
  });
36816
36822
  server.registerTool("gog_drive_rename", {
36817
36823
  description: "Rename a file or folder in Google Drive.",
36818
- annotations: { destructiveHint: true },
36824
+ annotations: { destructiveHint: false },
36819
36825
  inputSchema: external_exports.object({
36820
36826
  fileId: external_exports.string().describe("File or folder ID"),
36821
36827
  newName: external_exports.string().describe("New name"),
@@ -36826,7 +36832,7 @@ function registerDriveTools(server) {
36826
36832
  });
36827
36833
  server.registerTool("gog_drive_move", {
36828
36834
  description: "Move a file to a different folder in Google Drive.",
36829
- annotations: { destructiveHint: true },
36835
+ annotations: { destructiveHint: false },
36830
36836
  inputSchema: external_exports.object({
36831
36837
  fileId: external_exports.string().describe("File ID to move"),
36832
36838
  parentId: external_exports.string().describe("Destination folder ID"),
@@ -37492,7 +37498,7 @@ function registerSheetsTools(server) {
37492
37498
  });
37493
37499
  server.registerTool("gog_sheets_create", {
37494
37500
  description: "Create a new Google Spreadsheet. Returns JSON with the new spreadsheetId and URL.",
37495
- annotations: { destructiveHint: false },
37501
+ annotations: { destructiveHint: true },
37496
37502
  inputSchema: external_exports.object({
37497
37503
  title: external_exports.string().describe("Title for the new spreadsheet"),
37498
37504
  account: accountParam
@@ -37546,6 +37552,7 @@ function registerSlidesTools(server) {
37546
37552
  });
37547
37553
  server.registerTool("gog_slides_create", {
37548
37554
  description: "Create a new Google Slides presentation, optionally in a folder or copying from a template.",
37555
+ annotations: { destructiveHint: true },
37549
37556
  inputSchema: external_exports.object({
37550
37557
  title: external_exports.string().describe("Presentation title"),
37551
37558
  parent: external_exports.string().optional().describe("Destination folder ID"),
@@ -37560,6 +37567,7 @@ function registerSlidesTools(server) {
37560
37567
  });
37561
37568
  server.registerTool("gog_slides_copy", {
37562
37569
  description: "Copy a Google Slides presentation to a new presentation with the given title.",
37570
+ annotations: { destructiveHint: true },
37563
37571
  inputSchema: external_exports.object({
37564
37572
  presentationId: external_exports.string().describe("Presentation ID to copy"),
37565
37573
  title: external_exports.string().describe("Title for the new copy"),
@@ -37648,7 +37656,7 @@ function registerTasksTools(server) {
37648
37656
  });
37649
37657
  server.registerTool("gog_tasks_done", {
37650
37658
  description: "Mark a task as completed.",
37651
- annotations: { destructiveHint: true },
37659
+ annotations: { destructiveHint: false },
37652
37660
  inputSchema: external_exports.object({
37653
37661
  tasklistId: external_exports.string().describe("Task list ID"),
37654
37662
  taskId: external_exports.string().describe("Task ID"),
@@ -37672,7 +37680,7 @@ function registerTasksTools(server) {
37672
37680
  }
37673
37681
 
37674
37682
  // src/server.ts
37675
- var VERSION = true ? "4.2.2" : "0.0.0";
37683
+ var VERSION = true ? "4.2.3" : "0.0.0";
37676
37684
  var BASE_TOOL_REGISTRARS = [
37677
37685
  registerApiTools,
37678
37686
  registerAppScriptTools,
package/dist/lib.js CHANGED
@@ -33861,6 +33861,7 @@ function registerAppScriptTools(server) {
33861
33861
  });
33862
33862
  server.registerTool("gog_appscript_create", {
33863
33863
  description: "Create a new, empty Apps Script project. Pass parentId to bind it to a Drive file (a Sheet, Doc or Form), which is what makes the script a container-bound script with access to that document; omit it for a standalone project. gog cannot upload code, so the project starts empty either way." + apiEnableNote,
33864
+ annotations: { destructiveHint: true },
33864
33865
  inputSchema: external_exports.object({
33865
33866
  title: external_exports.string().describe("Project title"),
33866
33867
  parentId: external_exports.string().optional().describe("Drive file ID to bind the project to (Sheet, Doc or Form). Omit for a standalone project."),
@@ -34365,6 +34366,7 @@ function registerChatTools(server) {
34365
34366
  });
34366
34367
  server.registerTool("gog_chat_spaces_create", {
34367
34368
  description: "Create a named Chat space, optionally seeding its membership. Members are added immediately and are notified \u2014 this is visible to other people the moment it runs, so confirm the member list before calling it." + workspaceOnlyNote,
34369
+ annotations: { destructiveHint: true },
34368
34370
  inputSchema: external_exports.object({
34369
34371
  displayName: external_exports.string().describe("Display name for the new space"),
34370
34372
  members: external_exports.array(external_exports.string()).optional().describe('Initial members, as email addresses or "users/..." resource names'),
@@ -34433,6 +34435,7 @@ function registerChatTools(server) {
34433
34435
  });
34434
34436
  server.registerTool("gog_chat_messages_send", {
34435
34437
  description: "Post a message to a Chat space. THIS IS IMMEDIATELY VISIBLE TO EVERYONE IN THE SPACE and cannot be unsent through this tool, so treat it like sending mail, not like saving a draft. Pass `thread` to reply inside an existing conversation (from gog_chat_threads_list or a message's thread field); omit it to start a new one. Text supports Chat's markdown-ish formatting (*bold*, _italic_, `code`)." + workspaceOnlyNote,
34438
+ annotations: { destructiveHint: true },
34436
34439
  inputSchema: external_exports.object({
34437
34440
  space: spaceParam,
34438
34441
  text: external_exports.string().optional().describe("Message text. Optional only when an attachment is supplied."),
@@ -34456,6 +34459,7 @@ function registerChatTools(server) {
34456
34459
  });
34457
34460
  server.registerTool("gog_chat_dm_send", {
34458
34461
  description: "Send a direct message to one person by email address, creating the DM space if this is the first message. Delivered immediately and cannot be unsent through this tool. For a room rather than a person, use gog_chat_messages_send." + workspaceOnlyNote,
34462
+ annotations: { destructiveHint: true },
34459
34463
  inputSchema: external_exports.object({
34460
34464
  email: external_exports.string().describe("Recipient email address"),
34461
34465
  text: external_exports.string().describe("Message text"),
@@ -34469,6 +34473,7 @@ function registerChatTools(server) {
34469
34473
  });
34470
34474
  server.registerTool("gog_chat_dm_space", {
34471
34475
  description: 'Resolve the DM space for an email address \u2014 the bridge from a person to the "spaces/..." name the message tools want. Creates the space if none exists yet, which is silent: it does not message the person.' + workspaceOnlyNote,
34476
+ annotations: { destructiveHint: true },
34472
34477
  inputSchema: external_exports.object({
34473
34478
  email: external_exports.string().describe("The other person's email address"),
34474
34479
  account: accountParam
@@ -34941,7 +34946,7 @@ function registerContactsTools(server) {
34941
34946
  });
34942
34947
  server.registerTool("gog_contacts_create", {
34943
34948
  description: "Create a new Google Contact.",
34944
- annotations: { destructiveHint: false },
34949
+ annotations: { destructiveHint: true },
34945
34950
  inputSchema: external_exports.object({
34946
34951
  givenName: external_exports.string().describe("Given (first) name"),
34947
34952
  familyName: external_exports.string().optional().describe("Family (last) name"),
@@ -34990,6 +34995,7 @@ function registerDocsTools(server) {
34990
34995
  });
34991
34996
  server.registerTool("gog_docs_create", {
34992
34997
  description: "Create a new Google Doc. Returns JSON with the new docId and URL.",
34998
+ annotations: { destructiveHint: true },
34993
34999
  inputSchema: external_exports.object({
34994
35000
  title: external_exports.string().describe("Title for the new document"),
34995
35001
  account: accountParam
@@ -35149,7 +35155,7 @@ function registerDriveTools(server) {
35149
35155
  });
35150
35156
  server.registerTool("gog_drive_rename", {
35151
35157
  description: "Rename a file or folder in Google Drive.",
35152
- annotations: { destructiveHint: true },
35158
+ annotations: { destructiveHint: false },
35153
35159
  inputSchema: external_exports.object({
35154
35160
  fileId: external_exports.string().describe("File or folder ID"),
35155
35161
  newName: external_exports.string().describe("New name"),
@@ -35160,7 +35166,7 @@ function registerDriveTools(server) {
35160
35166
  });
35161
35167
  server.registerTool("gog_drive_move", {
35162
35168
  description: "Move a file to a different folder in Google Drive.",
35163
- annotations: { destructiveHint: true },
35169
+ annotations: { destructiveHint: false },
35164
35170
  inputSchema: external_exports.object({
35165
35171
  fileId: external_exports.string().describe("File ID to move"),
35166
35172
  parentId: external_exports.string().describe("Destination folder ID"),
@@ -35826,7 +35832,7 @@ function registerSheetsTools(server) {
35826
35832
  });
35827
35833
  server.registerTool("gog_sheets_create", {
35828
35834
  description: "Create a new Google Spreadsheet. Returns JSON with the new spreadsheetId and URL.",
35829
- annotations: { destructiveHint: false },
35835
+ annotations: { destructiveHint: true },
35830
35836
  inputSchema: external_exports.object({
35831
35837
  title: external_exports.string().describe("Title for the new spreadsheet"),
35832
35838
  account: accountParam
@@ -35880,6 +35886,7 @@ function registerSlidesTools(server) {
35880
35886
  });
35881
35887
  server.registerTool("gog_slides_create", {
35882
35888
  description: "Create a new Google Slides presentation, optionally in a folder or copying from a template.",
35889
+ annotations: { destructiveHint: true },
35883
35890
  inputSchema: external_exports.object({
35884
35891
  title: external_exports.string().describe("Presentation title"),
35885
35892
  parent: external_exports.string().optional().describe("Destination folder ID"),
@@ -35894,6 +35901,7 @@ function registerSlidesTools(server) {
35894
35901
  });
35895
35902
  server.registerTool("gog_slides_copy", {
35896
35903
  description: "Copy a Google Slides presentation to a new presentation with the given title.",
35904
+ annotations: { destructiveHint: true },
35897
35905
  inputSchema: external_exports.object({
35898
35906
  presentationId: external_exports.string().describe("Presentation ID to copy"),
35899
35907
  title: external_exports.string().describe("Title for the new copy"),
@@ -35982,7 +35990,7 @@ function registerTasksTools(server) {
35982
35990
  });
35983
35991
  server.registerTool("gog_tasks_done", {
35984
35992
  description: "Mark a task as completed.",
35985
- annotations: { destructiveHint: true },
35993
+ annotations: { destructiveHint: false },
35986
35994
  inputSchema: external_exports.object({
35987
35995
  tasklistId: external_exports.string().describe("Task list ID"),
35988
35996
  taskId: external_exports.string().describe("Task ID"),
@@ -36006,7 +36014,7 @@ function registerTasksTools(server) {
36006
36014
  }
36007
36015
 
36008
36016
  // src/server.ts
36009
- var VERSION = true ? "4.2.2" : "0.0.0";
36017
+ var VERSION = true ? "4.2.3" : "0.0.0";
36010
36018
  var BASE_TOOL_REGISTRARS = [
36011
36019
  registerApiTools,
36012
36020
  registerAppScriptTools,
package/manifest.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "manifest_version": "0.3",
4
4
  "name": "gogcli-mcp",
5
5
  "display_name": "gogcli",
6
- "version": "4.2.2",
6
+ "version": "4.2.3",
7
7
  "description": "Google Sheets (and more) for Claude via gogcli — read, write, and manage spreadsheets",
8
8
  "author": {
9
9
  "name": "Chris Hall",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gogcli-mcp",
3
- "version": "4.2.2",
3
+ "version": "4.2.3",
4
4
  "mcpName": "io.github.chrischall/gogcli-mcp",
5
5
  "description": "MCP server wrapping gogcli for Google service access",
6
6
  "author": "Claude Code (AI) <https://www.anthropic.com/claude>",
package/server.json CHANGED
@@ -7,12 +7,12 @@
7
7
  "source": "github",
8
8
  "subfolder": "packages/gogcli-mcp"
9
9
  },
10
- "version": "4.2.2",
10
+ "version": "4.2.3",
11
11
  "packages": [
12
12
  {
13
13
  "registryType": "npm",
14
14
  "identifier": "gogcli-mcp",
15
- "version": "4.2.2",
15
+ "version": "4.2.3",
16
16
  "transport": {
17
17
  "type": "stdio"
18
18
  },
@@ -82,6 +82,7 @@ export function registerAppScriptTools(server: McpServer): void {
82
82
  'Create a new, empty Apps Script project. Pass parentId to bind it to a Drive file (a Sheet, Doc or Form), which is '
83
83
  + 'what makes the script a container-bound script with access to that document; omit it for a standalone project. '
84
84
  + 'gog cannot upload code, so the project starts empty either way.' + apiEnableNote,
85
+ annotations: { destructiveHint: true },
85
86
  inputSchema: z.object({
86
87
  title: z.string().describe('Project title'),
87
88
  parentId: z.string().optional().describe('Drive file ID to bind the project to (Sheet, Doc or Form). Omit for a standalone project.'),
package/src/tools/chat.ts CHANGED
@@ -82,6 +82,7 @@ export function registerChatTools(server: McpServer): void {
82
82
  description:
83
83
  'Create a named Chat space, optionally seeding its membership. Members are added immediately and are notified — this '
84
84
  + 'is visible to other people the moment it runs, so confirm the member list before calling it.' + workspaceOnlyNote,
85
+ annotations: { destructiveHint: true },
85
86
  inputSchema: z.object({
86
87
  displayName: z.string().describe('Display name for the new space'),
87
88
  members: z.array(z.string()).optional().describe('Initial members, as email addresses or "users/..." resource names'),
@@ -176,6 +177,7 @@ export function registerChatTools(server: McpServer): void {
176
177
  + 'this tool, so treat it like sending mail, not like saving a draft. Pass `thread` to reply inside an existing '
177
178
  + 'conversation (from gog_chat_threads_list or a message\'s thread field); omit it to start a new one. Text supports '
178
179
  + 'Chat\'s markdown-ish formatting (*bold*, _italic_, `code`).' + workspaceOnlyNote,
180
+ annotations: { destructiveHint: true },
179
181
  inputSchema: z.object({
180
182
  space: spaceParam,
181
183
  text: z.string().optional().describe('Message text. Optional only when an attachment is supplied.'),
@@ -207,6 +209,7 @@ export function registerChatTools(server: McpServer): void {
207
209
  'Send a direct message to one person by email address, creating the DM space if this is the first message. Delivered '
208
210
  + 'immediately and cannot be unsent through this tool. For a room rather than a person, use gog_chat_messages_send.'
209
211
  + workspaceOnlyNote,
212
+ annotations: { destructiveHint: true },
210
213
  inputSchema: z.object({
211
214
  email: z.string().describe('Recipient email address'),
212
215
  text: z.string().describe('Message text'),
@@ -223,6 +226,7 @@ export function registerChatTools(server: McpServer): void {
223
226
  description:
224
227
  'Resolve the DM space for an email address — the bridge from a person to the "spaces/..." name the message tools '
225
228
  + 'want. Creates the space if none exists yet, which is silent: it does not message the person.' + workspaceOnlyNote,
229
+ annotations: { destructiveHint: true },
226
230
  inputSchema: z.object({
227
231
  email: z.string().describe('The other person\'s email address'),
228
232
  account: accountParam,
@@ -37,7 +37,7 @@ export function registerContactsTools(server: McpServer): void {
37
37
 
38
38
  server.registerTool('gog_contacts_create', {
39
39
  description: 'Create a new Google Contact.',
40
- annotations: { destructiveHint: false },
40
+ annotations: { destructiveHint: true },
41
41
  inputSchema: z.object({
42
42
  givenName: z.string().describe('Given (first) name'),
43
43
  familyName: z.string().optional().describe('Family (last) name'),
package/src/tools/docs.ts CHANGED
@@ -30,6 +30,7 @@ export function registerDocsTools(server: McpServer): void {
30
30
 
31
31
  server.registerTool('gog_docs_create', {
32
32
  description: 'Create a new Google Doc. Returns JSON with the new docId and URL.',
33
+ annotations: { destructiveHint: true },
33
34
  inputSchema: z.object({
34
35
  title: z.string().describe('Title for the new document'),
35
36
  account: accountParam,
@@ -118,7 +118,7 @@ export function registerDriveTools(server: McpServer): void {
118
118
 
119
119
  server.registerTool('gog_drive_rename', {
120
120
  description: 'Rename a file or folder in Google Drive.',
121
- annotations: { destructiveHint: true },
121
+ annotations: { destructiveHint: false },
122
122
  inputSchema: z.object({
123
123
  fileId: z.string().describe('File or folder ID'),
124
124
  newName: z.string().describe('New name'),
@@ -130,7 +130,7 @@ export function registerDriveTools(server: McpServer): void {
130
130
 
131
131
  server.registerTool('gog_drive_move', {
132
132
  description: 'Move a file to a different folder in Google Drive.',
133
- annotations: { destructiveHint: true },
133
+ annotations: { destructiveHint: false },
134
134
  inputSchema: z.object({
135
135
  fileId: z.string().describe('File ID to move'),
136
136
  parentId: z.string().describe('Destination folder ID'),
@@ -120,7 +120,7 @@ export function registerSheetsTools(server: McpServer): void {
120
120
 
121
121
  server.registerTool('gog_sheets_create', {
122
122
  description: 'Create a new Google Spreadsheet. Returns JSON with the new spreadsheetId and URL.',
123
- annotations: { destructiveHint: false },
123
+ annotations: { destructiveHint: true },
124
124
  inputSchema: z.object({
125
125
  title: z.string().describe('Title for the new spreadsheet'),
126
126
  account: accountParam,
@@ -34,6 +34,7 @@ export function registerSlidesTools(server: McpServer): void {
34
34
 
35
35
  server.registerTool('gog_slides_create', {
36
36
  description: 'Create a new Google Slides presentation, optionally in a folder or copying from a template.',
37
+ annotations: { destructiveHint: true },
37
38
  inputSchema: z.object({
38
39
  title: z.string().describe('Presentation title'),
39
40
  parent: z.string().optional().describe('Destination folder ID'),
@@ -49,6 +50,7 @@ export function registerSlidesTools(server: McpServer): void {
49
50
 
50
51
  server.registerTool('gog_slides_copy', {
51
52
  description: 'Copy a Google Slides presentation to a new presentation with the given title.',
53
+ annotations: { destructiveHint: true },
52
54
  inputSchema: z.object({
53
55
  presentationId: z.string().describe('Presentation ID to copy'),
54
56
  title: z.string().describe('Title for the new copy'),
@@ -55,7 +55,7 @@ export function registerTasksTools(server: McpServer): void {
55
55
 
56
56
  server.registerTool('gog_tasks_done', {
57
57
  description: 'Mark a task as completed.',
58
- annotations: { destructiveHint: true },
58
+ annotations: { destructiveHint: false },
59
59
  inputSchema: z.object({
60
60
  tasklistId: z.string().describe('Task list ID'),
61
61
  taskId: z.string().describe('Task ID'),