gogcli-mcp 2.0.0 → 2.0.2

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/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": "2.0.0",
6
+ "version": "2.0.2",
7
7
  "description": "Google Sheets (and more) for Claude via gogcli — read, write, and manage spreadsheets",
8
8
  "author": {
9
9
  "name": "Chris Hall",
@@ -120,6 +120,182 @@
120
120
  "name": "gog_calendar_run",
121
121
  "description": "Run any gog calendar subcommand (escape hatch)"
122
122
  },
123
+ {
124
+ "name": "gog_classroom_courses_list",
125
+ "description": "List Google Classroom courses"
126
+ },
127
+ {
128
+ "name": "gog_classroom_courses_get",
129
+ "description": "Get a single course by ID"
130
+ },
131
+ {
132
+ "name": "gog_classroom_courses_create",
133
+ "description": "Create a new course"
134
+ },
135
+ {
136
+ "name": "gog_classroom_courses_update",
137
+ "description": "Update an existing course"
138
+ },
139
+ {
140
+ "name": "gog_classroom_courses_delete",
141
+ "description": "Delete a course"
142
+ },
143
+ {
144
+ "name": "gog_classroom_courses_archive",
145
+ "description": "Archive a course"
146
+ },
147
+ {
148
+ "name": "gog_classroom_courses_unarchive",
149
+ "description": "Unarchive a course"
150
+ },
151
+ {
152
+ "name": "gog_classroom_students_list",
153
+ "description": "List students in a course"
154
+ },
155
+ {
156
+ "name": "gog_classroom_students_get",
157
+ "description": "Get a specific student"
158
+ },
159
+ {
160
+ "name": "gog_classroom_students_add",
161
+ "description": "Add a student to a course"
162
+ },
163
+ {
164
+ "name": "gog_classroom_students_remove",
165
+ "description": "Remove a student from a course"
166
+ },
167
+ {
168
+ "name": "gog_classroom_teachers_list",
169
+ "description": "List teachers in a course"
170
+ },
171
+ {
172
+ "name": "gog_classroom_teachers_get",
173
+ "description": "Get a specific teacher"
174
+ },
175
+ {
176
+ "name": "gog_classroom_teachers_add",
177
+ "description": "Add a teacher to a course"
178
+ },
179
+ {
180
+ "name": "gog_classroom_teachers_remove",
181
+ "description": "Remove a teacher from a course"
182
+ },
183
+ {
184
+ "name": "gog_classroom_roster",
185
+ "description": "List the full course roster (students and/or teachers)"
186
+ },
187
+ {
188
+ "name": "gog_classroom_coursework_list",
189
+ "description": "List coursework (assignments) for a course"
190
+ },
191
+ {
192
+ "name": "gog_classroom_coursework_get",
193
+ "description": "Get a single coursework item"
194
+ },
195
+ {
196
+ "name": "gog_classroom_coursework_create",
197
+ "description": "Create coursework (assignment/question)"
198
+ },
199
+ {
200
+ "name": "gog_classroom_coursework_update",
201
+ "description": "Update existing coursework"
202
+ },
203
+ {
204
+ "name": "gog_classroom_coursework_delete",
205
+ "description": "Delete coursework"
206
+ },
207
+ {
208
+ "name": "gog_classroom_submissions_list",
209
+ "description": "List student submissions for coursework"
210
+ },
211
+ {
212
+ "name": "gog_classroom_submissions_get",
213
+ "description": "Get a single submission"
214
+ },
215
+ {
216
+ "name": "gog_classroom_submissions_grade",
217
+ "description": "Grade a submission"
218
+ },
219
+ {
220
+ "name": "gog_classroom_submissions_return",
221
+ "description": "Return a graded submission"
222
+ },
223
+ {
224
+ "name": "gog_classroom_submissions_turn_in",
225
+ "description": "Turn in a submission (student action)"
226
+ },
227
+ {
228
+ "name": "gog_classroom_submissions_reclaim",
229
+ "description": "Reclaim a turned-in submission (student action)"
230
+ },
231
+ {
232
+ "name": "gog_classroom_announcements_list",
233
+ "description": "List announcements"
234
+ },
235
+ {
236
+ "name": "gog_classroom_announcements_get",
237
+ "description": "Get an announcement"
238
+ },
239
+ {
240
+ "name": "gog_classroom_announcements_create",
241
+ "description": "Create an announcement"
242
+ },
243
+ {
244
+ "name": "gog_classroom_announcements_update",
245
+ "description": "Update an announcement"
246
+ },
247
+ {
248
+ "name": "gog_classroom_announcements_delete",
249
+ "description": "Delete an announcement"
250
+ },
251
+ {
252
+ "name": "gog_classroom_topics_list",
253
+ "description": "List topics in a course"
254
+ },
255
+ {
256
+ "name": "gog_classroom_topics_get",
257
+ "description": "Get a topic"
258
+ },
259
+ {
260
+ "name": "gog_classroom_topics_create",
261
+ "description": "Create a topic"
262
+ },
263
+ {
264
+ "name": "gog_classroom_topics_update",
265
+ "description": "Rename a topic"
266
+ },
267
+ {
268
+ "name": "gog_classroom_topics_delete",
269
+ "description": "Delete a topic"
270
+ },
271
+ {
272
+ "name": "gog_classroom_invitations_list",
273
+ "description": "List classroom invitations"
274
+ },
275
+ {
276
+ "name": "gog_classroom_invitations_get",
277
+ "description": "Get an invitation"
278
+ },
279
+ {
280
+ "name": "gog_classroom_invitations_create",
281
+ "description": "Create an invitation"
282
+ },
283
+ {
284
+ "name": "gog_classroom_invitations_accept",
285
+ "description": "Accept an invitation"
286
+ },
287
+ {
288
+ "name": "gog_classroom_invitations_delete",
289
+ "description": "Delete (revoke) an invitation"
290
+ },
291
+ {
292
+ "name": "gog_classroom_profile_get",
293
+ "description": "Get a classroom user profile (omit userId for self)"
294
+ },
295
+ {
296
+ "name": "gog_classroom_run",
297
+ "description": "Run any gog classroom subcommand (escape hatch)"
298
+ },
123
299
  {
124
300
  "name": "gog_drive_ls",
125
301
  "description": "List files in a Google Drive folder"
@@ -263,6 +439,58 @@
263
439
  {
264
440
  "name": "gog_sheets_run",
265
441
  "description": "Run any gog sheets subcommand (escape hatch)"
442
+ },
443
+ {
444
+ "name": "gog_slides_export",
445
+ "description": "Export a Google Slides presentation to pdf or pptx"
446
+ },
447
+ {
448
+ "name": "gog_slides_info",
449
+ "description": "Get metadata for a Google Slides presentation"
450
+ },
451
+ {
452
+ "name": "gog_slides_create",
453
+ "description": "Create a new Google Slides presentation"
454
+ },
455
+ {
456
+ "name": "gog_slides_create_from_markdown",
457
+ "description": "Create a new Google Slides presentation from markdown content"
458
+ },
459
+ {
460
+ "name": "gog_slides_create_from_template",
461
+ "description": "Create a new Google Slides presentation from a template with placeholder replacements"
462
+ },
463
+ {
464
+ "name": "gog_slides_copy",
465
+ "description": "Copy a Google Slides presentation"
466
+ },
467
+ {
468
+ "name": "gog_slides_add_slide",
469
+ "description": "Add a slide to a presentation from a local image"
470
+ },
471
+ {
472
+ "name": "gog_slides_list_slides",
473
+ "description": "List slides in a presentation"
474
+ },
475
+ {
476
+ "name": "gog_slides_delete_slide",
477
+ "description": "Delete a slide from a presentation"
478
+ },
479
+ {
480
+ "name": "gog_slides_read_slide",
481
+ "description": "Read the content of a slide"
482
+ },
483
+ {
484
+ "name": "gog_slides_update_notes",
485
+ "description": "Update speaker notes on a slide"
486
+ },
487
+ {
488
+ "name": "gog_slides_replace_slide",
489
+ "description": "Replace the image content of an existing slide"
490
+ },
491
+ {
492
+ "name": "gog_slides_run",
493
+ "description": "Run any gog slides subcommand (escape hatch)"
266
494
  }
267
495
  ],
268
496
  "compatibility": {
package/package.json CHANGED
@@ -1,11 +1,28 @@
1
1
  {
2
2
  "name": "gogcli-mcp",
3
- "version": "2.0.0",
3
+ "version": "2.0.2",
4
4
  "description": "MCP server wrapping gogcli for Google service access",
5
+ "author": "Claude Code (AI) <https://www.anthropic.com/claude>",
5
6
  "repository": {
6
7
  "type": "git",
7
8
  "url": "https://github.com/chrischall/gogcli-mcp"
8
9
  },
10
+ "license": "MIT",
11
+ "keywords": [
12
+ "mcp",
13
+ "model-context-protocol",
14
+ "claude",
15
+ "ai",
16
+ "google",
17
+ "gogcli",
18
+ "google-sheets",
19
+ "google-docs",
20
+ "google-drive",
21
+ "google-calendar",
22
+ "gmail",
23
+ "google-tasks",
24
+ "google-contacts"
25
+ ],
9
26
  "type": "module",
10
27
  "bin": {
11
28
  "gogcli-mcp": "dist/index.js"
package/src/lib.ts CHANGED
@@ -4,11 +4,13 @@ export {
4
4
  VERSION,
5
5
  registerAuthTools,
6
6
  registerCalendarTools,
7
+ registerClassroomTools,
7
8
  registerContactsTools,
8
9
  registerDocsTools,
9
10
  registerDriveTools,
10
11
  registerGmailTools,
11
12
  registerSheetsTools,
13
+ registerSlidesTools,
12
14
  registerTasksTools,
13
15
  } from './server.js';
14
16
  export { run } from './runner.js';
package/src/server.ts CHANGED
@@ -1,15 +1,20 @@
1
1
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  import { registerAuthTools } from './tools/auth.js';
3
3
  import { registerCalendarTools } from './tools/calendar.js';
4
+ import { registerClassroomTools } from './tools/classroom.js';
4
5
  import { registerContactsTools } from './tools/contacts.js';
5
6
  import { registerDocsTools } from './tools/docs.js';
6
7
  import { registerDriveTools } from './tools/drive.js';
7
8
  import { registerGmailTools } from './tools/gmail.js';
8
9
  import { registerSheetsTools } from './tools/sheets.js';
10
+ import { registerSlidesTools } from './tools/slides.js';
9
11
  import { registerTasksTools } from './tools/tasks.js';
10
12
 
11
- // Injected at build time by esbuild --define:GOGCLI_VERSION=...
13
+ // Injected at build time by esbuild --define:GOGCLI_VERSION=... At test runtime
14
+ // the define is not applied, so the fallback branch runs. The injected branch
15
+ // is exercised in the built bundle, not in vitest.
12
16
  declare const GOGCLI_VERSION: string;
17
+ /* v8 ignore next */
13
18
  export const VERSION = typeof GOGCLI_VERSION !== 'undefined' ? GOGCLI_VERSION : '0.0.0';
14
19
 
15
20
  export function createServer(options?: { name?: string; version?: string }): McpServer {
@@ -24,11 +29,13 @@ export function createBaseServer(options?: { name?: string; version?: string }):
24
29
 
25
30
  registerAuthTools(server);
26
31
  registerCalendarTools(server);
32
+ registerClassroomTools(server);
27
33
  registerContactsTools(server);
28
34
  registerDocsTools(server);
29
35
  registerDriveTools(server);
30
36
  registerGmailTools(server);
31
37
  registerSheetsTools(server);
38
+ registerSlidesTools(server);
32
39
  registerTasksTools(server);
33
40
 
34
41
  return server;
@@ -37,10 +44,12 @@ export function createBaseServer(options?: { name?: string; version?: string }):
37
44
  export {
38
45
  registerAuthTools,
39
46
  registerCalendarTools,
47
+ registerClassroomTools,
40
48
  registerContactsTools,
41
49
  registerDocsTools,
42
50
  registerDriveTools,
43
51
  registerGmailTools,
44
52
  registerSheetsTools,
53
+ registerSlidesTools,
45
54
  registerTasksTools,
46
55
  };