gogcli-mcp-slides 4.2.3 → 4.2.4
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 +26 -1
- package/manifest.json +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
- package/src/tools/slides-extra.ts +25 -0
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
},
|
|
8
8
|
"metadata": {
|
|
9
9
|
"description": "Extended Google Slides for Claude via gogcli — auth + full Slides support (create, edit, export, templates, markdown)",
|
|
10
|
-
"version": "4.2.
|
|
10
|
+
"version": "4.2.4"
|
|
11
11
|
},
|
|
12
12
|
"plugins": [
|
|
13
13
|
{
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"displayName": "gogcli (Slides)",
|
|
16
16
|
"source": "./",
|
|
17
17
|
"description": "Extended Google Slides for Claude via gogcli — auth + full Slides support (create, edit, export, templates, markdown)",
|
|
18
|
-
"version": "4.2.
|
|
18
|
+
"version": "4.2.4",
|
|
19
19
|
"author": {
|
|
20
20
|
"name": "Chris Hall"
|
|
21
21
|
},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gogcli-mcp-slides",
|
|
3
3
|
"displayName": "gogcli (Slides)",
|
|
4
|
-
"version": "4.2.
|
|
4
|
+
"version": "4.2.4",
|
|
5
5
|
"description": "Extended Google Slides for Claude via gogcli — auth + full Slides support (create, edit, export, templates, markdown)",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Chris Hall",
|
package/dist/index.js
CHANGED
|
@@ -35535,7 +35535,7 @@ function registerSlidesTools(server) {
|
|
|
35535
35535
|
}
|
|
35536
35536
|
|
|
35537
35537
|
// ../gogcli-mcp/src/server.ts
|
|
35538
|
-
var VERSION = true ? "4.2.
|
|
35538
|
+
var VERSION = true ? "4.2.4" : "0.0.0";
|
|
35539
35539
|
|
|
35540
35540
|
// ../gogcli-mcp/src/bootstrap-auth.ts
|
|
35541
35541
|
import { join as join2 } from "node:path";
|
|
@@ -35674,6 +35674,7 @@ function registerExtraSlidesTools(server) {
|
|
|
35674
35674
|
});
|
|
35675
35675
|
server.registerTool("gog_slides_insert_image", {
|
|
35676
35676
|
description: "Place an image on an existing slide at a given size and position, from a local file (image) or a public HTTPS URL (url \u2014 no Drive upload or sharing required). Unlike gog_slides_add_slide (which creates a new full-bleed image slide), this inserts onto a slide you already have. width is required; omit height to keep aspect ratio when using a local file (gog requires both width and height when using url).",
|
|
35677
|
+
annotations: { destructiveHint: false },
|
|
35677
35678
|
inputSchema: external_exports.object({
|
|
35678
35679
|
presentationId: external_exports.string().describe("Presentation ID"),
|
|
35679
35680
|
slideId: external_exports.string().describe("Slide ID (object ID of the target slide)"),
|
|
@@ -35710,6 +35711,7 @@ function registerExtraSlidesTools(server) {
|
|
|
35710
35711
|
});
|
|
35711
35712
|
server.registerTool("gog_slides_skip_slide", {
|
|
35712
35713
|
description: "Skip a slide during presentation \u2014 it stays in the deck at its current position but is not shown when presenting (and is left out of a PDF export). Use this instead of gog_slides_delete_slide when a slide should be omitted from a talk without losing it. Reverse with gog_slides_unskip_slide; gog_slides_list_slides reports which slides are skipped.",
|
|
35714
|
+
annotations: { destructiveHint: false },
|
|
35713
35715
|
inputSchema: external_exports.object({
|
|
35714
35716
|
presentationId: external_exports.string().describe("Presentation ID"),
|
|
35715
35717
|
slideId: external_exports.string().describe("Slide ID to skip (from gog_slides_list_slides)"),
|
|
@@ -35720,6 +35722,7 @@ function registerExtraSlidesTools(server) {
|
|
|
35720
35722
|
});
|
|
35721
35723
|
server.registerTool("gog_slides_unskip_slide", {
|
|
35722
35724
|
description: "Include a previously skipped slide again when the deck is presented. Safe to call on a slide that was never skipped.",
|
|
35725
|
+
annotations: { destructiveHint: false },
|
|
35723
35726
|
inputSchema: external_exports.object({
|
|
35724
35727
|
presentationId: external_exports.string().describe("Presentation ID"),
|
|
35725
35728
|
slideId: external_exports.string().describe("Slide ID to unskip (from gog_slides_list_slides)"),
|
|
@@ -35821,6 +35824,7 @@ function registerExtraSlidesTools(server) {
|
|
|
35821
35824
|
});
|
|
35822
35825
|
server.registerTool("gog_slides_new_slide", {
|
|
35823
35826
|
description: "Create a new native themed slide with a predefined layout (default BLANK) or an exact presentation layout object ID, at a zero-based insertion index.",
|
|
35827
|
+
annotations: { destructiveHint: false },
|
|
35824
35828
|
inputSchema: external_exports.object({
|
|
35825
35829
|
presentationId: external_exports.string().describe("Presentation ID"),
|
|
35826
35830
|
layout: external_exports.enum(["BIG_NUMBER", "BLANK", "CAPTION_ONLY", "MAIN_POINT", "ONE_COLUMN_TEXT", "SECTION_HEADER", "SECTION_TITLE_AND_DESCRIPTION", "TITLE", "TITLE_AND_BODY", "TITLE_AND_TWO_COLUMNS", "TITLE_ONLY"]).optional().describe("Predefined slide layout (default: BLANK). Mutually exclusive with layoutId."),
|
|
@@ -35837,6 +35841,7 @@ function registerExtraSlidesTools(server) {
|
|
|
35837
35841
|
});
|
|
35838
35842
|
server.registerTool("gog_slides_duplicate_slide", {
|
|
35839
35843
|
description: "Duplicate a slide by object ID, optionally placing the copy at a zero-based insertion index.",
|
|
35844
|
+
annotations: { destructiveHint: false },
|
|
35840
35845
|
inputSchema: external_exports.object({
|
|
35841
35846
|
presentationId: external_exports.string().describe("Presentation ID"),
|
|
35842
35847
|
slideId: external_exports.string().describe("Slide object ID to duplicate"),
|
|
@@ -35850,6 +35855,7 @@ function registerExtraSlidesTools(server) {
|
|
|
35850
35855
|
});
|
|
35851
35856
|
server.registerTool("gog_slides_move_slide", {
|
|
35852
35857
|
description: "Move a slide to a zero-based insertion index within the presentation.",
|
|
35858
|
+
annotations: { destructiveHint: false },
|
|
35853
35859
|
inputSchema: external_exports.object({
|
|
35854
35860
|
presentationId: external_exports.string().describe("Presentation ID"),
|
|
35855
35861
|
slideId: external_exports.string().describe("Slide object ID to move"),
|
|
@@ -35882,6 +35888,7 @@ function registerExtraSlidesTools(server) {
|
|
|
35882
35888
|
});
|
|
35883
35889
|
server.registerTool("gog_slides_style_text", {
|
|
35884
35890
|
description: "Apply range-scoped text styling to one page element. range is a UTF-16 start:end span (use gog_slides_locate to find it). Boolean flags set the attribute; the no* flags clear it.",
|
|
35891
|
+
annotations: { destructiveHint: false },
|
|
35885
35892
|
inputSchema: external_exports.object({
|
|
35886
35893
|
presentationId: external_exports.string().describe("Presentation ID"),
|
|
35887
35894
|
objectId: external_exports.string().describe("Object ID of the shape or table cell containing the text"),
|
|
@@ -35912,6 +35919,7 @@ function registerExtraSlidesTools(server) {
|
|
|
35912
35919
|
});
|
|
35913
35920
|
server.registerTool("gog_slides_link", {
|
|
35914
35921
|
description: "Apply or clear a hyperlink on a UTF-16 text range in one page element. Provide url to set the link, or clear=true to remove it.",
|
|
35922
|
+
annotations: { destructiveHint: false },
|
|
35915
35923
|
inputSchema: external_exports.object({
|
|
35916
35924
|
presentationId: external_exports.string().describe("Presentation ID"),
|
|
35917
35925
|
objectId: external_exports.string().describe("Object ID of the shape or table cell containing the text"),
|
|
@@ -35928,6 +35936,7 @@ function registerExtraSlidesTools(server) {
|
|
|
35928
35936
|
});
|
|
35929
35937
|
server.registerTool("gog_slides_bullets", {
|
|
35930
35938
|
description: "Turn paragraph bullets on or off for a UTF-16 paragraph range in one page element. Use on (optionally with a preset glyph) or off.",
|
|
35939
|
+
annotations: { destructiveHint: false },
|
|
35931
35940
|
inputSchema: external_exports.object({
|
|
35932
35941
|
presentationId: external_exports.string().describe("Presentation ID"),
|
|
35933
35942
|
objectId: external_exports.string().describe("Object ID of the shape or table cell containing the paragraphs"),
|
|
@@ -35967,6 +35976,7 @@ function registerExtraSlidesTools(server) {
|
|
|
35967
35976
|
});
|
|
35968
35977
|
server.registerTool("gog_slides_element_create_shape", {
|
|
35969
35978
|
description: "Create a native shape on a slide. type is a Slides shape type (e.g. RECTANGLE, TEXT_BOX, ELLIPSE, ROUND_RECTANGLE). Position/size are in unit (default PT).",
|
|
35979
|
+
annotations: { destructiveHint: false },
|
|
35970
35980
|
inputSchema: external_exports.object({
|
|
35971
35981
|
presentationId: external_exports.string().describe("Presentation ID"),
|
|
35972
35982
|
slideId: external_exports.string().describe("Slide object ID to create the shape on"),
|
|
@@ -35992,6 +36002,7 @@ function registerExtraSlidesTools(server) {
|
|
|
35992
36002
|
});
|
|
35993
36003
|
server.registerTool("gog_slides_element_create_line", {
|
|
35994
36004
|
description: "Create a native line on a slide. category is the connector routing (STRAIGHT, BENT, CURVED). Start position and extent are in unit (default PT).",
|
|
36005
|
+
annotations: { destructiveHint: false },
|
|
35995
36006
|
inputSchema: external_exports.object({
|
|
35996
36007
|
presentationId: external_exports.string().describe("Presentation ID"),
|
|
35997
36008
|
slideId: external_exports.string().describe("Slide object ID to create the line on"),
|
|
@@ -36017,6 +36028,7 @@ function registerExtraSlidesTools(server) {
|
|
|
36017
36028
|
});
|
|
36018
36029
|
server.registerTool("gog_slides_element_style", {
|
|
36019
36030
|
description: "Style a shape fill/outline or a line. Set kind to shape or line. Colors are #RGB or #RRGGBB.",
|
|
36031
|
+
annotations: { destructiveHint: false },
|
|
36020
36032
|
inputSchema: external_exports.object({
|
|
36021
36033
|
presentationId: external_exports.string().describe("Presentation ID"),
|
|
36022
36034
|
objectId: external_exports.string().describe("Object ID of the shape or line"),
|
|
@@ -36042,6 +36054,7 @@ function registerExtraSlidesTools(server) {
|
|
|
36042
36054
|
});
|
|
36043
36055
|
server.registerTool("gog_slides_element_transform", {
|
|
36044
36056
|
description: "Move, resize, rotate, or shear a page element. apply-mode RELATIVE (default) composes with the existing transform; ABSOLUTE replaces it. Translation is in unit (default PT).",
|
|
36057
|
+
annotations: { destructiveHint: false },
|
|
36045
36058
|
inputSchema: external_exports.object({
|
|
36046
36059
|
presentationId: external_exports.string().describe("Presentation ID"),
|
|
36047
36060
|
objectId: external_exports.string().describe("Object ID of the element to transform"),
|
|
@@ -36071,6 +36084,7 @@ function registerExtraSlidesTools(server) {
|
|
|
36071
36084
|
});
|
|
36072
36085
|
server.registerTool("gog_slides_element_z_order", {
|
|
36073
36086
|
description: "Change a page element's stacking order.",
|
|
36087
|
+
annotations: { destructiveHint: false },
|
|
36074
36088
|
inputSchema: external_exports.object({
|
|
36075
36089
|
presentationId: external_exports.string().describe("Presentation ID"),
|
|
36076
36090
|
objectId: external_exports.string().describe("Object ID of the element to restack"),
|
|
@@ -36082,6 +36096,7 @@ function registerExtraSlidesTools(server) {
|
|
|
36082
36096
|
});
|
|
36083
36097
|
server.registerTool("gog_slides_element_group", {
|
|
36084
36098
|
description: "Group two or more page elements into a single group.",
|
|
36099
|
+
annotations: { destructiveHint: false },
|
|
36085
36100
|
inputSchema: external_exports.object({
|
|
36086
36101
|
presentationId: external_exports.string().describe("Presentation ID"),
|
|
36087
36102
|
objectIds: external_exports.array(external_exports.string()).min(2).describe("Two or more element object IDs to group"),
|
|
@@ -36095,6 +36110,7 @@ function registerExtraSlidesTools(server) {
|
|
|
36095
36110
|
});
|
|
36096
36111
|
server.registerTool("gog_slides_element_ungroup", {
|
|
36097
36112
|
description: "Ungroup one or more element groups back into their constituent elements.",
|
|
36113
|
+
annotations: { destructiveHint: false },
|
|
36098
36114
|
inputSchema: external_exports.object({
|
|
36099
36115
|
presentationId: external_exports.string().describe("Presentation ID"),
|
|
36100
36116
|
groupIds: external_exports.array(external_exports.string()).min(1).describe("One or more group object IDs to ungroup"),
|
|
@@ -36105,6 +36121,7 @@ function registerExtraSlidesTools(server) {
|
|
|
36105
36121
|
});
|
|
36106
36122
|
server.registerTool("gog_slides_element_alt_text", {
|
|
36107
36123
|
description: "Set or clear a page element's accessibility title and/or description. Pass an empty string to clear a field.",
|
|
36124
|
+
annotations: { destructiveHint: false },
|
|
36108
36125
|
inputSchema: external_exports.object({
|
|
36109
36126
|
presentationId: external_exports.string().describe("Presentation ID"),
|
|
36110
36127
|
objectId: external_exports.string().describe("Object ID of the element"),
|
|
@@ -36131,6 +36148,7 @@ function registerExtraSlidesTools(server) {
|
|
|
36131
36148
|
});
|
|
36132
36149
|
server.registerTool("gog_slides_table_create", {
|
|
36133
36150
|
description: "Create an auto-sized native table on a slide with the given row and column counts.",
|
|
36151
|
+
annotations: { destructiveHint: false },
|
|
36134
36152
|
inputSchema: external_exports.object({
|
|
36135
36153
|
presentationId: external_exports.string().describe("Presentation ID"),
|
|
36136
36154
|
slideId: external_exports.string().describe("Slide object ID to create the table on"),
|
|
@@ -36146,6 +36164,7 @@ function registerExtraSlidesTools(server) {
|
|
|
36146
36164
|
});
|
|
36147
36165
|
server.registerTool("gog_slides_table_cell_style", {
|
|
36148
36166
|
description: "Style one zero-based table cell: background fill, vertical content alignment, and inline text styling (optionally scoped to a UTF-16 range within the cell). Boolean flags set the attribute; the no* flags clear it.",
|
|
36167
|
+
annotations: { destructiveHint: false },
|
|
36149
36168
|
inputSchema: external_exports.object({
|
|
36150
36169
|
presentationId: external_exports.string().describe("Presentation ID"),
|
|
36151
36170
|
tableObjectId: external_exports.string().describe("Table object ID"),
|
|
@@ -36185,6 +36204,7 @@ function registerExtraSlidesTools(server) {
|
|
|
36185
36204
|
});
|
|
36186
36205
|
server.registerTool("gog_slides_table_border_style", {
|
|
36187
36206
|
description: "Style borders around or within a zero-based table cell range. position selects which borders are affected; dash sets the line style.",
|
|
36207
|
+
annotations: { destructiveHint: false },
|
|
36188
36208
|
inputSchema: external_exports.object({
|
|
36189
36209
|
presentationId: external_exports.string().describe("Presentation ID"),
|
|
36190
36210
|
tableObjectId: external_exports.string().describe("Table object ID"),
|
|
@@ -36212,6 +36232,7 @@ function registerExtraSlidesTools(server) {
|
|
|
36212
36232
|
});
|
|
36213
36233
|
server.registerTool("gog_slides_table_column_insert", {
|
|
36214
36234
|
description: "Insert one or more columns relative to a zero-based table column. Inserts to the left by default, or to the right with right=true.",
|
|
36235
|
+
annotations: { destructiveHint: false },
|
|
36215
36236
|
inputSchema: external_exports.object({
|
|
36216
36237
|
presentationId: external_exports.string().describe("Presentation ID"),
|
|
36217
36238
|
tableObjectId: external_exports.string().describe("Table object ID"),
|
|
@@ -36240,6 +36261,7 @@ function registerExtraSlidesTools(server) {
|
|
|
36240
36261
|
});
|
|
36241
36262
|
server.registerTool("gog_slides_table_column_size", {
|
|
36242
36263
|
description: "Set the width of a zero-based table column.",
|
|
36264
|
+
annotations: { destructiveHint: false },
|
|
36243
36265
|
inputSchema: external_exports.object({
|
|
36244
36266
|
presentationId: external_exports.string().describe("Presentation ID"),
|
|
36245
36267
|
tableObjectId: external_exports.string().describe("Table object ID"),
|
|
@@ -36252,6 +36274,7 @@ function registerExtraSlidesTools(server) {
|
|
|
36252
36274
|
});
|
|
36253
36275
|
server.registerTool("gog_slides_table_row_insert", {
|
|
36254
36276
|
description: "Insert one or more rows relative to a zero-based table row. Inserts above by default, or below with below=true.",
|
|
36277
|
+
annotations: { destructiveHint: false },
|
|
36255
36278
|
inputSchema: external_exports.object({
|
|
36256
36279
|
presentationId: external_exports.string().describe("Presentation ID"),
|
|
36257
36280
|
tableObjectId: external_exports.string().describe("Table object ID"),
|
|
@@ -36280,6 +36303,7 @@ function registerExtraSlidesTools(server) {
|
|
|
36280
36303
|
});
|
|
36281
36304
|
server.registerTool("gog_slides_table_row_size", {
|
|
36282
36305
|
description: "Set the minimum height of a zero-based table row.",
|
|
36306
|
+
annotations: { destructiveHint: false },
|
|
36283
36307
|
inputSchema: external_exports.object({
|
|
36284
36308
|
presentationId: external_exports.string().describe("Presentation ID"),
|
|
36285
36309
|
tableObjectId: external_exports.string().describe("Table object ID"),
|
|
@@ -36310,6 +36334,7 @@ function registerExtraSlidesTools(server) {
|
|
|
36310
36334
|
});
|
|
36311
36335
|
server.registerTool("gog_slides_table_unmerge", {
|
|
36312
36336
|
description: "Unmerge (split) a rectangular range of previously merged cells, starting at a zero-based cell.",
|
|
36337
|
+
annotations: { destructiveHint: false },
|
|
36313
36338
|
inputSchema: external_exports.object({
|
|
36314
36339
|
presentationId: external_exports.string().describe("Presentation ID"),
|
|
36315
36340
|
tableObjectId: external_exports.string().describe("Table object ID"),
|
package/manifest.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"manifest_version": "0.3",
|
|
4
4
|
"name": "gogcli-mcp-slides",
|
|
5
5
|
"display_name": "gogcli (Slides)",
|
|
6
|
-
"version": "4.2.
|
|
6
|
+
"version": "4.2.4",
|
|
7
7
|
"description": "Extended Google Slides for Claude via gogcli — auth + full Slides support (create, edit, export, templates, markdown)",
|
|
8
8
|
"author": {
|
|
9
9
|
"name": "Chris Hall",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gogcli-mcp-slides",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.4",
|
|
4
4
|
"mcpName": "io.github.chrischall/gogcli-mcp-slides",
|
|
5
5
|
"description": "Extended Google Slides MCP server via gogcli — auth + full Slides support",
|
|
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-slides"
|
|
9
9
|
},
|
|
10
|
-
"version": "4.2.
|
|
10
|
+
"version": "4.2.4",
|
|
11
11
|
"packages": [
|
|
12
12
|
{
|
|
13
13
|
"registryType": "npm",
|
|
14
14
|
"identifier": "gogcli-mcp-slides",
|
|
15
|
-
"version": "4.2.
|
|
15
|
+
"version": "4.2.4",
|
|
16
16
|
"transport": {
|
|
17
17
|
"type": "stdio"
|
|
18
18
|
},
|
|
@@ -91,6 +91,7 @@ export function registerExtraSlidesTools(server: McpServer): void {
|
|
|
91
91
|
|
|
92
92
|
server.registerTool('gog_slides_insert_image', {
|
|
93
93
|
description: 'Place an image on an existing slide at a given size and position, from a local file (image) or a public HTTPS URL (url — no Drive upload or sharing required). Unlike gog_slides_add_slide (which creates a new full-bleed image slide), this inserts onto a slide you already have. width is required; omit height to keep aspect ratio when using a local file (gog requires both width and height when using url).',
|
|
94
|
+
annotations: { destructiveHint: false },
|
|
94
95
|
inputSchema: z.object({
|
|
95
96
|
presentationId: z.string().describe('Presentation ID'),
|
|
96
97
|
slideId: z.string().describe('Slide ID (object ID of the target slide)'),
|
|
@@ -141,6 +142,7 @@ export function registerExtraSlidesTools(server: McpServer): void {
|
|
|
141
142
|
'Skip a slide during presentation — it stays in the deck at its current position but is not shown when presenting '
|
|
142
143
|
+ '(and is left out of a PDF export). Use this instead of gog_slides_delete_slide when a slide should be omitted from '
|
|
143
144
|
+ 'a talk without losing it. Reverse with gog_slides_unskip_slide; gog_slides_list_slides reports which slides are skipped.',
|
|
145
|
+
annotations: { destructiveHint: false },
|
|
144
146
|
inputSchema: z.object({
|
|
145
147
|
presentationId: z.string().describe('Presentation ID'),
|
|
146
148
|
slideId: z.string().describe('Slide ID to skip (from gog_slides_list_slides)'),
|
|
@@ -153,6 +155,7 @@ export function registerExtraSlidesTools(server: McpServer): void {
|
|
|
153
155
|
server.registerTool('gog_slides_unskip_slide', {
|
|
154
156
|
description:
|
|
155
157
|
'Include a previously skipped slide again when the deck is presented. Safe to call on a slide that was never skipped.',
|
|
158
|
+
annotations: { destructiveHint: false },
|
|
156
159
|
inputSchema: z.object({
|
|
157
160
|
presentationId: z.string().describe('Presentation ID'),
|
|
158
161
|
slideId: z.string().describe('Slide ID to unskip (from gog_slides_list_slides)'),
|
|
@@ -265,6 +268,7 @@ export function registerExtraSlidesTools(server: McpServer): void {
|
|
|
265
268
|
|
|
266
269
|
server.registerTool('gog_slides_new_slide', {
|
|
267
270
|
description: 'Create a new native themed slide with a predefined layout (default BLANK) or an exact presentation layout object ID, at a zero-based insertion index.',
|
|
271
|
+
annotations: { destructiveHint: false },
|
|
268
272
|
inputSchema: z.object({
|
|
269
273
|
presentationId: z.string().describe('Presentation ID'),
|
|
270
274
|
layout: z.enum(['BIG_NUMBER', 'BLANK', 'CAPTION_ONLY', 'MAIN_POINT', 'ONE_COLUMN_TEXT', 'SECTION_HEADER', 'SECTION_TITLE_AND_DESCRIPTION', 'TITLE', 'TITLE_AND_BODY', 'TITLE_AND_TWO_COLUMNS', 'TITLE_ONLY']).optional().describe('Predefined slide layout (default: BLANK). Mutually exclusive with layoutId.'),
|
|
@@ -282,6 +286,7 @@ export function registerExtraSlidesTools(server: McpServer): void {
|
|
|
282
286
|
|
|
283
287
|
server.registerTool('gog_slides_duplicate_slide', {
|
|
284
288
|
description: 'Duplicate a slide by object ID, optionally placing the copy at a zero-based insertion index.',
|
|
289
|
+
annotations: { destructiveHint: false },
|
|
285
290
|
inputSchema: z.object({
|
|
286
291
|
presentationId: z.string().describe('Presentation ID'),
|
|
287
292
|
slideId: z.string().describe('Slide object ID to duplicate'),
|
|
@@ -296,6 +301,7 @@ export function registerExtraSlidesTools(server: McpServer): void {
|
|
|
296
301
|
|
|
297
302
|
server.registerTool('gog_slides_move_slide', {
|
|
298
303
|
description: 'Move a slide to a zero-based insertion index within the presentation.',
|
|
304
|
+
annotations: { destructiveHint: false },
|
|
299
305
|
inputSchema: z.object({
|
|
300
306
|
presentationId: z.string().describe('Presentation ID'),
|
|
301
307
|
slideId: z.string().describe('Slide object ID to move'),
|
|
@@ -332,6 +338,7 @@ export function registerExtraSlidesTools(server: McpServer): void {
|
|
|
332
338
|
|
|
333
339
|
server.registerTool('gog_slides_style_text', {
|
|
334
340
|
description: 'Apply range-scoped text styling to one page element. range is a UTF-16 start:end span (use gog_slides_locate to find it). Boolean flags set the attribute; the no* flags clear it.',
|
|
341
|
+
annotations: { destructiveHint: false },
|
|
335
342
|
inputSchema: z.object({
|
|
336
343
|
presentationId: z.string().describe('Presentation ID'),
|
|
337
344
|
objectId: z.string().describe('Object ID of the shape or table cell containing the text'),
|
|
@@ -363,6 +370,7 @@ export function registerExtraSlidesTools(server: McpServer): void {
|
|
|
363
370
|
|
|
364
371
|
server.registerTool('gog_slides_link', {
|
|
365
372
|
description: 'Apply or clear a hyperlink on a UTF-16 text range in one page element. Provide url to set the link, or clear=true to remove it.',
|
|
373
|
+
annotations: { destructiveHint: false },
|
|
366
374
|
inputSchema: z.object({
|
|
367
375
|
presentationId: z.string().describe('Presentation ID'),
|
|
368
376
|
objectId: z.string().describe('Object ID of the shape or table cell containing the text'),
|
|
@@ -380,6 +388,7 @@ export function registerExtraSlidesTools(server: McpServer): void {
|
|
|
380
388
|
|
|
381
389
|
server.registerTool('gog_slides_bullets', {
|
|
382
390
|
description: 'Turn paragraph bullets on or off for a UTF-16 paragraph range in one page element. Use on (optionally with a preset glyph) or off.',
|
|
391
|
+
annotations: { destructiveHint: false },
|
|
383
392
|
inputSchema: z.object({
|
|
384
393
|
presentationId: z.string().describe('Presentation ID'),
|
|
385
394
|
objectId: z.string().describe('Object ID of the shape or table cell containing the paragraphs'),
|
|
@@ -423,6 +432,7 @@ export function registerExtraSlidesTools(server: McpServer): void {
|
|
|
423
432
|
|
|
424
433
|
server.registerTool('gog_slides_element_create_shape', {
|
|
425
434
|
description: 'Create a native shape on a slide. type is a Slides shape type (e.g. RECTANGLE, TEXT_BOX, ELLIPSE, ROUND_RECTANGLE). Position/size are in unit (default PT).',
|
|
435
|
+
annotations: { destructiveHint: false },
|
|
426
436
|
inputSchema: z.object({
|
|
427
437
|
presentationId: z.string().describe('Presentation ID'),
|
|
428
438
|
slideId: z.string().describe('Slide object ID to create the shape on'),
|
|
@@ -449,6 +459,7 @@ export function registerExtraSlidesTools(server: McpServer): void {
|
|
|
449
459
|
|
|
450
460
|
server.registerTool('gog_slides_element_create_line', {
|
|
451
461
|
description: 'Create a native line on a slide. category is the connector routing (STRAIGHT, BENT, CURVED). Start position and extent are in unit (default PT).',
|
|
462
|
+
annotations: { destructiveHint: false },
|
|
452
463
|
inputSchema: z.object({
|
|
453
464
|
presentationId: z.string().describe('Presentation ID'),
|
|
454
465
|
slideId: z.string().describe('Slide object ID to create the line on'),
|
|
@@ -475,6 +486,7 @@ export function registerExtraSlidesTools(server: McpServer): void {
|
|
|
475
486
|
|
|
476
487
|
server.registerTool('gog_slides_element_style', {
|
|
477
488
|
description: 'Style a shape fill/outline or a line. Set kind to shape or line. Colors are #RGB or #RRGGBB.',
|
|
489
|
+
annotations: { destructiveHint: false },
|
|
478
490
|
inputSchema: z.object({
|
|
479
491
|
presentationId: z.string().describe('Presentation ID'),
|
|
480
492
|
objectId: z.string().describe('Object ID of the shape or line'),
|
|
@@ -501,6 +513,7 @@ export function registerExtraSlidesTools(server: McpServer): void {
|
|
|
501
513
|
|
|
502
514
|
server.registerTool('gog_slides_element_transform', {
|
|
503
515
|
description: 'Move, resize, rotate, or shear a page element. apply-mode RELATIVE (default) composes with the existing transform; ABSOLUTE replaces it. Translation is in unit (default PT).',
|
|
516
|
+
annotations: { destructiveHint: false },
|
|
504
517
|
inputSchema: z.object({
|
|
505
518
|
presentationId: z.string().describe('Presentation ID'),
|
|
506
519
|
objectId: z.string().describe('Object ID of the element to transform'),
|
|
@@ -531,6 +544,7 @@ export function registerExtraSlidesTools(server: McpServer): void {
|
|
|
531
544
|
|
|
532
545
|
server.registerTool('gog_slides_element_z_order', {
|
|
533
546
|
description: 'Change a page element\'s stacking order.',
|
|
547
|
+
annotations: { destructiveHint: false },
|
|
534
548
|
inputSchema: z.object({
|
|
535
549
|
presentationId: z.string().describe('Presentation ID'),
|
|
536
550
|
objectId: z.string().describe('Object ID of the element to restack'),
|
|
@@ -543,6 +557,7 @@ export function registerExtraSlidesTools(server: McpServer): void {
|
|
|
543
557
|
|
|
544
558
|
server.registerTool('gog_slides_element_group', {
|
|
545
559
|
description: 'Group two or more page elements into a single group.',
|
|
560
|
+
annotations: { destructiveHint: false },
|
|
546
561
|
inputSchema: z.object({
|
|
547
562
|
presentationId: z.string().describe('Presentation ID'),
|
|
548
563
|
objectIds: z.array(z.string()).min(2).describe('Two or more element object IDs to group'),
|
|
@@ -557,6 +572,7 @@ export function registerExtraSlidesTools(server: McpServer): void {
|
|
|
557
572
|
|
|
558
573
|
server.registerTool('gog_slides_element_ungroup', {
|
|
559
574
|
description: 'Ungroup one or more element groups back into their constituent elements.',
|
|
575
|
+
annotations: { destructiveHint: false },
|
|
560
576
|
inputSchema: z.object({
|
|
561
577
|
presentationId: z.string().describe('Presentation ID'),
|
|
562
578
|
groupIds: z.array(z.string()).min(1).describe('One or more group object IDs to ungroup'),
|
|
@@ -568,6 +584,7 @@ export function registerExtraSlidesTools(server: McpServer): void {
|
|
|
568
584
|
|
|
569
585
|
server.registerTool('gog_slides_element_alt_text', {
|
|
570
586
|
description: 'Set or clear a page element\'s accessibility title and/or description. Pass an empty string to clear a field.',
|
|
587
|
+
annotations: { destructiveHint: false },
|
|
571
588
|
inputSchema: z.object({
|
|
572
589
|
presentationId: z.string().describe('Presentation ID'),
|
|
573
590
|
objectId: z.string().describe('Object ID of the element'),
|
|
@@ -599,6 +616,7 @@ export function registerExtraSlidesTools(server: McpServer): void {
|
|
|
599
616
|
|
|
600
617
|
server.registerTool('gog_slides_table_create', {
|
|
601
618
|
description: 'Create an auto-sized native table on a slide with the given row and column counts.',
|
|
619
|
+
annotations: { destructiveHint: false },
|
|
602
620
|
inputSchema: z.object({
|
|
603
621
|
presentationId: z.string().describe('Presentation ID'),
|
|
604
622
|
slideId: z.string().describe('Slide object ID to create the table on'),
|
|
@@ -615,6 +633,7 @@ export function registerExtraSlidesTools(server: McpServer): void {
|
|
|
615
633
|
|
|
616
634
|
server.registerTool('gog_slides_table_cell_style', {
|
|
617
635
|
description: 'Style one zero-based table cell: background fill, vertical content alignment, and inline text styling (optionally scoped to a UTF-16 range within the cell). Boolean flags set the attribute; the no* flags clear it.',
|
|
636
|
+
annotations: { destructiveHint: false },
|
|
618
637
|
inputSchema: z.object({
|
|
619
638
|
presentationId: z.string().describe('Presentation ID'),
|
|
620
639
|
tableObjectId: z.string().describe('Table object ID'),
|
|
@@ -655,6 +674,7 @@ export function registerExtraSlidesTools(server: McpServer): void {
|
|
|
655
674
|
|
|
656
675
|
server.registerTool('gog_slides_table_border_style', {
|
|
657
676
|
description: 'Style borders around or within a zero-based table cell range. position selects which borders are affected; dash sets the line style.',
|
|
677
|
+
annotations: { destructiveHint: false },
|
|
658
678
|
inputSchema: z.object({
|
|
659
679
|
presentationId: z.string().describe('Presentation ID'),
|
|
660
680
|
tableObjectId: z.string().describe('Table object ID'),
|
|
@@ -683,6 +703,7 @@ export function registerExtraSlidesTools(server: McpServer): void {
|
|
|
683
703
|
|
|
684
704
|
server.registerTool('gog_slides_table_column_insert', {
|
|
685
705
|
description: 'Insert one or more columns relative to a zero-based table column. Inserts to the left by default, or to the right with right=true.',
|
|
706
|
+
annotations: { destructiveHint: false },
|
|
686
707
|
inputSchema: z.object({
|
|
687
708
|
presentationId: z.string().describe('Presentation ID'),
|
|
688
709
|
tableObjectId: z.string().describe('Table object ID'),
|
|
@@ -713,6 +734,7 @@ export function registerExtraSlidesTools(server: McpServer): void {
|
|
|
713
734
|
|
|
714
735
|
server.registerTool('gog_slides_table_column_size', {
|
|
715
736
|
description: 'Set the width of a zero-based table column.',
|
|
737
|
+
annotations: { destructiveHint: false },
|
|
716
738
|
inputSchema: z.object({
|
|
717
739
|
presentationId: z.string().describe('Presentation ID'),
|
|
718
740
|
tableObjectId: z.string().describe('Table object ID'),
|
|
@@ -726,6 +748,7 @@ export function registerExtraSlidesTools(server: McpServer): void {
|
|
|
726
748
|
|
|
727
749
|
server.registerTool('gog_slides_table_row_insert', {
|
|
728
750
|
description: 'Insert one or more rows relative to a zero-based table row. Inserts above by default, or below with below=true.',
|
|
751
|
+
annotations: { destructiveHint: false },
|
|
729
752
|
inputSchema: z.object({
|
|
730
753
|
presentationId: z.string().describe('Presentation ID'),
|
|
731
754
|
tableObjectId: z.string().describe('Table object ID'),
|
|
@@ -756,6 +779,7 @@ export function registerExtraSlidesTools(server: McpServer): void {
|
|
|
756
779
|
|
|
757
780
|
server.registerTool('gog_slides_table_row_size', {
|
|
758
781
|
description: 'Set the minimum height of a zero-based table row.',
|
|
782
|
+
annotations: { destructiveHint: false },
|
|
759
783
|
inputSchema: z.object({
|
|
760
784
|
presentationId: z.string().describe('Presentation ID'),
|
|
761
785
|
tableObjectId: z.string().describe('Table object ID'),
|
|
@@ -788,6 +812,7 @@ export function registerExtraSlidesTools(server: McpServer): void {
|
|
|
788
812
|
|
|
789
813
|
server.registerTool('gog_slides_table_unmerge', {
|
|
790
814
|
description: 'Unmerge (split) a rectangular range of previously merged cells, starting at a zero-based cell.',
|
|
815
|
+
annotations: { destructiveHint: false },
|
|
791
816
|
inputSchema: z.object({
|
|
792
817
|
presentationId: z.string().describe('Presentation ID'),
|
|
793
818
|
tableObjectId: z.string().describe('Table object ID'),
|