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.
- package/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/dist/index.js +14 -6
- package/dist/lib.js +14 -6
- package/manifest.json +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
- package/src/tools/appscript.ts +1 -0
- package/src/tools/chat.ts +4 -0
- package/src/tools/contacts.ts +1 -1
- package/src/tools/docs.ts +1 -0
- package/src/tools/drive.ts +2 -2
- package/src/tools/sheets.ts +1 -1
- package/src/tools/slides.ts +2 -0
- package/src/tools/tasks.ts +1 -1
|
@@ -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.
|
|
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.
|
|
18
|
+
"version": "4.2.3",
|
|
19
19
|
"author": {
|
|
20
20
|
"name": "Chris Hall"
|
|
21
21
|
},
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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.
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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.
|
|
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.
|
|
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
package/server.json
CHANGED
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
"source": "github",
|
|
8
8
|
"subfolder": "packages/gogcli-mcp"
|
|
9
9
|
},
|
|
10
|
-
"version": "4.2.
|
|
10
|
+
"version": "4.2.3",
|
|
11
11
|
"packages": [
|
|
12
12
|
{
|
|
13
13
|
"registryType": "npm",
|
|
14
14
|
"identifier": "gogcli-mcp",
|
|
15
|
-
"version": "4.2.
|
|
15
|
+
"version": "4.2.3",
|
|
16
16
|
"transport": {
|
|
17
17
|
"type": "stdio"
|
|
18
18
|
},
|
package/src/tools/appscript.ts
CHANGED
|
@@ -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,
|
package/src/tools/contacts.ts
CHANGED
|
@@ -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:
|
|
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,
|
package/src/tools/drive.ts
CHANGED
|
@@ -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:
|
|
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:
|
|
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'),
|
package/src/tools/sheets.ts
CHANGED
|
@@ -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:
|
|
123
|
+
annotations: { destructiveHint: true },
|
|
124
124
|
inputSchema: z.object({
|
|
125
125
|
title: z.string().describe('Title for the new spreadsheet'),
|
|
126
126
|
account: accountParam,
|
package/src/tools/slides.ts
CHANGED
|
@@ -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'),
|
package/src/tools/tasks.ts
CHANGED
|
@@ -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:
|
|
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'),
|