mcp-google-multi 6.0.0-beta.4 → 6.0.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.
Files changed (57) hide show
  1. package/README.md +15 -1
  2. package/dist/discover.js +2 -3
  3. package/dist/fs-atomic.js +98 -12
  4. package/dist/hint-provider.d.ts +4 -1
  5. package/dist/mcp-token.d.ts +37 -3
  6. package/dist/mcp-token.js +105 -12
  7. package/dist/oauth-as.d.ts +5 -0
  8. package/dist/oauth-as.js +13 -5
  9. package/dist/registry.d.ts +2 -0
  10. package/dist/registry.js +59 -10
  11. package/dist/tools/accounts-tool.d.ts +7 -0
  12. package/dist/tools/accounts-tool.js +17 -6
  13. package/dist/tools/admin.js +6 -1
  14. package/dist/tools/analytics.js +28 -11
  15. package/dist/tools/calendar.d.ts +5 -0
  16. package/dist/tools/calendar.js +59 -0
  17. package/dist/tools/contacts.js +11 -5
  18. package/dist/tools/docs.js +41 -12
  19. package/dist/tools/drive.js +54 -12
  20. package/dist/tools/generated/gmail.js +0 -14
  21. package/dist/tools/generated/method-map.js +1 -1
  22. package/dist/tools/gmail.d.ts +1 -1
  23. package/dist/tools/gmail.js +109 -12
  24. package/dist/tools/sheets.d.ts +10 -0
  25. package/dist/tools/sheets.js +109 -2
  26. package/dist/write-control.js +15 -2
  27. package/package.json +4 -2
  28. package/skills/google-workspace/SKILL.md +162 -0
  29. package/skills/google-workspace/reference/admin.md +105 -0
  30. package/skills/google-workspace/reference/analytics.md +70 -0
  31. package/skills/google-workspace/reference/appsmarket.md +5 -0
  32. package/skills/google-workspace/reference/calendar.md +175 -0
  33. package/skills/google-workspace/reference/chat.md +59 -0
  34. package/skills/google-workspace/reference/classroom.md +5 -0
  35. package/skills/google-workspace/reference/cloudidentity.md +5 -0
  36. package/skills/google-workspace/reference/cloudsearch.md +5 -0
  37. package/skills/google-workspace/reference/contacts.md +138 -0
  38. package/skills/google-workspace/reference/docs.md +395 -0
  39. package/skills/google-workspace/reference/drive.md +485 -0
  40. package/skills/google-workspace/reference/driveactivity.md +5 -0
  41. package/skills/google-workspace/reference/drivelabels.md +5 -0
  42. package/skills/google-workspace/reference/forms.md +92 -0
  43. package/skills/google-workspace/reference/gmail.md +305 -0
  44. package/skills/google-workspace/reference/groupsmigration.md +5 -0
  45. package/skills/google-workspace/reference/groupssettings.md +5 -0
  46. package/skills/google-workspace/reference/keep.md +5 -0
  47. package/skills/google-workspace/reference/licensing.md +5 -0
  48. package/skills/google-workspace/reference/meet.md +68 -0
  49. package/skills/google-workspace/reference/postmaster.md +5 -0
  50. package/skills/google-workspace/reference/reseller.md +5 -0
  51. package/skills/google-workspace/reference/script.md +5 -0
  52. package/skills/google-workspace/reference/searchconsole.md +128 -0
  53. package/skills/google-workspace/reference/sheets.md +430 -0
  54. package/skills/google-workspace/reference/slides.md +67 -0
  55. package/skills/google-workspace/reference/tasks.md +167 -0
  56. package/skills/google-workspace/reference/vault.md +5 -0
  57. package/skills/google-workspace/reference/workspaceevents.md +5 -0
@@ -0,0 +1,485 @@
1
+ # drive
2
+
3
+ <!-- GENERATED by scripts/gen-skill.ts, do not edit by hand. Regenerate: npm run gen:skill -->
4
+
5
+ 36 curated tools, plus 35 generated tools (Google Discovery parameter names; see `drive_discover`).
6
+
7
+ ## `drive_access_proposal_list`
8
+
9
+ Class: read
10
+
11
+ List pending "Request access" proposals on a file. Useful for programmatic triage of share requests from external collaborators.
12
+
13
+ | Argument | Type | Required | Description |
14
+ |---|---|---|---|
15
+ | `account` | string | optional | Google account alias; "*" = all accounts; omit for the default account |
16
+ | `fileId` | string | required | Google Drive file ID |
17
+ | `pageSize` | number | optional | |
18
+ | `pageToken` | string | optional | |
19
+
20
+ ## `drive_access_proposal_resolve`
21
+
22
+ Class: update
23
+
24
+ Resolve a pending access proposal. Action ACCEPT requires a role array (e.g. ["reader"]).
25
+
26
+ | Argument | Type | Required | Description |
27
+ |---|---|---|---|
28
+ | `account` | string | optional | Google account alias |
29
+ | `fileId` | string | required | Google Drive file ID |
30
+ | `proposalId` | string | required | Access proposal ID |
31
+ | `action` | enum | required | Whether to accept or deny the proposal |
32
+ | `role` | array | optional | Required when action is ACCEPT |
33
+ | `view` | string | optional | Optional view, e.g. "published" |
34
+ | `sendNotification` | boolean | optional | Email the requester about the resolution |
35
+
36
+ ## `drive_comment_create`
37
+
38
+ Class: create
39
+
40
+ Create a comment on a Drive file. Works on Docs, Sheets, Slides, PDFs, and any Drive file. The optional anchor is a JSON string describing the document region (see Drive "Manage comments" guide).
41
+
42
+ | Argument | Type | Required | Description |
43
+ |---|---|---|---|
44
+ | `account` | string | optional | Google account alias |
45
+ | `fileId` | string | required | Google Drive file ID |
46
+ | `content` | string | required | Plain text comment content |
47
+ | `anchor` | string | optional | Region anchor (JSON string). Optional. |
48
+ | `quotedFileContent` | object | optional | Optional reference to quoted file content |
49
+
50
+ ## `drive_comment_delete`
51
+
52
+ Class: delete
53
+
54
+ Delete a comment from a Drive file
55
+
56
+ | Argument | Type | Required | Description |
57
+ |---|---|---|---|
58
+ | `account` | string | optional | Google account alias |
59
+ | `fileId` | string | required | Google Drive file ID |
60
+ | `commentId` | string | required | Comment ID |
61
+
62
+ ## `drive_comment_get`
63
+
64
+ Class: read
65
+
66
+ Get a single comment by ID
67
+
68
+ | Argument | Type | Required | Description |
69
+ |---|---|---|---|
70
+ | `account` | string | optional | Google account alias; "*" = all accounts; omit for the default account |
71
+ | `fileId` | string | required | Google Drive file ID |
72
+ | `commentId` | string | required | Comment ID |
73
+ | `includeDeleted` | boolean | optional | |
74
+
75
+ ## `drive_comment_list`
76
+
77
+ Class: read
78
+
79
+ List comments on a Drive file with pagination
80
+
81
+ | Argument | Type | Required | Description |
82
+ |---|---|---|---|
83
+ | `account` | string | optional | Google account alias; "*" = all accounts; omit for the default account |
84
+ | `fileId` | string | required | Google Drive file ID |
85
+ | `includeDeleted` | boolean | optional | Include deleted comments (default: false) |
86
+ | `pageSize` | number | optional | Max comments per page (default: 20) |
87
+ | `pageToken` | string | optional | Token from a previous page |
88
+ | `startModifiedTime` | string | optional | Only return comments modified after this RFC 3339 timestamp |
89
+
90
+ ## `drive_comment_update`
91
+
92
+ Class: update
93
+
94
+ Edit the content of an existing comment (PATCH semantics)
95
+
96
+ | Argument | Type | Required | Description |
97
+ |---|---|---|---|
98
+ | `account` | string | optional | Google account alias |
99
+ | `fileId` | string | required | Google Drive file ID |
100
+ | `commentId` | string | required | Comment ID |
101
+ | `content` | string | required | New plain text content |
102
+
103
+ ## `drive_copy`
104
+
105
+ Class: create
106
+
107
+ Duplicate a file in Google Drive (does not work on folders)
108
+
109
+ | Argument | Type | Required | Description |
110
+ |---|---|---|---|
111
+ | `account` | string | optional | Google account alias |
112
+ | `fileId` | string | required | Google Drive file ID to copy |
113
+ | `newName` | string | optional | Name for the copy (default: "Copy of <original>") |
114
+ | `parentFolderId` | string | optional | Where to put the copy, not parentId. Default: same folder |
115
+
116
+ ## `drive_create_folder`
117
+
118
+ Class: create
119
+
120
+ Create a new folder in Google Drive
121
+
122
+ | Argument | Type | Required | Description |
123
+ |---|---|---|---|
124
+ | `account` | string | optional | Google account alias |
125
+ | `name` | string | required | Folder name |
126
+ | `parentFolderId` | string | optional | Parent folder ID, not parentId. Defaults to My Drive root |
127
+
128
+ ## `drive_delete`
129
+
130
+ Class: delete
131
+
132
+ Permanently delete a file or folder from Google Drive. Irreversible. Use drive_trash for recoverable deletion.
133
+
134
+ | Argument | Type | Required | Description |
135
+ |---|---|---|---|
136
+ | `account` | string | optional | Google account alias |
137
+ | `fileId` | string | required | Google Drive file ID |
138
+
139
+ ## `drive_download`
140
+
141
+ Class: read
142
+
143
+ Download a binary file from Drive to local disk. For Google Workspace formats (Docs, Sheets, Slides), use drive_export instead.
144
+
145
+ | Argument | Type | Required | Description |
146
+ |---|---|---|---|
147
+ | `account` | string | optional | Google account alias |
148
+ | `fileId` | string | required | Google Drive file ID |
149
+ | `savePath` | string | required | Absolute DIRECTORY path to save into (created if missing, on the machine running the server); the file name comes from `filename` |
150
+ | `filename` | string | optional | Filename to save as (defaults to the file name in Drive) |
151
+
152
+ ## `drive_empty_trash`
153
+
154
+ Class: delete
155
+
156
+ Permanently delete every file currently in the account's trash. Irreversible.
157
+
158
+ | Argument | Type | Required | Description |
159
+ |---|---|---|---|
160
+ | `account` | string | optional | Google account alias |
161
+
162
+ ## `drive_export`
163
+
164
+ Class: read
165
+
166
+ Export a Google Workspace document (Doc, Sheet, Slide) to a standard format and save to disk. Supported: PDF, DOCX, XLSX, PPTX, TXT, CSV, Markdown (text/markdown for Docs).
167
+
168
+ | Argument | Type | Required | Description |
169
+ |---|---|---|---|
170
+ | `account` | string | optional | Google account alias |
171
+ | `fileId` | string | required | Google Drive file ID |
172
+ | `mimeType` | string | required | Target export MIME type (e.g. "application/pdf", "text/markdown", "application/vnd.openxmlformats-officedocument.wordprocessingml.document") |
173
+ | `savePath` | string | required | Absolute DIRECTORY path to save into (created if missing, on the machine running the server); the file name comes from `filename` |
174
+ | `filename` | string | optional | Filename to save as (defaults to the Drive name plus the extension implied by mimeType) |
175
+
176
+ ## `drive_get_about`
177
+
178
+ Class: read
179
+
180
+ Get Drive storage quota, user display name, and email for an account
181
+
182
+ | Argument | Type | Required | Description |
183
+ |---|---|---|---|
184
+ | `account` | string | optional | Google account alias; "*" = all accounts; omit for the default account |
185
+
186
+ ## `drive_list`
187
+
188
+ Class: read
189
+
190
+ List files in a Google Drive folder or root
191
+
192
+ | Argument | Type | Required | Description |
193
+ |---|---|---|---|
194
+ | `account` | string | optional | Google account alias; "*" = all accounts; omit for the default account |
195
+ | `folderId` | string | optional | Folder ID to list, omit for root. Named folderId here, not parentFolderId |
196
+ | `maxResults` | number | optional | Max results to return (default: 50) |
197
+ | `pageToken` | string | optional | Continuation token from a previous call's nextPageToken |
198
+
199
+ ## `drive_list_permissions`
200
+
201
+ Class: read
202
+
203
+ List all people and groups who have access to a Drive file or folder
204
+
205
+ | Argument | Type | Required | Description |
206
+ |---|---|---|---|
207
+ | `account` | string | optional | Google account alias; "*" = all accounts; omit for the default account |
208
+ | `fileId` | string | required | Google Drive file ID |
209
+
210
+ ## `drive_move`
211
+
212
+ Class: update
213
+
214
+ Move a file between folders by replacing its parents. To move to multiple parents, list all of them.
215
+
216
+ | Argument | Type | Required | Description |
217
+ |---|---|---|---|
218
+ | `account` | string | optional | Google account alias |
219
+ | `fileId` | string | required | Google Drive file ID |
220
+ | `newParentFolderId` | string | required | Destination folder ID, named newParentFolderId here, not parentFolderId |
221
+
222
+ ## `drive_permission_update`
223
+
224
+ Class: update
225
+
226
+ Change the role and/or expirationTime of an existing permission without removing it. Use "removeExpiration=true" to clear an existing expirationTime.
227
+
228
+ | Argument | Type | Required | Description |
229
+ |---|---|---|---|
230
+ | `account` | string | optional | Google account alias |
231
+ | `fileId` | string | required | Google Drive file ID |
232
+ | `permissionId` | string | required | Permission ID from drive_list_permissions |
233
+ | `role` | enum | optional | New role |
234
+ | `expirationTime` | string | optional | New RFC 3339 expiration timestamp. Only valid for role "reader" or "commenter". |
235
+ | `removeExpiration` | boolean | optional | Clear the existing expirationTime |
236
+ | `transferOwnership` | boolean | optional | Promote to owner. Requires role="owner". |
237
+
238
+ ## `drive_read`
239
+
240
+ Class: read
241
+
242
+ Read the content of a Google Drive file: Workspace docs and textual types (text/*, JSON/XML/SVG and similar) inline; other binaries return error:binary (returns up to maxChars characters per call; non-Google-native files over 2MB return too_large)
243
+
244
+ | Argument | Type | Required | Description |
245
+ |---|---|---|---|
246
+ | `account` | string | optional | Google account alias; "*" = all accounts; omit for the default account |
247
+ | `fileId` | string | required | Google Drive file ID |
248
+ | `maxChars` | number | optional | Max characters of content to return (default: 100000) |
249
+ | `offset` | number | optional | Character offset to continue a truncated read (Google Docs/Sheets/Slides exports page fine; plain files >2MB are rejected, not paged) |
250
+
251
+ ## `drive_remove_permission`
252
+
253
+ Class: delete
254
+
255
+ Revoke access to a Drive file for a specific permission
256
+
257
+ | Argument | Type | Required | Description |
258
+ |---|---|---|---|
259
+ | `account` | string | optional | Google account alias |
260
+ | `fileId` | string | required | Google Drive file ID |
261
+ | `permissionId` | string | required | Permission ID from drive_list_permissions |
262
+
263
+ ## `drive_reply_create`
264
+
265
+ Class: create
266
+
267
+ Reply to a comment. Optionally close or reopen the thread by setting action to "resolve" or "reopen".
268
+
269
+ | Argument | Type | Required | Description |
270
+ |---|---|---|---|
271
+ | `account` | string | optional | Google account alias |
272
+ | `fileId` | string | required | Google Drive file ID |
273
+ | `commentId` | string | required | Parent comment ID |
274
+ | `content` | string | required | Reply content (required even when only changing action) |
275
+ | `action` | enum | optional | Optional action to apply to the thread on this reply |
276
+
277
+ ## `drive_reply_delete`
278
+
279
+ Class: delete
280
+
281
+ Delete a reply from a comment thread
282
+
283
+ | Argument | Type | Required | Description |
284
+ |---|---|---|---|
285
+ | `account` | string | optional | Google account alias |
286
+ | `fileId` | string | required | Google Drive file ID |
287
+ | `commentId` | string | required | Parent comment ID |
288
+ | `replyId` | string | required | Reply ID |
289
+
290
+ ## `drive_reply_list`
291
+
292
+ Class: read
293
+
294
+ List replies on a comment with pagination
295
+
296
+ | Argument | Type | Required | Description |
297
+ |---|---|---|---|
298
+ | `account` | string | optional | Google account alias; "*" = all accounts; omit for the default account |
299
+ | `fileId` | string | required | Google Drive file ID |
300
+ | `commentId` | string | required | Parent comment ID |
301
+ | `includeDeleted` | boolean | optional | |
302
+ | `pageSize` | number | optional | |
303
+ | `pageToken` | string | optional | |
304
+
305
+ ## `drive_reply_update`
306
+
307
+ Class: update
308
+
309
+ Edit the content of an existing reply
310
+
311
+ | Argument | Type | Required | Description |
312
+ |---|---|---|---|
313
+ | `account` | string | optional | Google account alias |
314
+ | `fileId` | string | required | Google Drive file ID |
315
+ | `commentId` | string | required | Parent comment ID |
316
+ | `replyId` | string | required | Reply ID |
317
+ | `content` | string | required | New plain text content |
318
+
319
+ ## `drive_revision_delete`
320
+
321
+ Class: delete
322
+
323
+ Delete a specific revision of a file
324
+
325
+ | Argument | Type | Required | Description |
326
+ |---|---|---|---|
327
+ | `account` | string | optional | Google account alias |
328
+ | `fileId` | string | required | Google Drive file ID |
329
+ | `revisionId` | string | required | Revision ID |
330
+
331
+ ## `drive_revision_list`
332
+
333
+ Class: read
334
+
335
+ List version history of a Drive file
336
+
337
+ | Argument | Type | Required | Description |
338
+ |---|---|---|---|
339
+ | `account` | string | optional | Google account alias; "*" = all accounts; omit for the default account |
340
+ | `fileId` | string | required | Google Drive file ID |
341
+ | `pageSize` | number | optional | |
342
+ | `pageToken` | string | optional | |
343
+
344
+ ## `drive_revision_update`
345
+
346
+ Class: update
347
+
348
+ Pin a revision (keepForever=true) against the 200-version cap, or change its published state for Docs.
349
+
350
+ | Argument | Type | Required | Description |
351
+ |---|---|---|---|
352
+ | `account` | string | optional | Google account alias |
353
+ | `fileId` | string | required | Google Drive file ID |
354
+ | `revisionId` | string | required | Revision ID |
355
+ | `keepForever` | boolean | optional | Pin this revision indefinitely |
356
+ | `published` | boolean | optional | Toggle published state (Docs only) |
357
+ | `publishAuto` | boolean | optional | Auto-publish subsequent revisions |
358
+ | `publishedOutsideDomain` | boolean | optional | Allow publish outside domain |
359
+
360
+ ## `drive_search`
361
+
362
+ Class: read
363
+
364
+ Search files in a Google Drive account. A plain keyword is treated as a full-text search; pass Drive query syntax for a structured search.
365
+
366
+ | Argument | Type | Required | Description |
367
+ |---|---|---|---|
368
+ | `account` | string | optional | Google account alias; "*" = all accounts; omit for the default account |
369
+ | `query` | string | required | A plain keyword (full-text search) or Drive query syntax, e.g. "name contains 'MoU'" |
370
+ | `maxResults` | number | optional | Max results to return (default: 10, max: 100) |
371
+ | `driveId` | string | optional | Optional shared drive ID |
372
+ | `pageToken` | string | optional | Continuation token from a previous call's nextPageToken |
373
+ | `orderBy` | string | optional | Sort key(s) for files.list, e.g. "modifiedTime desc" or "folder,name". Default: Drive's relevance ranking for the query, an arbitrary stable order otherwise. |
374
+
375
+ ## `drive_share`
376
+
377
+ Class: create
378
+
379
+ Share a file or folder with a user, group, domain, or anyone with the link
380
+
381
+ | Argument | Type | Required | Description |
382
+ |---|---|---|---|
383
+ | `account` | string | optional | Google account alias |
384
+ | `fileId` | string | required | Google Drive file ID |
385
+ | `type` | enum | required | Permission type |
386
+ | `role` | enum | required | Permission role |
387
+ | `emailAddress` | string | optional | Required when type is "user" or "group" |
388
+ | `domain` | string | optional | Required when type is "domain" |
389
+ | `sendNotification` | boolean | optional | Send notification email (default: true) |
390
+ | `emailMessage` | string | optional | Custom message in notification email |
391
+ | `transferOwnership` | boolean | optional | Transfer ownership to the recipient. Requires role="owner". Recipient must accept ownership. |
392
+ | `expirationTime` | string | optional | RFC 3339 timestamp when access expires. Only valid for role="reader" or "commenter". |
393
+
394
+ ## `drive_shared_drive_get`
395
+
396
+ Class: read
397
+
398
+ Get metadata for a specific shared drive
399
+
400
+ | Argument | Type | Required | Description |
401
+ |---|---|---|---|
402
+ | `account` | string | optional | Google account alias; "*" = all accounts; omit for the default account |
403
+ | `driveId` | string | required | Shared drive ID |
404
+
405
+ ## `drive_shared_drives_list`
406
+
407
+ Class: read
408
+
409
+ List shared drives the account has access to
410
+
411
+ | Argument | Type | Required | Description |
412
+ |---|---|---|---|
413
+ | `account` | string | optional | Google account alias; "*" = all accounts; omit for the default account |
414
+ | `pageSize` | number | optional | |
415
+ | `pageToken` | string | optional | |
416
+ | `q` | string | optional | Optional filter expression |
417
+
418
+ ## `drive_transfer`
419
+
420
+ Class: create
421
+
422
+ Copy or move a file from one configured account to another (server-side share+copy, with a download+upload fallback). The copy is owned by the target account with a clean name (no "Copy of"); the temporary share on the source is revoked afterwards. Comments, revision history, and permissions do not transfer. move=true trashes the source after a successful copy and requires deletes to be allowed by write-control.
423
+
424
+ | Argument | Type | Required | Description |
425
+ |---|---|---|---|
426
+ | `fromAccount` | string | required | Source account alias |
427
+ | `toAccount` | string | required | Target account alias |
428
+ | `fileId` | string | required | File ID in the source account (folders are not supported) |
429
+ | `parentFolderId` | string | optional | Target folder ID, not parentId. Default: target My Drive root |
430
+ | `newName` | string | optional | Rename the copy (default: keep the source name) |
431
+ | `move` | boolean | optional | Trash the source after a successful copy (delete-gated) |
432
+
433
+ ## `drive_trash`
434
+
435
+ Class: delete
436
+
437
+ Move a file to Google Drive trash. Recoverable from Drive UI or via drive_untrash.
438
+
439
+ | Argument | Type | Required | Description |
440
+ |---|---|---|---|
441
+ | `account` | string | optional | Google account alias |
442
+ | `fileId` | string | required | Google Drive file ID |
443
+
444
+ ## `drive_untrash`
445
+
446
+ Class: update
447
+
448
+ Restore a trashed file from Google Drive trash back to its previous location.
449
+
450
+ | Argument | Type | Required | Description |
451
+ |---|---|---|---|
452
+ | `account` | string | optional | Google account alias |
453
+ | `fileId` | string | required | Google Drive file ID |
454
+
455
+ ## `drive_update`
456
+
457
+ Class: update
458
+
459
+ Rename, move, or replace content of a Drive file. Any combination in one call. For untrash, use drive_untrash.
460
+
461
+ | Argument | Type | Required | Description |
462
+ |---|---|---|---|
463
+ | `account` | string | optional | Google account alias |
464
+ | `fileId` | string | required | Google Drive file ID |
465
+ | `newName` | string | optional | New filename |
466
+ | `newParentFolderId` | string | optional | Move to this folder, named newParentFolderId here, not parentFolderId |
467
+ | `localPath` | string | optional | Replace file content with this local file (path on the machine running the server) |
468
+ | `mimeType` | string | optional | MIME type of the replacement file (required if localPath is provided) |
469
+ | `convertTo` | enum | optional | When replacing content via localPath, convert the new content into this native Google Workspace type on import: "document" \| "spreadsheet" \| "presentation" \| "drawing" (full application/vnd.google-apps.* ids also accepted). |
470
+
471
+ ## `drive_upload`
472
+
473
+ Class: create
474
+
475
+ Upload a file to Google Drive, from inline base64 content or (when this server exposes the host filesystem) a local path. Pass `convertTo` to import it as a native, editable Google Doc/Sheet/Slides/Drawing instead of storing the raw bytes.
476
+
477
+ | Argument | Type | Required | Description |
478
+ |---|---|---|---|
479
+ | `account` | string | optional | Google account alias |
480
+ | `filename` | string | required | Name as it appears in Drive |
481
+ | `contentBase64` | string | optional | Base64-encoded file content. Exactly one of contentBase64 or localPath is required. Decoded size is capped at 10 MB. |
482
+ | `localPath` | string | optional | Absolute path of the SOURCE file on disk to upload (on the machine running the server; this is not savePath). Exactly one of contentBase64 or localPath is required. |
483
+ | `mimeType` | string | optional | Source MIME type of the content (inferred from filename if omitted). With `convertTo`, this is the format Drive imports from. |
484
+ | `convertTo` | enum | optional | Convert the upload into this native Google Workspace type on import: "document" \| "spreadsheet" \| "presentation" \| "drawing" (full application/vnd.google-apps.* ids also accepted). E.g. upload .md/.html/.docx/.txt with convertTo=document to get a real Google Doc. Source must be an importable format. Omit to store the file as-is. |
485
+ | `parentFolderId` | string | optional | Parent folder ID, not parentId. Defaults to My Drive root |
@@ -0,0 +1,5 @@
1
+ # driveactivity
2
+
3
+ <!-- GENERATED by scripts/gen-skill.ts, do not edit by hand. Regenerate: npm run gen:skill -->
4
+
5
+ This service has no curated tools. All 1 `driveactivity` tools are generated from Google's API Discovery document: they take Google's own Discovery parameter names (not a hand-written schema), and `driveactivity_discover` lists each one with its arguments.
@@ -0,0 +1,5 @@
1
+ # drivelabels
2
+
3
+ <!-- GENERATED by scripts/gen-skill.ts, do not edit by hand. Regenerate: npm run gen:skill -->
4
+
5
+ This service has no curated tools. All 26 `drivelabels` tools are generated from Google's API Discovery document: they take Google's own Discovery parameter names (not a hand-written schema), and `drivelabels_discover` lists each one with its arguments.
@@ -0,0 +1,92 @@
1
+ # forms
2
+
3
+ <!-- GENERATED by scripts/gen-skill.ts, do not edit by hand. Regenerate: npm run gen:skill -->
4
+
5
+ 7 curated tools, plus 3 generated tools (Google Discovery parameter names; see `forms_discover`).
6
+
7
+ ## `forms_batch_update`
8
+
9
+ Class: update
10
+
11
+ Generic forms.batchUpdate pass-through: add/edit/delete questions, update form info and settings. See https://developers.google.com/workspace/forms/api/reference/rest/v1/forms/request
12
+
13
+ | Argument | Type | Required | Description |
14
+ |---|---|---|---|
15
+ | `account` | string | optional | Google account alias |
16
+ | `formId` | string | required | Form ID |
17
+ | `requests` | array | required | Array of Request objects, each with one request-type key like {createItem: {...}} |
18
+ | `includeFormInResponse` | boolean | optional | Return the updated form in the response |
19
+ | `writeControl` | object | optional | Optional optimistic concurrency control |
20
+
21
+ ## `forms_create`
22
+
23
+ Class: create
24
+
25
+ Create a new Google Form with a title (add questions with forms_batch_update)
26
+
27
+ | Argument | Type | Required | Description |
28
+ |---|---|---|---|
29
+ | `account` | string | optional | Google account alias |
30
+ | `title` | string | required | Form title shown to responders |
31
+ | `documentTitle` | string | optional | Drive file name (default: the title) |
32
+
33
+ ## `forms_get`
34
+
35
+ Class: read
36
+
37
+ Get a Google Form (definition: questions, sections, settings). Requires forms.body scope.
38
+
39
+ | Argument | Type | Required | Description |
40
+ |---|---|---|---|
41
+ | `account` | string | optional | Google account alias; "*" = all accounts; omit for the default account |
42
+ | `formId` | string | required | Form ID |
43
+
44
+ ## `forms_response_get`
45
+
46
+ Class: read
47
+
48
+ Get a single form response by ID
49
+
50
+ | Argument | Type | Required | Description |
51
+ |---|---|---|---|
52
+ | `account` | string | optional | Google account alias; "*" = all accounts; omit for the default account |
53
+ | `formId` | string | required | Form ID |
54
+ | `responseId` | string | required | Response ID |
55
+
56
+ ## `forms_responses_list`
57
+
58
+ Class: read
59
+
60
+ List form responses. Requires forms.responses.readonly scope.
61
+
62
+ | Argument | Type | Required | Description |
63
+ |---|---|---|---|
64
+ | `account` | string | optional | Google account alias; "*" = all accounts; omit for the default account |
65
+ | `formId` | string | required | Form ID |
66
+ | `pageSize` | number | optional | Default: 100; max 1000. Responses can be large. |
67
+ | `pageToken` | string | optional | |
68
+ | `filter` | string | optional | Filter expression (e.g. "timestamp > 2026-01-01T00:00:00Z") |
69
+
70
+ ## `forms_set_publish_settings`
71
+
72
+ Class: update
73
+
74
+ Publish/unpublish a form and toggle whether it accepts responses (legacy forms without publish state are not supported)
75
+
76
+ | Argument | Type | Required | Description |
77
+ |---|---|---|---|
78
+ | `account` | string | optional | Google account alias |
79
+ | `formId` | string | required | Form ID |
80
+ | `isPublished` | boolean | required | Form is published and reachable by responders |
81
+ | `isAcceptingResponses` | boolean | optional | Form accepts responses (requires published; default: follows isPublished) |
82
+
83
+ ## `forms_watches_list`
84
+
85
+ Class: read
86
+
87
+ List Pub/Sub watches on a form (notifications for new responses or schema changes)
88
+
89
+ | Argument | Type | Required | Description |
90
+ |---|---|---|---|
91
+ | `account` | string | optional | Google account alias; "*" = all accounts; omit for the default account |
92
+ | `formId` | string | required | Form ID |