gogcli-mcp-slides 2.7.1 → 2.18.0
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 +20468 -19589
- package/manifest.json +138 -2
- package/package.json +3 -2
- package/server.json +2 -2
- package/src/index.ts +7 -9
- package/src/tools/slides-extra.ts +651 -18
- package/tests/tools/slides-extra.test.ts +541 -23
- package/tsconfig.json +1 -1
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": "2.
|
|
6
|
+
"version": "2.18.0",
|
|
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",
|
|
@@ -61,6 +61,18 @@
|
|
|
61
61
|
"name": "gog_auth_add",
|
|
62
62
|
"description": "Authorize a Google account via browser-based OAuth"
|
|
63
63
|
},
|
|
64
|
+
{
|
|
65
|
+
"name": "gog_auth_health",
|
|
66
|
+
"description": "Live per-account token health: validity, age, and pre-expiry warnings (detects invalid_grant)"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"name": "gog_auth_add_url",
|
|
70
|
+
"description": "Begin remote/headless OAuth (step 1): return a sign-in URL to open in any browser"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"name": "gog_auth_add_complete",
|
|
74
|
+
"description": "Complete remote/headless OAuth (step 2): exchange the pasted redirect URL and store the token"
|
|
75
|
+
},
|
|
64
76
|
{
|
|
65
77
|
"name": "gog_auth_list",
|
|
66
78
|
"description": "List all Google accounts stored in gogcli"
|
|
@@ -127,7 +139,131 @@
|
|
|
127
139
|
},
|
|
128
140
|
{
|
|
129
141
|
"name": "gog_slides_replace_slide",
|
|
130
|
-
"description": "Replace the image on an existing slide"
|
|
142
|
+
"description": "Replace the image on an existing slide (local file or public URL)"
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"name": "gog_slides_raw",
|
|
146
|
+
"description": "Dump the raw Google Slides API response as JSON (lossless)."
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"name": "gog_slides_locate",
|
|
150
|
+
"description": "Locate text in shapes and table cells with object IDs and UTF-16 ranges."
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"name": "gog_slides_thumbnail",
|
|
154
|
+
"description": "Get or download a rendered thumbnail image for a slide."
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"name": "gog_slides_new_slide",
|
|
158
|
+
"description": "Create a native themed slide with a predefined or custom layout."
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"name": "gog_slides_duplicate_slide",
|
|
162
|
+
"description": "Duplicate a slide by object ID at a zero-based index."
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"name": "gog_slides_move_slide",
|
|
166
|
+
"description": "Move a slide to a zero-based insertion index."
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"name": "gog_slides_insert_text",
|
|
170
|
+
"description": "Insert text into a shape or table cell by object ID."
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"name": "gog_slides_style_text",
|
|
174
|
+
"description": "Apply range-scoped text styling to one page element."
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"name": "gog_slides_link",
|
|
178
|
+
"description": "Apply or clear a hyperlink on a text range in one element."
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"name": "gog_slides_bullets",
|
|
182
|
+
"description": "Turn paragraph bullets on or off for a text range."
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"name": "gog_slides_replace_text",
|
|
186
|
+
"description": "Scoped find-and-replace (object, slides, or whole presentation)."
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"name": "gog_slides_element_create_shape",
|
|
190
|
+
"description": "Create a native shape on a slide."
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"name": "gog_slides_element_create_line",
|
|
194
|
+
"description": "Create a native line on a slide."
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"name": "gog_slides_element_style",
|
|
198
|
+
"description": "Style a shape fill/outline or a line."
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"name": "gog_slides_element_transform",
|
|
202
|
+
"description": "Move, resize, rotate, or shear a page element."
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"name": "gog_slides_element_z_order",
|
|
206
|
+
"description": "Change element stacking order."
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"name": "gog_slides_element_group",
|
|
210
|
+
"description": "Group two or more page elements."
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"name": "gog_slides_element_ungroup",
|
|
214
|
+
"description": "Ungroup one or more element groups."
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
"name": "gog_slides_element_alt_text",
|
|
218
|
+
"description": "Set or clear element accessibility title/description."
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
"name": "gog_slides_element_delete",
|
|
222
|
+
"description": "Delete one page element by object ID."
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"name": "gog_slides_table_create",
|
|
226
|
+
"description": "Create an auto-sized native table on a slide."
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
"name": "gog_slides_table_cell_style",
|
|
230
|
+
"description": "Style one zero-based table cell (fill, alignment, text)."
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
"name": "gog_slides_table_border_style",
|
|
234
|
+
"description": "Style borders around or within a table cell range."
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
"name": "gog_slides_table_column_insert",
|
|
238
|
+
"description": "Insert columns left or right of a zero-based column."
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
"name": "gog_slides_table_column_delete",
|
|
242
|
+
"description": "Delete the column containing a zero-based cell."
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"name": "gog_slides_table_column_size",
|
|
246
|
+
"description": "Set a table column's width."
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"name": "gog_slides_table_row_insert",
|
|
250
|
+
"description": "Insert rows above or below a zero-based row."
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
"name": "gog_slides_table_row_delete",
|
|
254
|
+
"description": "Delete the row containing a zero-based cell."
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"name": "gog_slides_table_row_size",
|
|
258
|
+
"description": "Set a table row's minimum height."
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
"name": "gog_slides_table_merge",
|
|
262
|
+
"description": "Merge a rectangular table cell range."
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"name": "gog_slides_table_unmerge",
|
|
266
|
+
"description": "Unmerge a rectangular range of merged cells."
|
|
131
267
|
},
|
|
132
268
|
{
|
|
133
269
|
"name": "gog_slides_run",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gogcli-mcp-slides",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.18.0",
|
|
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>",
|
|
@@ -19,11 +19,12 @@
|
|
|
19
19
|
"build": "tsc --noEmit && npm run bundle",
|
|
20
20
|
"bundle": "node ../../scripts/bundle.js src/index.ts dist/index.js",
|
|
21
21
|
"typecheck": "tsc --noEmit",
|
|
22
|
-
"test": "vitest run",
|
|
22
|
+
"test": "vitest run --coverage",
|
|
23
23
|
"test:watch": "vitest",
|
|
24
24
|
"test:coverage": "vitest run --coverage"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
+
"@chrischall/mcp-utils": "^0.13.3",
|
|
27
28
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
28
29
|
"zod": "^4.4.3"
|
|
29
30
|
},
|
package/server.json
CHANGED
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
"source": "github",
|
|
8
8
|
"subfolder": "packages/gogcli-mcp-slides"
|
|
9
9
|
},
|
|
10
|
-
"version": "2.
|
|
10
|
+
"version": "2.18.0",
|
|
11
11
|
"packages": [
|
|
12
12
|
{
|
|
13
13
|
"registryType": "npm",
|
|
14
14
|
"identifier": "gogcli-mcp-slides",
|
|
15
|
-
"version": "2.
|
|
15
|
+
"version": "2.18.0",
|
|
16
16
|
"transport": {
|
|
17
17
|
"type": "stdio"
|
|
18
18
|
},
|
package/src/index.ts
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { runMcp } from '@chrischall/mcp-utils';
|
|
3
|
+
import { VERSION, authToolsFor, registerSlidesTools } from '../../gogcli-mcp/src/lib.js';
|
|
4
4
|
import { registerExtraSlidesTools } from './tools/slides-extra.js';
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const transport = new StdioServerTransport();
|
|
12
|
-
await server.connect(transport);
|
|
6
|
+
await runMcp({
|
|
7
|
+
name: 'gogcli-slides',
|
|
8
|
+
version: VERSION,
|
|
9
|
+
tools: [authToolsFor('slides'), registerSlidesTools, registerExtraSlidesTools],
|
|
10
|
+
});
|