@jezweb/mcp-integrations 0.1.1 → 0.1.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.
Files changed (257) hide show
  1. package/README.md +10 -3
  2. package/dist/australia/business/clients/abr.d.ts +45 -0
  3. package/dist/australia/business/clients/abr.d.ts.map +1 -0
  4. package/dist/australia/business/clients/abr.js +167 -0
  5. package/dist/australia/business/clients/abr.js.map +1 -0
  6. package/dist/australia/business/clients/asic.d.ts +46 -0
  7. package/dist/australia/business/clients/asic.d.ts.map +1 -0
  8. package/dist/australia/business/clients/asic.js +128 -0
  9. package/dist/australia/business/clients/asic.js.map +1 -0
  10. package/dist/australia/business/index.d.ts +19 -0
  11. package/dist/australia/business/index.d.ts.map +1 -0
  12. package/dist/australia/business/index.js +14 -0
  13. package/dist/australia/business/index.js.map +1 -0
  14. package/dist/australia/business/tools/index.d.ts +29 -0
  15. package/dist/australia/business/tools/index.d.ts.map +1 -0
  16. package/dist/australia/business/tools/index.js +174 -0
  17. package/dist/australia/business/tools/index.js.map +1 -0
  18. package/dist/australia/datetime/clients/holidays.d.ts +85 -0
  19. package/dist/australia/datetime/clients/holidays.d.ts.map +1 -0
  20. package/dist/australia/datetime/clients/holidays.js +93 -0
  21. package/dist/australia/datetime/clients/holidays.js.map +1 -0
  22. package/dist/australia/datetime/index.d.ts +22 -0
  23. package/dist/australia/datetime/index.d.ts.map +1 -0
  24. package/dist/australia/datetime/index.js +14 -0
  25. package/dist/australia/datetime/index.js.map +1 -0
  26. package/dist/australia/datetime/tools/index.d.ts +55 -0
  27. package/dist/australia/datetime/tools/index.d.ts.map +1 -0
  28. package/dist/australia/datetime/tools/index.js +439 -0
  29. package/dist/australia/datetime/tools/index.js.map +1 -0
  30. package/dist/australia/index.d.ts +47 -0
  31. package/dist/australia/index.d.ts.map +1 -0
  32. package/dist/australia/index.js +29 -0
  33. package/dist/australia/index.js.map +1 -0
  34. package/dist/australia/ip/api-client.d.ts +130 -0
  35. package/dist/australia/ip/api-client.d.ts.map +1 -0
  36. package/dist/australia/ip/api-client.js +151 -0
  37. package/dist/australia/ip/api-client.js.map +1 -0
  38. package/dist/australia/ip/index.d.ts +19 -0
  39. package/dist/australia/ip/index.d.ts.map +1 -0
  40. package/dist/australia/ip/index.js +13 -0
  41. package/dist/australia/ip/index.js.map +1 -0
  42. package/dist/australia/ip/tools/index.d.ts +24 -0
  43. package/dist/australia/ip/tools/index.d.ts.map +1 -0
  44. package/dist/australia/ip/tools/index.js +279 -0
  45. package/dist/australia/ip/tools/index.js.map +1 -0
  46. package/dist/google/calendar/prompts.js +2 -2
  47. package/dist/google/calendar/prompts.js.map +1 -1
  48. package/dist/google/calendar/resources.js +1 -1
  49. package/dist/google/calendar/resources.js.map +1 -1
  50. package/dist/google/calendar/tools/calendars.js +1 -1
  51. package/dist/google/calendar/tools/calendars.js.map +1 -1
  52. package/dist/google/calendar/tools/events.d.ts.map +1 -1
  53. package/dist/google/calendar/tools/events.js +6 -5
  54. package/dist/google/calendar/tools/events.js.map +1 -1
  55. package/dist/google/chat/index.d.ts +46 -0
  56. package/dist/google/chat/index.d.ts.map +1 -0
  57. package/dist/google/chat/index.js +56 -0
  58. package/dist/google/chat/index.js.map +1 -0
  59. package/dist/google/chat/prompts.d.ts +71 -0
  60. package/dist/google/chat/prompts.d.ts.map +1 -0
  61. package/dist/google/chat/prompts.js +142 -0
  62. package/dist/google/chat/prompts.js.map +1 -0
  63. package/dist/google/chat/resources.d.ts +47 -0
  64. package/dist/google/chat/resources.d.ts.map +1 -0
  65. package/dist/google/chat/resources.js +95 -0
  66. package/dist/google/chat/resources.js.map +1 -0
  67. package/dist/google/chat/tools/index.d.ts +1122 -0
  68. package/dist/google/chat/tools/index.d.ts.map +1 -0
  69. package/dist/google/chat/tools/index.js +99 -0
  70. package/dist/google/chat/tools/index.js.map +1 -0
  71. package/dist/google/chat/tools/members.d.ts +50 -0
  72. package/dist/google/chat/tools/members.d.ts.map +1 -0
  73. package/dist/google/chat/tools/members.js +155 -0
  74. package/dist/google/chat/tools/members.js.map +1 -0
  75. package/dist/google/chat/tools/messages.d.ts +180 -0
  76. package/dist/google/chat/tools/messages.d.ts.map +1 -0
  77. package/dist/google/chat/tools/messages.js +340 -0
  78. package/dist/google/chat/tools/messages.js.map +1 -0
  79. package/dist/google/chat/tools/spaces.d.ts +51 -0
  80. package/dist/google/chat/tools/spaces.d.ts.map +1 -0
  81. package/dist/google/chat/tools/spaces.js +174 -0
  82. package/dist/google/chat/tools/spaces.js.map +1 -0
  83. package/dist/google/contacts/index.d.ts +27 -0
  84. package/dist/google/contacts/index.d.ts.map +1 -0
  85. package/dist/google/contacts/index.js +30 -0
  86. package/dist/google/contacts/index.js.map +1 -0
  87. package/dist/google/contacts/prompts.d.ts +71 -0
  88. package/dist/google/contacts/prompts.d.ts.map +1 -0
  89. package/dist/google/contacts/prompts.js +129 -0
  90. package/dist/google/contacts/prompts.js.map +1 -0
  91. package/dist/google/contacts/resources.d.ts +47 -0
  92. package/dist/google/contacts/resources.d.ts.map +1 -0
  93. package/dist/google/contacts/resources.js +128 -0
  94. package/dist/google/contacts/resources.js.map +1 -0
  95. package/dist/google/contacts/tools/contacts.d.ts +154 -0
  96. package/dist/google/contacts/tools/contacts.d.ts.map +1 -0
  97. package/dist/google/contacts/tools/contacts.js +416 -0
  98. package/dist/google/contacts/tools/contacts.js.map +1 -0
  99. package/dist/google/contacts/tools/index.d.ts +524 -0
  100. package/dist/google/contacts/tools/index.d.ts.map +1 -0
  101. package/dist/google/contacts/tools/index.js +63 -0
  102. package/dist/google/contacts/tools/index.js.map +1 -0
  103. package/dist/google/docs/index.d.ts +43 -0
  104. package/dist/google/docs/index.d.ts.map +1 -0
  105. package/dist/google/docs/index.js +51 -0
  106. package/dist/google/docs/index.js.map +1 -0
  107. package/dist/google/docs/prompts.d.ts +71 -0
  108. package/dist/google/docs/prompts.d.ts.map +1 -0
  109. package/dist/google/docs/prompts.js +154 -0
  110. package/dist/google/docs/prompts.js.map +1 -0
  111. package/dist/google/docs/resources.d.ts +48 -0
  112. package/dist/google/docs/resources.d.ts.map +1 -0
  113. package/dist/google/docs/resources.js +111 -0
  114. package/dist/google/docs/resources.js.map +1 -0
  115. package/dist/google/docs/tools/index.d.ts +738 -0
  116. package/dist/google/docs/tools/index.d.ts.map +1 -0
  117. package/dist/google/docs/tools/index.js +80 -0
  118. package/dist/google/docs/tools/index.js.map +1 -0
  119. package/dist/google/docs/tools/read.d.ts +47 -0
  120. package/dist/google/docs/tools/read.d.ts.map +1 -0
  121. package/dist/google/docs/tools/read.js +255 -0
  122. package/dist/google/docs/tools/read.js.map +1 -0
  123. package/dist/google/docs/tools/write.d.ts +182 -0
  124. package/dist/google/docs/tools/write.d.ts.map +1 -0
  125. package/dist/google/docs/tools/write.js +670 -0
  126. package/dist/google/docs/tools/write.js.map +1 -0
  127. package/dist/google/drive/index.d.ts +30 -0
  128. package/dist/google/drive/index.d.ts.map +1 -0
  129. package/dist/google/drive/index.js +42 -0
  130. package/dist/google/drive/index.js.map +1 -0
  131. package/dist/google/drive/prompts.d.ts +115 -0
  132. package/dist/google/drive/prompts.d.ts.map +1 -0
  133. package/dist/google/drive/prompts.js +193 -0
  134. package/dist/google/drive/prompts.js.map +1 -0
  135. package/dist/google/drive/resources.d.ts +48 -0
  136. package/dist/google/drive/resources.d.ts.map +1 -0
  137. package/dist/google/drive/resources.js +106 -0
  138. package/dist/google/drive/resources.js.map +1 -0
  139. package/dist/google/drive/tools/files.d.ts +142 -0
  140. package/dist/google/drive/tools/files.d.ts.map +1 -0
  141. package/dist/google/drive/tools/files.js +461 -0
  142. package/dist/google/drive/tools/files.js.map +1 -0
  143. package/dist/google/drive/tools/folders.d.ts +69 -0
  144. package/dist/google/drive/tools/folders.d.ts.map +1 -0
  145. package/dist/google/drive/tools/folders.js +217 -0
  146. package/dist/google/drive/tools/folders.js.map +1 -0
  147. package/dist/google/drive/tools/index.d.ts +1002 -0
  148. package/dist/google/drive/tools/index.d.ts.map +1 -0
  149. package/dist/google/drive/tools/index.js +97 -0
  150. package/dist/google/drive/tools/index.js.map +1 -0
  151. package/dist/google/drive/tools/sharing.d.ts +142 -0
  152. package/dist/google/drive/tools/sharing.d.ts.map +1 -0
  153. package/dist/google/drive/tools/sharing.js +304 -0
  154. package/dist/google/drive/tools/sharing.js.map +1 -0
  155. package/dist/google/gmail/index.d.ts +30 -0
  156. package/dist/google/gmail/index.d.ts.map +1 -0
  157. package/dist/google/gmail/index.js +44 -0
  158. package/dist/google/gmail/index.js.map +1 -0
  159. package/dist/google/gmail/prompts.d.ts +121 -0
  160. package/dist/google/gmail/prompts.d.ts.map +1 -0
  161. package/dist/google/gmail/prompts.js +179 -0
  162. package/dist/google/gmail/prompts.js.map +1 -0
  163. package/dist/google/gmail/resources.d.ts +13 -0
  164. package/dist/google/gmail/resources.d.ts.map +1 -0
  165. package/dist/google/gmail/resources.js +99 -0
  166. package/dist/google/gmail/resources.js.map +1 -0
  167. package/dist/google/gmail/tools/drafts.d.ts +101 -0
  168. package/dist/google/gmail/tools/drafts.d.ts.map +1 -0
  169. package/dist/google/gmail/tools/drafts.js +256 -0
  170. package/dist/google/gmail/tools/drafts.js.map +1 -0
  171. package/dist/google/gmail/tools/index.d.ts +732 -0
  172. package/dist/google/gmail/tools/index.d.ts.map +1 -0
  173. package/dist/google/gmail/tools/index.js +96 -0
  174. package/dist/google/gmail/tools/index.js.map +1 -0
  175. package/dist/google/gmail/tools/labels.d.ts +82 -0
  176. package/dist/google/gmail/tools/labels.d.ts.map +1 -0
  177. package/dist/google/gmail/tools/labels.js +213 -0
  178. package/dist/google/gmail/tools/labels.js.map +1 -0
  179. package/dist/google/gmail/tools/messages.d.ts +107 -0
  180. package/dist/google/gmail/tools/messages.d.ts.map +1 -0
  181. package/dist/google/gmail/tools/messages.js +327 -0
  182. package/dist/google/gmail/tools/messages.js.map +1 -0
  183. package/dist/google/gmail/tools/profile.d.ts +9 -0
  184. package/dist/google/gmail/tools/profile.d.ts.map +1 -0
  185. package/dist/google/gmail/tools/profile.js +31 -0
  186. package/dist/google/gmail/tools/profile.js.map +1 -0
  187. package/dist/google/gmail/tools/threads.d.ts +73 -0
  188. package/dist/google/gmail/tools/threads.d.ts.map +1 -0
  189. package/dist/google/gmail/tools/threads.js +254 -0
  190. package/dist/google/gmail/tools/threads.js.map +1 -0
  191. package/dist/google/index.d.ts +29 -1
  192. package/dist/google/index.d.ts.map +1 -1
  193. package/dist/google/index.js +29 -1
  194. package/dist/google/index.js.map +1 -1
  195. package/dist/google/sheets/index.d.ts +43 -0
  196. package/dist/google/sheets/index.d.ts.map +1 -0
  197. package/dist/google/sheets/index.js +53 -0
  198. package/dist/google/sheets/index.js.map +1 -0
  199. package/dist/google/sheets/prompts.d.ts +71 -0
  200. package/dist/google/sheets/prompts.d.ts.map +1 -0
  201. package/dist/google/sheets/prompts.js +171 -0
  202. package/dist/google/sheets/prompts.js.map +1 -0
  203. package/dist/google/sheets/resources.d.ts +49 -0
  204. package/dist/google/sheets/resources.d.ts.map +1 -0
  205. package/dist/google/sheets/resources.js +113 -0
  206. package/dist/google/sheets/resources.js.map +1 -0
  207. package/dist/google/sheets/tools/index.d.ts +1021 -0
  208. package/dist/google/sheets/tools/index.d.ts.map +1 -0
  209. package/dist/google/sheets/tools/index.js +99 -0
  210. package/dist/google/sheets/tools/index.js.map +1 -0
  211. package/dist/google/sheets/tools/manage.d.ts +104 -0
  212. package/dist/google/sheets/tools/manage.d.ts.map +1 -0
  213. package/dist/google/sheets/tools/manage.js +255 -0
  214. package/dist/google/sheets/tools/manage.js.map +1 -0
  215. package/dist/google/sheets/tools/read.d.ts +84 -0
  216. package/dist/google/sheets/tools/read.d.ts.map +1 -0
  217. package/dist/google/sheets/tools/read.js +204 -0
  218. package/dist/google/sheets/tools/read.js.map +1 -0
  219. package/dist/google/sheets/tools/write.d.ts +109 -0
  220. package/dist/google/sheets/tools/write.d.ts.map +1 -0
  221. package/dist/google/sheets/tools/write.js +205 -0
  222. package/dist/google/sheets/tools/write.js.map +1 -0
  223. package/dist/google/tasks/index.d.ts +28 -0
  224. package/dist/google/tasks/index.d.ts.map +1 -0
  225. package/dist/google/tasks/index.js +35 -0
  226. package/dist/google/tasks/index.js.map +1 -0
  227. package/dist/google/tasks/prompts.d.ts +71 -0
  228. package/dist/google/tasks/prompts.d.ts.map +1 -0
  229. package/dist/google/tasks/prompts.js +140 -0
  230. package/dist/google/tasks/prompts.js.map +1 -0
  231. package/dist/google/tasks/resources.d.ts +47 -0
  232. package/dist/google/tasks/resources.d.ts.map +1 -0
  233. package/dist/google/tasks/resources.js +128 -0
  234. package/dist/google/tasks/resources.js.map +1 -0
  235. package/dist/google/tasks/tools/index.d.ts +609 -0
  236. package/dist/google/tasks/tools/index.d.ts.map +1 -0
  237. package/dist/google/tasks/tools/index.js +95 -0
  238. package/dist/google/tasks/tools/index.js.map +1 -0
  239. package/dist/google/tasks/tools/lists.d.ts +61 -0
  240. package/dist/google/tasks/tools/lists.d.ts.map +1 -0
  241. package/dist/google/tasks/tools/lists.js +146 -0
  242. package/dist/google/tasks/tools/lists.js.map +1 -0
  243. package/dist/google/tasks/tools/tasks.d.ts +164 -0
  244. package/dist/google/tasks/tools/tasks.d.ts.map +1 -0
  245. package/dist/google/tasks/tools/tasks.js +368 -0
  246. package/dist/google/tasks/tools/tasks.js.map +1 -0
  247. package/dist/helpers.d.ts +35 -0
  248. package/dist/helpers.d.ts.map +1 -1
  249. package/dist/helpers.js +42 -0
  250. package/dist/helpers.js.map +1 -1
  251. package/dist/index.d.ts +3 -1
  252. package/dist/index.d.ts.map +1 -1
  253. package/dist/index.js +4 -1
  254. package/dist/index.js.map +1 -1
  255. package/dist/types.d.ts +13 -0
  256. package/dist/types.d.ts.map +1 -1
  257. package/package.json +19 -18
@@ -0,0 +1,204 @@
1
+ /**
2
+ * Google Sheets Read Tools
3
+ */
4
+ import { z } from 'zod';
5
+ import { defineTool, jsonResult, errorResult } from '../../../helpers';
6
+ const SHEETS_API = 'https://sheets.googleapis.com/v4/spreadsheets';
7
+ /**
8
+ * Read a range of cells
9
+ */
10
+ export const readRange = defineTool({
11
+ name: 'google_sheets_read_range',
12
+ description: 'Read data from a range of cells in a spreadsheet. Uses A1 notation (e.g., "Sheet1!A1:D10", "A1:B5").',
13
+ category: 'sheets',
14
+ tags: ['sheets', 'spreadsheet', 'read', 'data'],
15
+ alwaysVisible: true,
16
+ parameters: z.object({
17
+ spreadsheetId: z.string().describe('The ID of the spreadsheet (from the URL)'),
18
+ range: z.string().describe('The A1 notation range to read (e.g., "Sheet1!A1:D10" or "A:D")'),
19
+ majorDimension: z
20
+ .enum(['ROWS', 'COLUMNS'])
21
+ .default('ROWS')
22
+ .describe('How to group the values (ROWS or COLUMNS)'),
23
+ valueRenderOption: z
24
+ .enum(['FORMATTED_VALUE', 'UNFORMATTED_VALUE', 'FORMULA'])
25
+ .default('FORMATTED_VALUE')
26
+ .describe('How values should be rendered'),
27
+ dateTimeRenderOption: z
28
+ .enum(['SERIAL_NUMBER', 'FORMATTED_STRING'])
29
+ .default('FORMATTED_STRING')
30
+ .describe('How dates should be rendered'),
31
+ }),
32
+ handler: async (params, ctx) => {
33
+ const url = new URL(`${SHEETS_API}/${params.spreadsheetId}/values/${encodeURIComponent(params.range)}`);
34
+ url.searchParams.set('majorDimension', params.majorDimension);
35
+ url.searchParams.set('valueRenderOption', params.valueRenderOption);
36
+ url.searchParams.set('dateTimeRenderOption', params.dateTimeRenderOption);
37
+ const response = await ctx.authorizedFetch(url.toString());
38
+ if (!response.ok) {
39
+ const error = await response.text();
40
+ return errorResult(`Sheets API error: ${response.status} - ${error}`);
41
+ }
42
+ const data = (await response.json());
43
+ if (!data.values || data.values.length === 0) {
44
+ return { content: [{ type: 'text', text: `No data found in range "${params.range}".` }] };
45
+ }
46
+ return jsonResult({
47
+ spreadsheetId: params.spreadsheetId,
48
+ range: data.range || params.range,
49
+ majorDimension: data.majorDimension || params.majorDimension,
50
+ rowCount: data.values.length,
51
+ columnCount: data.values[0]?.length || 0,
52
+ values: data.values,
53
+ });
54
+ },
55
+ });
56
+ /**
57
+ * Read multiple ranges at once
58
+ */
59
+ export const readMultipleRanges = defineTool({
60
+ name: 'google_sheets_read_multiple_ranges',
61
+ description: 'Read data from multiple ranges in a single request. More efficient than multiple single reads.',
62
+ category: 'sheets',
63
+ tags: ['sheets', 'spreadsheet', 'read', 'batch', 'data'],
64
+ alwaysVisible: false,
65
+ parameters: z.object({
66
+ spreadsheetId: z.string().describe('The ID of the spreadsheet'),
67
+ ranges: z.array(z.string()).min(1).describe('Array of A1 notation ranges to read'),
68
+ majorDimension: z.enum(['ROWS', 'COLUMNS']).default('ROWS').describe('How to group the values'),
69
+ valueRenderOption: z
70
+ .enum(['FORMATTED_VALUE', 'UNFORMATTED_VALUE', 'FORMULA'])
71
+ .default('FORMATTED_VALUE')
72
+ .describe('How values should be rendered'),
73
+ }),
74
+ handler: async (params, ctx) => {
75
+ const url = new URL(`${SHEETS_API}/${params.spreadsheetId}/values:batchGet`);
76
+ // Add each range as a separate parameter
77
+ params.ranges.forEach((range) => {
78
+ url.searchParams.append('ranges', range);
79
+ });
80
+ url.searchParams.set('majorDimension', params.majorDimension);
81
+ url.searchParams.set('valueRenderOption', params.valueRenderOption);
82
+ const response = await ctx.authorizedFetch(url.toString());
83
+ if (!response.ok) {
84
+ const error = await response.text();
85
+ return errorResult(`Sheets API error: ${response.status} - ${error}`);
86
+ }
87
+ const data = (await response.json());
88
+ if (!data.valueRanges || data.valueRanges.length === 0) {
89
+ return { content: [{ type: 'text', text: 'No data found in any of the specified ranges.' }] };
90
+ }
91
+ const results = data.valueRanges.map((vr, index) => ({
92
+ range: vr.range || params.ranges[index],
93
+ rowCount: vr.values?.length || 0,
94
+ columnCount: vr.values?.[0]?.length || 0,
95
+ values: vr.values || [],
96
+ }));
97
+ return jsonResult({
98
+ spreadsheetId: data.spreadsheetId || params.spreadsheetId,
99
+ rangeCount: results.length,
100
+ results,
101
+ });
102
+ },
103
+ });
104
+ /**
105
+ * Search/query within a sheet
106
+ */
107
+ export const querySheet = defineTool({
108
+ name: 'google_sheets_query',
109
+ description: 'Search for data within a spreadsheet by reading a range and filtering results. Useful for finding specific values.',
110
+ category: 'sheets',
111
+ tags: ['sheets', 'spreadsheet', 'search', 'query', 'find', 'read'],
112
+ alwaysVisible: true,
113
+ parameters: z.object({
114
+ spreadsheetId: z.string().describe('The ID of the spreadsheet'),
115
+ range: z.string().describe('The A1 notation range to search within'),
116
+ searchColumn: z.number().min(0).describe('Column index (0-based) to search in'),
117
+ searchValue: z.string().describe('Value to search for (case-insensitive partial match)'),
118
+ returnColumns: z
119
+ .array(z.number())
120
+ .optional()
121
+ .describe('Column indices to return (default: all columns)'),
122
+ }),
123
+ handler: async (params, ctx) => {
124
+ // Read the range first
125
+ const url = new URL(`${SHEETS_API}/${params.spreadsheetId}/values/${encodeURIComponent(params.range)}`);
126
+ url.searchParams.set('majorDimension', 'ROWS');
127
+ url.searchParams.set('valueRenderOption', 'FORMATTED_VALUE');
128
+ const response = await ctx.authorizedFetch(url.toString());
129
+ if (!response.ok) {
130
+ const error = await response.text();
131
+ return errorResult(`Sheets API error: ${response.status} - ${error}`);
132
+ }
133
+ const data = (await response.json());
134
+ if (!data.values || data.values.length === 0) {
135
+ return { content: [{ type: 'text', text: `No data found in range "${params.range}".` }] };
136
+ }
137
+ // Filter rows where the search column contains the search value
138
+ const searchLower = params.searchValue.toLowerCase();
139
+ const matchingRows = data.values.filter((row) => {
140
+ const cellValue = row[params.searchColumn];
141
+ if (cellValue === undefined || cellValue === null)
142
+ return false;
143
+ return String(cellValue).toLowerCase().includes(searchLower);
144
+ });
145
+ if (matchingRows.length === 0) {
146
+ return {
147
+ content: [
148
+ {
149
+ type: 'text',
150
+ text: `No rows found where column ${params.searchColumn} contains "${params.searchValue}".`,
151
+ },
152
+ ],
153
+ };
154
+ }
155
+ // Extract only requested columns if specified
156
+ const results = params.returnColumns
157
+ ? matchingRows.map((row) => params.returnColumns.map((colIdx) => row[colIdx]))
158
+ : matchingRows;
159
+ return jsonResult({
160
+ spreadsheetId: params.spreadsheetId,
161
+ range: params.range,
162
+ searchColumn: params.searchColumn,
163
+ searchValue: params.searchValue,
164
+ matchCount: results.length,
165
+ matches: results,
166
+ });
167
+ },
168
+ });
169
+ /**
170
+ * Get cell value at specific location
171
+ */
172
+ export const getCell = defineTool({
173
+ name: 'google_sheets_get_cell',
174
+ description: 'Get the value of a single cell.',
175
+ category: 'sheets',
176
+ tags: ['sheets', 'spreadsheet', 'read', 'cell'],
177
+ alwaysVisible: false,
178
+ parameters: z.object({
179
+ spreadsheetId: z.string().describe('The ID of the spreadsheet'),
180
+ cell: z.string().describe('Cell address in A1 notation (e.g., "Sheet1!A1" or "B5")'),
181
+ valueRenderOption: z
182
+ .enum(['FORMATTED_VALUE', 'UNFORMATTED_VALUE', 'FORMULA'])
183
+ .default('FORMATTED_VALUE')
184
+ .describe('How the value should be rendered'),
185
+ }),
186
+ handler: async (params, ctx) => {
187
+ const url = new URL(`${SHEETS_API}/${params.spreadsheetId}/values/${encodeURIComponent(params.cell)}`);
188
+ url.searchParams.set('valueRenderOption', params.valueRenderOption);
189
+ const response = await ctx.authorizedFetch(url.toString());
190
+ if (!response.ok) {
191
+ const error = await response.text();
192
+ return errorResult(`Sheets API error: ${response.status} - ${error}`);
193
+ }
194
+ const data = (await response.json());
195
+ const value = data.values?.[0]?.[0];
196
+ return jsonResult({
197
+ spreadsheetId: params.spreadsheetId,
198
+ cell: data.range || params.cell,
199
+ value: value !== undefined ? value : null,
200
+ isEmpty: value === undefined || value === null || value === '',
201
+ });
202
+ },
203
+ });
204
+ //# sourceMappingURL=read.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../../src/google/sheets/tools/read.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * Google Sheets Write Tools
3
+ */
4
+ import { z } from 'zod';
5
+ /**
6
+ * Write to a range of cells
7
+ */
8
+ export declare const writeRange: import("../../..").ToolDefinition<z.ZodObject<{
9
+ spreadsheetId: z.ZodString;
10
+ range: z.ZodString;
11
+ values: z.ZodArray<z.ZodArray<z.ZodUnknown, "many">, "many">;
12
+ valueInputOption: z.ZodDefault<z.ZodEnum<["RAW", "USER_ENTERED"]>>;
13
+ }, "strip", z.ZodTypeAny, {
14
+ values: unknown[][];
15
+ range: string;
16
+ spreadsheetId: string;
17
+ valueInputOption: "RAW" | "USER_ENTERED";
18
+ }, {
19
+ values: unknown[][];
20
+ range: string;
21
+ spreadsheetId: string;
22
+ valueInputOption?: "RAW" | "USER_ENTERED" | undefined;
23
+ }>>;
24
+ /**
25
+ * Append rows to a sheet
26
+ */
27
+ export declare const appendRows: import("../../..").ToolDefinition<z.ZodObject<{
28
+ spreadsheetId: z.ZodString;
29
+ range: z.ZodString;
30
+ values: z.ZodArray<z.ZodArray<z.ZodUnknown, "many">, "many">;
31
+ valueInputOption: z.ZodDefault<z.ZodEnum<["RAW", "USER_ENTERED"]>>;
32
+ insertDataOption: z.ZodDefault<z.ZodEnum<["OVERWRITE", "INSERT_ROWS"]>>;
33
+ }, "strip", z.ZodTypeAny, {
34
+ values: unknown[][];
35
+ range: string;
36
+ spreadsheetId: string;
37
+ valueInputOption: "RAW" | "USER_ENTERED";
38
+ insertDataOption: "OVERWRITE" | "INSERT_ROWS";
39
+ }, {
40
+ values: unknown[][];
41
+ range: string;
42
+ spreadsheetId: string;
43
+ valueInputOption?: "RAW" | "USER_ENTERED" | undefined;
44
+ insertDataOption?: "OVERWRITE" | "INSERT_ROWS" | undefined;
45
+ }>>;
46
+ /**
47
+ * Clear a range of cells
48
+ */
49
+ export declare const clearRange: import("../../..").ToolDefinition<z.ZodObject<{
50
+ spreadsheetId: z.ZodString;
51
+ range: z.ZodString;
52
+ }, "strip", z.ZodTypeAny, {
53
+ range: string;
54
+ spreadsheetId: string;
55
+ }, {
56
+ range: string;
57
+ spreadsheetId: string;
58
+ }>>;
59
+ /**
60
+ * Write to multiple ranges at once
61
+ */
62
+ export declare const writeMultipleRanges: import("../../..").ToolDefinition<z.ZodObject<{
63
+ spreadsheetId: z.ZodString;
64
+ data: z.ZodArray<z.ZodObject<{
65
+ range: z.ZodString;
66
+ values: z.ZodArray<z.ZodArray<z.ZodUnknown, "many">, "many">;
67
+ }, "strip", z.ZodTypeAny, {
68
+ values: unknown[][];
69
+ range: string;
70
+ }, {
71
+ values: unknown[][];
72
+ range: string;
73
+ }>, "many">;
74
+ valueInputOption: z.ZodDefault<z.ZodEnum<["RAW", "USER_ENTERED"]>>;
75
+ }, "strip", z.ZodTypeAny, {
76
+ data: {
77
+ values: unknown[][];
78
+ range: string;
79
+ }[];
80
+ spreadsheetId: string;
81
+ valueInputOption: "RAW" | "USER_ENTERED";
82
+ }, {
83
+ data: {
84
+ values: unknown[][];
85
+ range: string;
86
+ }[];
87
+ spreadsheetId: string;
88
+ valueInputOption?: "RAW" | "USER_ENTERED" | undefined;
89
+ }>>;
90
+ /**
91
+ * Update a single cell
92
+ */
93
+ export declare const updateCell: import("../../..").ToolDefinition<z.ZodObject<{
94
+ spreadsheetId: z.ZodString;
95
+ cell: z.ZodString;
96
+ value: z.ZodUnknown;
97
+ valueInputOption: z.ZodDefault<z.ZodEnum<["RAW", "USER_ENTERED"]>>;
98
+ }, "strip", z.ZodTypeAny, {
99
+ spreadsheetId: string;
100
+ cell: string;
101
+ valueInputOption: "RAW" | "USER_ENTERED";
102
+ value?: unknown;
103
+ }, {
104
+ spreadsheetId: string;
105
+ cell: string;
106
+ value?: unknown;
107
+ valueInputOption?: "RAW" | "USER_ENTERED" | undefined;
108
+ }>>;
109
+ //# sourceMappingURL=write.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../../../src/google/sheets/tools/write.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAyCxB;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;GA0CrB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;GAmDrB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;GA+BrB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuD9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;GAwCrB,CAAC"}
@@ -0,0 +1,205 @@
1
+ /**
2
+ * Google Sheets Write Tools
3
+ */
4
+ import { z } from 'zod';
5
+ import { defineTool, jsonResult, errorResult, successResult } from '../../../helpers';
6
+ const SHEETS_API = 'https://sheets.googleapis.com/v4/spreadsheets';
7
+ /**
8
+ * Write to a range of cells
9
+ */
10
+ export const writeRange = defineTool({
11
+ name: 'google_sheets_write_range',
12
+ description: 'Write data to a range of cells. Overwrites existing data in the range.',
13
+ category: 'sheets',
14
+ tags: ['sheets', 'spreadsheet', 'write', 'update', 'data'],
15
+ alwaysVisible: true,
16
+ parameters: z.object({
17
+ spreadsheetId: z.string().describe('The ID of the spreadsheet'),
18
+ range: z.string().describe('The A1 notation range to write to (e.g., "Sheet1!A1:D10")'),
19
+ values: z.array(z.array(z.unknown())).describe('2D array of values to write (rows of columns)'),
20
+ valueInputOption: z
21
+ .enum(['RAW', 'USER_ENTERED'])
22
+ .default('USER_ENTERED')
23
+ .describe('RAW: values as-is, USER_ENTERED: parse as if typed (formulas work)'),
24
+ }),
25
+ handler: async (params, ctx) => {
26
+ const url = new URL(`${SHEETS_API}/${params.spreadsheetId}/values/${encodeURIComponent(params.range)}`);
27
+ url.searchParams.set('valueInputOption', params.valueInputOption);
28
+ const response = await ctx.authorizedFetch(url.toString(), {
29
+ method: 'PUT',
30
+ headers: { 'Content-Type': 'application/json' },
31
+ body: JSON.stringify({
32
+ range: params.range,
33
+ majorDimension: 'ROWS',
34
+ values: params.values,
35
+ }),
36
+ });
37
+ if (!response.ok) {
38
+ const error = await response.text();
39
+ return errorResult(`Sheets API error: ${response.status} - ${error}`);
40
+ }
41
+ const data = (await response.json());
42
+ return successResult(`Data written successfully.\nRange: ${data.updatedRange}\nRows: ${data.updatedRows}\nColumns: ${data.updatedColumns}\nCells: ${data.updatedCells}`);
43
+ },
44
+ });
45
+ /**
46
+ * Append rows to a sheet
47
+ */
48
+ export const appendRows = defineTool({
49
+ name: 'google_sheets_append_rows',
50
+ description: 'Append rows after the last row with data in a range. Automatically finds the end of existing data.',
51
+ category: 'sheets',
52
+ tags: ['sheets', 'spreadsheet', 'append', 'add', 'rows', 'write'],
53
+ alwaysVisible: true,
54
+ parameters: z.object({
55
+ spreadsheetId: z.string().describe('The ID of the spreadsheet'),
56
+ range: z.string().describe('The A1 notation range to append to (e.g., "Sheet1!A:D" or "Sheet1")'),
57
+ values: z.array(z.array(z.unknown())).describe('2D array of rows to append'),
58
+ valueInputOption: z
59
+ .enum(['RAW', 'USER_ENTERED'])
60
+ .default('USER_ENTERED')
61
+ .describe('RAW: values as-is, USER_ENTERED: parse as if typed'),
62
+ insertDataOption: z
63
+ .enum(['OVERWRITE', 'INSERT_ROWS'])
64
+ .default('INSERT_ROWS')
65
+ .describe('OVERWRITE: replace data, INSERT_ROWS: insert new rows'),
66
+ }),
67
+ handler: async (params, ctx) => {
68
+ const url = new URL(`${SHEETS_API}/${params.spreadsheetId}/values/${encodeURIComponent(params.range)}:append`);
69
+ url.searchParams.set('valueInputOption', params.valueInputOption);
70
+ url.searchParams.set('insertDataOption', params.insertDataOption);
71
+ const response = await ctx.authorizedFetch(url.toString(), {
72
+ method: 'POST',
73
+ headers: { 'Content-Type': 'application/json' },
74
+ body: JSON.stringify({
75
+ range: params.range,
76
+ majorDimension: 'ROWS',
77
+ values: params.values,
78
+ }),
79
+ });
80
+ if (!response.ok) {
81
+ const error = await response.text();
82
+ return errorResult(`Sheets API error: ${response.status} - ${error}`);
83
+ }
84
+ const data = (await response.json());
85
+ const updates = data.updates;
86
+ return successResult(`Rows appended successfully.\nTable range: ${data.tableRange}\nUpdated range: ${updates?.updatedRange}\nRows added: ${updates?.updatedRows}\nCells: ${updates?.updatedCells}`);
87
+ },
88
+ });
89
+ /**
90
+ * Clear a range of cells
91
+ */
92
+ export const clearRange = defineTool({
93
+ name: 'google_sheets_clear_range',
94
+ description: 'Clear all values from a range of cells. Does not affect formatting.',
95
+ category: 'sheets',
96
+ tags: ['sheets', 'spreadsheet', 'clear', 'delete', 'write'],
97
+ alwaysVisible: false,
98
+ parameters: z.object({
99
+ spreadsheetId: z.string().describe('The ID of the spreadsheet'),
100
+ range: z.string().describe('The A1 notation range to clear (e.g., "Sheet1!A1:D10")'),
101
+ }),
102
+ handler: async (params, ctx) => {
103
+ const response = await ctx.authorizedFetch(`${SHEETS_API}/${params.spreadsheetId}/values/${encodeURIComponent(params.range)}:clear`, {
104
+ method: 'POST',
105
+ headers: { 'Content-Type': 'application/json' },
106
+ body: JSON.stringify({}),
107
+ });
108
+ if (!response.ok) {
109
+ const error = await response.text();
110
+ return errorResult(`Sheets API error: ${response.status} - ${error}`);
111
+ }
112
+ const data = (await response.json());
113
+ return successResult(`Range cleared successfully.\nCleared range: ${data.clearedRange}`);
114
+ },
115
+ });
116
+ /**
117
+ * Write to multiple ranges at once
118
+ */
119
+ export const writeMultipleRanges = defineTool({
120
+ name: 'google_sheets_write_multiple_ranges',
121
+ description: 'Write data to multiple ranges in a single request. More efficient than multiple writes.',
122
+ category: 'sheets',
123
+ tags: ['sheets', 'spreadsheet', 'write', 'batch', 'data'],
124
+ alwaysVisible: false,
125
+ parameters: z.object({
126
+ spreadsheetId: z.string().describe('The ID of the spreadsheet'),
127
+ data: z
128
+ .array(z.object({
129
+ range: z.string().describe('A1 notation range'),
130
+ values: z.array(z.array(z.unknown())).describe('2D array of values'),
131
+ }))
132
+ .min(1)
133
+ .describe('Array of range/values pairs to write'),
134
+ valueInputOption: z
135
+ .enum(['RAW', 'USER_ENTERED'])
136
+ .default('USER_ENTERED')
137
+ .describe('RAW: values as-is, USER_ENTERED: parse as if typed'),
138
+ }),
139
+ handler: async (params, ctx) => {
140
+ const url = new URL(`${SHEETS_API}/${params.spreadsheetId}/values:batchUpdate`);
141
+ const response = await ctx.authorizedFetch(url.toString(), {
142
+ method: 'POST',
143
+ headers: { 'Content-Type': 'application/json' },
144
+ body: JSON.stringify({
145
+ valueInputOption: params.valueInputOption,
146
+ data: params.data.map((d) => ({
147
+ range: d.range,
148
+ majorDimension: 'ROWS',
149
+ values: d.values,
150
+ })),
151
+ }),
152
+ });
153
+ if (!response.ok) {
154
+ const error = await response.text();
155
+ return errorResult(`Sheets API error: ${response.status} - ${error}`);
156
+ }
157
+ const data = (await response.json());
158
+ return jsonResult({
159
+ spreadsheetId: data.spreadsheetId,
160
+ totalUpdatedRows: data.totalUpdatedRows,
161
+ totalUpdatedColumns: data.totalUpdatedColumns,
162
+ totalUpdatedCells: data.totalUpdatedCells,
163
+ rangesUpdated: data.responses?.length || params.data.length,
164
+ });
165
+ },
166
+ });
167
+ /**
168
+ * Update a single cell
169
+ */
170
+ export const updateCell = defineTool({
171
+ name: 'google_sheets_update_cell',
172
+ description: 'Update the value of a single cell.',
173
+ category: 'sheets',
174
+ tags: ['sheets', 'spreadsheet', 'write', 'cell', 'update'],
175
+ alwaysVisible: false,
176
+ parameters: z.object({
177
+ spreadsheetId: z.string().describe('The ID of the spreadsheet'),
178
+ cell: z.string().describe('Cell address in A1 notation (e.g., "Sheet1!A1" or "B5")'),
179
+ value: z.unknown().describe('Value to write (string, number, boolean, or formula starting with =)'),
180
+ valueInputOption: z
181
+ .enum(['RAW', 'USER_ENTERED'])
182
+ .default('USER_ENTERED')
183
+ .describe('RAW: value as-is, USER_ENTERED: parse as if typed'),
184
+ }),
185
+ handler: async (params, ctx) => {
186
+ const url = new URL(`${SHEETS_API}/${params.spreadsheetId}/values/${encodeURIComponent(params.cell)}`);
187
+ url.searchParams.set('valueInputOption', params.valueInputOption);
188
+ const response = await ctx.authorizedFetch(url.toString(), {
189
+ method: 'PUT',
190
+ headers: { 'Content-Type': 'application/json' },
191
+ body: JSON.stringify({
192
+ range: params.cell,
193
+ majorDimension: 'ROWS',
194
+ values: [[params.value]],
195
+ }),
196
+ });
197
+ if (!response.ok) {
198
+ const error = await response.text();
199
+ return errorResult(`Sheets API error: ${response.status} - ${error}`);
200
+ }
201
+ const data = (await response.json());
202
+ return successResult(`Cell updated successfully.\nCell: ${data.updatedRange}\nValue: ${params.value}`);
203
+ },
204
+ });
205
+ //# sourceMappingURL=write.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write.js","sourceRoot":"","sources":["../../../../src/google/sheets/tools/write.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Google Tasks Integration
3
+ *
4
+ * @example
5
+ * ```typescript
6
+ * import { tools, resources, prompts } from '@jezweb/mcp-integrations/google/tasks';
7
+ *
8
+ * // Register all Tasks tools
9
+ * tools.all.forEach(tool => {
10
+ * server.tool(tool.name, tool.description, tool.parameters,
11
+ * (params) => tool.handler(params, ctx)
12
+ * );
13
+ * });
14
+ *
15
+ * // Or use selective presets
16
+ * tools.readOnly.forEach(tool => { ... }); // List and get only
17
+ * tools.modifyCapable.forEach(tool => { ... }); // Tools that modify tasks
18
+ * tools.listTools.forEach(tool => { ... }); // Task list management
19
+ * tools.taskTools.forEach(tool => { ... }); // Task operations
20
+ * ```
21
+ */
22
+ export * as tools from './tools';
23
+ export { listTaskLists, getTaskList, createTaskList, updateTaskList, deleteTaskList, listTasks, getTask, createTask, updateTask, completeTask, uncompleteTask, deleteTask, moveTask, clearCompletedTasks, } from './tools';
24
+ export * as resources from './resources';
25
+ export { taskLists, pendingTasks, todaysTasks } from './resources';
26
+ export { all as allTools, alwaysVisible, readOnly, fullAccess, createCapable, modifyCapable, listTools, taskTools, } from './tools';
27
+ export { all as allResources } from './resources';
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/google/tasks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,EAEL,aAAa,EACb,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc,EAEd,SAAS,EACT,OAAO,EACP,UAAU,EACV,UAAU,EACV,YAAY,EACZ,cAAc,EACd,UAAU,EACV,QAAQ,EACR,mBAAmB,GACpB,MAAM,SAAS,CAAC;AAGjB,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGnE,OAAO,EACL,GAAG,IAAI,QAAQ,EACf,aAAa,EACb,QAAQ,EACR,UAAU,EACV,aAAa,EACb,aAAa,EACb,SAAS,EACT,SAAS,GACV,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,GAAG,IAAI,YAAY,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Google Tasks Integration
3
+ *
4
+ * @example
5
+ * ```typescript
6
+ * import { tools, resources, prompts } from '@jezweb/mcp-integrations/google/tasks';
7
+ *
8
+ * // Register all Tasks tools
9
+ * tools.all.forEach(tool => {
10
+ * server.tool(tool.name, tool.description, tool.parameters,
11
+ * (params) => tool.handler(params, ctx)
12
+ * );
13
+ * });
14
+ *
15
+ * // Or use selective presets
16
+ * tools.readOnly.forEach(tool => { ... }); // List and get only
17
+ * tools.modifyCapable.forEach(tool => { ... }); // Tools that modify tasks
18
+ * tools.listTools.forEach(tool => { ... }); // Task list management
19
+ * tools.taskTools.forEach(tool => { ... }); // Task operations
20
+ * ```
21
+ */
22
+ // Tools
23
+ export * as tools from './tools';
24
+ export {
25
+ // Task Lists
26
+ listTaskLists, getTaskList, createTaskList, updateTaskList, deleteTaskList,
27
+ // Tasks
28
+ listTasks, getTask, createTask, updateTask, completeTask, uncompleteTask, deleteTask, moveTask, clearCompletedTasks, } from './tools';
29
+ // Resources
30
+ export * as resources from './resources';
31
+ export { taskLists, pendingTasks, todaysTasks } from './resources';
32
+ // Re-export presets for convenience
33
+ export { all as allTools, alwaysVisible, readOnly, fullAccess, createCapable, modifyCapable, listTools, taskTools, } from './tools';
34
+ export { all as allResources } from './resources';
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/google/tasks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,QAAQ;AACR,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO;AACL,aAAa;AACb,aAAa,EACb,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc;AACd,QAAQ;AACR,SAAS,EACT,OAAO,EACP,UAAU,EACV,UAAU,EACV,YAAY,EACZ,cAAc,EACd,UAAU,EACV,QAAQ,EACR,mBAAmB,GACpB,MAAM,SAAS,CAAC;AAEjB,YAAY;AACZ,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEnE,oCAAoC;AACpC,OAAO,EACL,GAAG,IAAI,QAAQ,EACf,aAAa,EACb,QAAQ,EACR,UAAU,EACV,aAAa,EACb,aAAa,EACb,SAAS,EACT,SAAS,GACV,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,GAAG,IAAI,YAAY,EAAE,MAAM,aAAa,CAAC"}