mcp-google-multi 5.2.0-alpha.2 → 5.2.0-alpha.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.
Files changed (56) hide show
  1. package/dist/auth.js +33 -0
  2. package/dist/discovery-client.js +13 -0
  3. package/dist/index.js +25 -3
  4. package/dist/tools/generated/admin.d.ts +2 -0
  5. package/dist/tools/generated/admin.js +1937 -0
  6. package/dist/tools/generated/appsmarket.d.ts +2 -0
  7. package/dist/tools/generated/appsmarket.js +33 -0
  8. package/dist/tools/generated/calendar.d.ts +2 -0
  9. package/dist/tools/generated/calendar.js +428 -0
  10. package/dist/tools/generated/chat.d.ts +2 -0
  11. package/dist/tools/generated/chat.js +666 -0
  12. package/dist/tools/generated/classroom.d.ts +2 -0
  13. package/dist/tools/generated/classroom.js +1610 -0
  14. package/dist/tools/generated/cloudidentity.d.ts +2 -0
  15. package/dist/tools/generated/cloudidentity.js +955 -0
  16. package/dist/tools/generated/cloudsearch.d.ts +2 -0
  17. package/dist/tools/generated/cloudsearch.js +754 -0
  18. package/dist/tools/generated/contacts.d.ts +2 -0
  19. package/dist/tools/generated/contacts.js +215 -0
  20. package/dist/tools/generated/drive.d.ts +2 -0
  21. package/dist/tools/generated/drive.js +543 -0
  22. package/dist/tools/generated/driveactivity.d.ts +2 -0
  23. package/dist/tools/generated/driveactivity.js +19 -0
  24. package/dist/tools/generated/drivelabels.d.ts +2 -0
  25. package/dist/tools/generated/drivelabels.js +389 -0
  26. package/dist/tools/generated/forms.d.ts +2 -0
  27. package/dist/tools/generated/forms.js +49 -0
  28. package/dist/tools/generated/gmail.d.ts +2 -0
  29. package/dist/tools/generated/gmail.js +835 -0
  30. package/dist/tools/generated/groupsmigration.d.ts +2 -0
  31. package/dist/tools/generated/groupsmigration.js +18 -0
  32. package/dist/tools/generated/groupssettings.d.ts +2 -0
  33. package/dist/tools/generated/groupssettings.js +47 -0
  34. package/dist/tools/generated/index.js +50 -0
  35. package/dist/tools/generated/keep.d.ts +2 -0
  36. package/dist/tools/generated/keep.js +102 -0
  37. package/dist/tools/generated/licensing.d.ts +2 -0
  38. package/dist/tools/generated/licensing.js +116 -0
  39. package/dist/tools/generated/meet.d.ts +2 -0
  40. package/dist/tools/generated/meet.js +186 -0
  41. package/dist/tools/generated/postmaster.d.ts +2 -0
  42. package/dist/tools/generated/postmaster.js +66 -0
  43. package/dist/tools/generated/reseller.d.ts +2 -0
  44. package/dist/tools/generated/reseller.js +249 -0
  45. package/dist/tools/generated/script.d.ts +2 -0
  46. package/dist/tools/generated/script.js +249 -0
  47. package/dist/tools/generated/searchconsole.d.ts +2 -0
  48. package/dist/tools/generated/searchconsole.js +19 -0
  49. package/dist/tools/generated/sheets.d.ts +2 -0
  50. package/dist/tools/generated/sheets.js +105 -0
  51. package/dist/tools/generated/vault.d.ts +2 -0
  52. package/dist/tools/generated/vault.js +479 -0
  53. package/dist/tools/generated/workspaceevents.d.ts +2 -0
  54. package/dist/tools/generated/workspaceevents.js +223 -0
  55. package/dist/tools/google-api.js +1 -0
  56. package/package.json +1 -1
package/dist/auth.js CHANGED
@@ -39,6 +39,39 @@ export const OPTIONAL_SCOPE_BUNDLES = {
39
39
  'https://www.googleapis.com/auth/chat.messages',
40
40
  'https://www.googleapis.com/auth/chat.messages.create',
41
41
  ],
42
+ classroom: [
43
+ 'https://www.googleapis.com/auth/classroom.courses',
44
+ 'https://www.googleapis.com/auth/classroom.coursework.me',
45
+ 'https://www.googleapis.com/auth/classroom.coursework.students',
46
+ 'https://www.googleapis.com/auth/classroom.courseworkmaterials',
47
+ 'https://www.googleapis.com/auth/classroom.rosters',
48
+ 'https://www.googleapis.com/auth/classroom.announcements',
49
+ 'https://www.googleapis.com/auth/classroom.topics',
50
+ ],
51
+ cloudidentity: [
52
+ 'https://www.googleapis.com/auth/cloud-identity.groups',
53
+ 'https://www.googleapis.com/auth/cloud-identity.devices',
54
+ ],
55
+ cloudsearch: ['https://www.googleapis.com/auth/cloud_search'],
56
+ vault: ['https://www.googleapis.com/auth/ediscovery'],
57
+ keep: ['https://www.googleapis.com/auth/keep'],
58
+ driveactivity: ['https://www.googleapis.com/auth/drive.activity.readonly'],
59
+ drivelabels: [
60
+ 'https://www.googleapis.com/auth/drive.labels',
61
+ 'https://www.googleapis.com/auth/drive.admin.labels',
62
+ ],
63
+ script: [
64
+ 'https://www.googleapis.com/auth/script.projects',
65
+ 'https://www.googleapis.com/auth/script.deployments',
66
+ 'https://www.googleapis.com/auth/script.processes',
67
+ 'https://www.googleapis.com/auth/script.metrics',
68
+ ],
69
+ postmaster: ['https://www.googleapis.com/auth/postmaster.readonly'],
70
+ groupssettings: ['https://www.googleapis.com/auth/apps.groups.settings'],
71
+ groupsmigration: ['https://www.googleapis.com/auth/apps.groups.migration'],
72
+ licensing: ['https://www.googleapis.com/auth/apps.licensing'],
73
+ reseller: ['https://www.googleapis.com/auth/apps.order'],
74
+ appsmarket: ['https://www.googleapis.com/auth/appsmarketplace.license'],
42
75
  };
43
76
  export const ADMIN_SCOPES = [
44
77
  'https://www.googleapis.com/auth/admin.reports.audit.readonly',
@@ -18,7 +18,20 @@ export const WORKSPACE_APIS = {
18
18
  drivelabels: { id: 'drivelabels', version: 'v2' },
19
19
  admin_directory: { id: 'admin', version: 'directory_v1' },
20
20
  admin_reports: { id: 'admin', version: 'reports_v1' },
21
+ admin_datatransfer: { id: 'admin', version: 'datatransfer_v1' },
21
22
  groupssettings: { id: 'groupssettings', version: 'v1' },
23
+ appsmarket: { id: 'appsmarket', version: 'v2' },
24
+ classroom: { id: 'classroom', version: 'v1' },
25
+ cloudidentity: { id: 'cloudidentity', version: 'v1' },
26
+ cloudsearch: { id: 'cloudsearch', version: 'v1' },
27
+ groupsmigration: { id: 'groupsmigration', version: 'v1' },
28
+ keep: { id: 'keep', version: 'v1' },
29
+ licensing: { id: 'licensing', version: 'v1' },
30
+ postmaster: { id: 'gmailpostmastertools', version: 'v1' },
31
+ reseller: { id: 'reseller', version: 'v1' },
32
+ script: { id: 'script', version: 'v1' },
33
+ vault: { id: 'vault', version: 'v1' },
34
+ workspaceevents: { id: 'workspaceevents', version: 'v1' },
22
35
  };
23
36
  const TTL_MS = 7 * 24 * 60 * 60 * 1000;
24
37
  const STALE_RETRY_MS = 5 * 60 * 1000;
package/dist/index.js CHANGED
@@ -45,7 +45,28 @@ const SERVICES = [
45
45
  ];
46
46
  // Opt-in gates for generated-only services whose scopes are not granted by
47
47
  // default; shared services (admin, forms, chat) reuse their curated gate below.
48
- const GENERATED_GATES = {};
48
+ // workspaceevents has no dedicated scope (subscriptions use the underlying
49
+ // resource scopes), so it registers ungated.
50
+ const bundleGate = (name) => ({
51
+ enabled: () => new Set(getOptionalBundles()).has(name),
52
+ hint: `add "${name}" to GOOGLE_OPTIONAL_SCOPES`,
53
+ });
54
+ const GENERATED_GATES = {
55
+ appsmarket: bundleGate('appsmarket'),
56
+ classroom: bundleGate('classroom'),
57
+ cloudidentity: bundleGate('cloudidentity'),
58
+ cloudsearch: bundleGate('cloudsearch'),
59
+ driveactivity: bundleGate('driveactivity'),
60
+ drivelabels: bundleGate('drivelabels'),
61
+ groupsmigration: bundleGate('groupsmigration'),
62
+ groupssettings: bundleGate('groupssettings'),
63
+ keep: bundleGate('keep'),
64
+ licensing: bundleGate('licensing'),
65
+ postmaster: bundleGate('postmaster'),
66
+ reseller: bundleGate('reseller'),
67
+ script: bundleGate('script'),
68
+ vault: bundleGate('vault'),
69
+ };
49
70
  function buildRegistry(server, policy) {
50
71
  const registry = new ToolRegistry(server, policy);
51
72
  const toolsets = getToolsets();
@@ -83,9 +104,10 @@ function buildRegistry(server, policy) {
83
104
  gen.register(registry);
84
105
  }
85
106
  if (registry.services().length === 0) {
107
+ const known = [...new Set([...SERVICES.map((s) => s.name), ...GENERATED_SERVICES.map((s) => s.name)])].sort();
86
108
  throw new Error(`GOOGLE_TOOLSETS="${process.env.GOOGLE_TOOLSETS ?? ''}" selected no enabled services. ` +
87
- `Known services: ${SERVICES.map((s) => s.name).join(', ')}. ` +
88
- `Note: slides/forms/chat require GOOGLE_OPTIONAL_SCOPES, admin requires GOOGLE_ADMIN_ACCOUNTS.`);
109
+ `Known services: ${known.join(', ')}. ` +
110
+ `Note: optional services require their bundle in GOOGLE_OPTIONAL_SCOPES, admin requires GOOGLE_ADMIN_ACCOUNTS.`);
89
111
  }
90
112
  registerDiscoverTools(registry, policy);
91
113
  registerEscapeTools(registry, policy);
@@ -0,0 +1,2 @@
1
+ import type { ToolRegistry } from '../../registry.js';
2
+ export declare function registerAdminGeneratedTools(registry: ToolRegistry): void;