google-workspace-mcp 2.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.
- package/LICENSE +7 -0
- package/README.md +765 -0
- package/dist/accounts.d.ts +85 -0
- package/dist/accounts.d.ts.map +1 -0
- package/dist/accounts.js +520 -0
- package/dist/accounts.js.map +1 -0
- package/dist/auth.d.ts +4 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +206 -0
- package/dist/auth.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +426 -0
- package/dist/cli.js.map +1 -0
- package/dist/errorHelpers.d.ts +40 -0
- package/dist/errorHelpers.d.ts.map +1 -0
- package/dist/errorHelpers.js +52 -0
- package/dist/errorHelpers.js.map +1 -0
- package/dist/googleDocsApiHelpers.d.ts +118 -0
- package/dist/googleDocsApiHelpers.d.ts.map +1 -0
- package/dist/googleDocsApiHelpers.js +850 -0
- package/dist/googleDocsApiHelpers.js.map +1 -0
- package/dist/googleSheetsApiHelpers.d.ts +75 -0
- package/dist/googleSheetsApiHelpers.d.ts.map +1 -0
- package/dist/googleSheetsApiHelpers.js +376 -0
- package/dist/googleSheetsApiHelpers.js.map +1 -0
- package/dist/server.d.ts +2 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +119 -0
- package/dist/server.js.map +1 -0
- package/dist/serverWrapper.d.ts +21 -0
- package/dist/serverWrapper.d.ts.map +1 -0
- package/dist/serverWrapper.js +74 -0
- package/dist/serverWrapper.js.map +1 -0
- package/dist/tools/accounts.tools.d.ts +3 -0
- package/dist/tools/accounts.tools.d.ts.map +1 -0
- package/dist/tools/accounts.tools.js +154 -0
- package/dist/tools/accounts.tools.js.map +1 -0
- package/dist/tools/calendar.tools.d.ts +3 -0
- package/dist/tools/calendar.tools.d.ts.map +1 -0
- package/dist/tools/calendar.tools.js +487 -0
- package/dist/tools/calendar.tools.js.map +1 -0
- package/dist/tools/docs.tools.d.ts +3 -0
- package/dist/tools/docs.tools.d.ts.map +1 -0
- package/dist/tools/docs.tools.js +1766 -0
- package/dist/tools/docs.tools.js.map +1 -0
- package/dist/tools/drive.tools.d.ts +3 -0
- package/dist/tools/drive.tools.d.ts.map +1 -0
- package/dist/tools/drive.tools.js +1001 -0
- package/dist/tools/drive.tools.js.map +1 -0
- package/dist/tools/forms.tools.d.ts +3 -0
- package/dist/tools/forms.tools.d.ts.map +1 -0
- package/dist/tools/forms.tools.js +370 -0
- package/dist/tools/forms.tools.js.map +1 -0
- package/dist/tools/gmail.tools.d.ts +3 -0
- package/dist/tools/gmail.tools.d.ts.map +1 -0
- package/dist/tools/gmail.tools.js +520 -0
- package/dist/tools/gmail.tools.js.map +1 -0
- package/dist/tools/sheets.tools.d.ts +3 -0
- package/dist/tools/sheets.tools.d.ts.map +1 -0
- package/dist/tools/sheets.tools.js +521 -0
- package/dist/tools/sheets.tools.js.map +1 -0
- package/dist/tools/slides.tools.d.ts +3 -0
- package/dist/tools/slides.tools.d.ts.map +1 -0
- package/dist/tools/slides.tools.js +323 -0
- package/dist/tools/slides.tools.js.map +1 -0
- package/dist/types.d.ts +507 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +185 -0
- package/dist/types.js.map +1 -0
- package/dist/urlHelpers.d.ts +60 -0
- package/dist/urlHelpers.d.ts.map +1 -0
- package/dist/urlHelpers.js +101 -0
- package/dist/urlHelpers.js.map +1 -0
- package/package.json +77 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"googleDocsApiHelpers.js","sourceRoot":"","sources":["../src/googleDocsApiHelpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { type sheets_v4 } from 'googleapis';
|
|
2
|
+
import { type SheetsClient } from './types.js';
|
|
3
|
+
/** Cell value type - can be string, number, boolean, or null */
|
|
4
|
+
type CellValue = string | number | boolean | null;
|
|
5
|
+
/**
|
|
6
|
+
* Converts A1 notation to row/column indices (0-based)
|
|
7
|
+
* Example: "A1" -> {row: 0, col: 0}, "B2" -> {row: 1, col: 1}
|
|
8
|
+
*/
|
|
9
|
+
export declare function a1ToRowCol(a1: string): {
|
|
10
|
+
row: number;
|
|
11
|
+
col: number;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Converts row/column indices (0-based) to A1 notation
|
|
15
|
+
* Example: {row: 0, col: 0} -> "A1", {row: 1, col: 1} -> "B2"
|
|
16
|
+
*/
|
|
17
|
+
export declare function rowColToA1(row: number, col: number): string;
|
|
18
|
+
/**
|
|
19
|
+
* Validates and normalizes a range string
|
|
20
|
+
* Examples: "A1" -> "Sheet1!A1", "A1:B2" -> "Sheet1!A1:B2"
|
|
21
|
+
*/
|
|
22
|
+
export declare function normalizeRange(range: string, sheetName?: string): string;
|
|
23
|
+
/**
|
|
24
|
+
* Reads values from a spreadsheet range
|
|
25
|
+
*/
|
|
26
|
+
export declare function readRange(sheets: SheetsClient, spreadsheetId: string, range: string): Promise<sheets_v4.Schema$ValueRange>;
|
|
27
|
+
/**
|
|
28
|
+
* Writes values to a spreadsheet range
|
|
29
|
+
*/
|
|
30
|
+
export declare function writeRange(sheets: SheetsClient, spreadsheetId: string, range: string, values: CellValue[][], valueInputOption?: 'RAW' | 'USER_ENTERED'): Promise<sheets_v4.Schema$UpdateValuesResponse>;
|
|
31
|
+
/**
|
|
32
|
+
* Appends values to the end of a sheet
|
|
33
|
+
*/
|
|
34
|
+
export declare function appendValues(sheets: SheetsClient, spreadsheetId: string, range: string, values: CellValue[][], valueInputOption?: 'RAW' | 'USER_ENTERED'): Promise<sheets_v4.Schema$AppendValuesResponse>;
|
|
35
|
+
/**
|
|
36
|
+
* Clears values from a range
|
|
37
|
+
*/
|
|
38
|
+
export declare function clearRange(sheets: SheetsClient, spreadsheetId: string, range: string): Promise<sheets_v4.Schema$ClearValuesResponse>;
|
|
39
|
+
/**
|
|
40
|
+
* Gets spreadsheet metadata including sheet information
|
|
41
|
+
*/
|
|
42
|
+
export declare function getSpreadsheetMetadata(sheets: SheetsClient, spreadsheetId: string): Promise<sheets_v4.Schema$Spreadsheet>;
|
|
43
|
+
/**
|
|
44
|
+
* Creates a new sheet/tab in a spreadsheet
|
|
45
|
+
*/
|
|
46
|
+
export declare function addSheet(sheets: SheetsClient, spreadsheetId: string, sheetTitle: string): Promise<sheets_v4.Schema$BatchUpdateSpreadsheetResponse>;
|
|
47
|
+
/**
|
|
48
|
+
* Formats cells in a range
|
|
49
|
+
* Note: This function requires the sheetId. For simplicity, we'll get it from the spreadsheet metadata.
|
|
50
|
+
*/
|
|
51
|
+
export declare function formatCells(sheets: SheetsClient, spreadsheetId: string, range: string, format: {
|
|
52
|
+
backgroundColor?: {
|
|
53
|
+
red: number;
|
|
54
|
+
green: number;
|
|
55
|
+
blue: number;
|
|
56
|
+
};
|
|
57
|
+
textFormat?: {
|
|
58
|
+
foregroundColor?: {
|
|
59
|
+
red: number;
|
|
60
|
+
green: number;
|
|
61
|
+
blue: number;
|
|
62
|
+
};
|
|
63
|
+
fontSize?: number;
|
|
64
|
+
bold?: boolean;
|
|
65
|
+
italic?: boolean;
|
|
66
|
+
};
|
|
67
|
+
horizontalAlignment?: 'LEFT' | 'CENTER' | 'RIGHT';
|
|
68
|
+
verticalAlignment?: 'TOP' | 'MIDDLE' | 'BOTTOM';
|
|
69
|
+
}): Promise<sheets_v4.Schema$BatchUpdateSpreadsheetResponse>;
|
|
70
|
+
/**
|
|
71
|
+
* Deletes a sheet/tab from a spreadsheet
|
|
72
|
+
*/
|
|
73
|
+
export declare function deleteSheet(sheets: SheetsClient, spreadsheetId: string, sheetId: number): Promise<sheets_v4.Schema$BatchUpdateSpreadsheetResponse>;
|
|
74
|
+
export {};
|
|
75
|
+
//# sourceMappingURL=googleSheetsApiHelpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"googleSheetsApiHelpers.d.ts","sourceRoot":"","sources":["../src/googleSheetsApiHelpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,376 @@
|
|
|
1
|
+
import { UserError } from 'fastmcp';
|
|
2
|
+
import { isGoogleApiError, getErrorMessage } from './errorHelpers.js';
|
|
3
|
+
// --- Core Helper Functions ---
|
|
4
|
+
/**
|
|
5
|
+
* Converts A1 notation to row/column indices (0-based)
|
|
6
|
+
* Example: "A1" -> {row: 0, col: 0}, "B2" -> {row: 1, col: 1}
|
|
7
|
+
*/
|
|
8
|
+
export function a1ToRowCol(a1) {
|
|
9
|
+
const match = /^([A-Z]+)(\d+)$/i.exec(a1);
|
|
10
|
+
if (!match) {
|
|
11
|
+
throw new UserError(`Invalid A1 notation: ${a1}. Expected format like "A1" or "B2"`);
|
|
12
|
+
}
|
|
13
|
+
const colStr = match[1].toUpperCase();
|
|
14
|
+
const row = parseInt(match[2], 10) - 1; // Convert to 0-based
|
|
15
|
+
let col = 0;
|
|
16
|
+
for (let i = 0; i < colStr.length; i++) {
|
|
17
|
+
col = col * 26 + (colStr.charCodeAt(i) - 64);
|
|
18
|
+
}
|
|
19
|
+
col -= 1; // Convert to 0-based
|
|
20
|
+
return { row, col };
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Converts row/column indices (0-based) to A1 notation
|
|
24
|
+
* Example: {row: 0, col: 0} -> "A1", {row: 1, col: 1} -> "B2"
|
|
25
|
+
*/
|
|
26
|
+
export function rowColToA1(row, col) {
|
|
27
|
+
if (row < 0 || col < 0) {
|
|
28
|
+
throw new UserError(`Row and column indices must be non-negative. Got row: ${row}, col: ${col}`);
|
|
29
|
+
}
|
|
30
|
+
let colStr = '';
|
|
31
|
+
let colNum = col + 1; // Convert to 1-based for calculation
|
|
32
|
+
while (colNum > 0) {
|
|
33
|
+
colNum -= 1;
|
|
34
|
+
colStr = String.fromCharCode(65 + (colNum % 26)) + colStr;
|
|
35
|
+
colNum = Math.floor(colNum / 26);
|
|
36
|
+
}
|
|
37
|
+
return `${colStr}${row + 1}`;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Validates and normalizes a range string
|
|
41
|
+
* Examples: "A1" -> "Sheet1!A1", "A1:B2" -> "Sheet1!A1:B2"
|
|
42
|
+
*/
|
|
43
|
+
export function normalizeRange(range, sheetName) {
|
|
44
|
+
// If range already contains '!', assume it's already normalized
|
|
45
|
+
if (range.includes('!')) {
|
|
46
|
+
return range;
|
|
47
|
+
}
|
|
48
|
+
// If sheetName is provided, prepend it
|
|
49
|
+
if (sheetName) {
|
|
50
|
+
return `${sheetName}!${range}`;
|
|
51
|
+
}
|
|
52
|
+
// Default to Sheet1 if no sheet name provided
|
|
53
|
+
return `Sheet1!${range}`;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Reads values from a spreadsheet range
|
|
57
|
+
*/
|
|
58
|
+
export async function readRange(sheets, spreadsheetId, range) {
|
|
59
|
+
try {
|
|
60
|
+
const response = await sheets.spreadsheets.values.get({
|
|
61
|
+
spreadsheetId,
|
|
62
|
+
range,
|
|
63
|
+
});
|
|
64
|
+
return response.data;
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
const code = isGoogleApiError(error) ? error.code : undefined;
|
|
68
|
+
if (code === 404) {
|
|
69
|
+
throw new UserError(`Spreadsheet not found (ID: ${spreadsheetId}). Check the ID.`);
|
|
70
|
+
}
|
|
71
|
+
if (code === 403) {
|
|
72
|
+
throw new UserError(`Permission denied for spreadsheet (ID: ${spreadsheetId}). Ensure you have read access.`);
|
|
73
|
+
}
|
|
74
|
+
throw new UserError(`Failed to read range: ${getErrorMessage(error)}`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Writes values to a spreadsheet range
|
|
79
|
+
*/
|
|
80
|
+
export async function writeRange(sheets, spreadsheetId, range, values, valueInputOption = 'USER_ENTERED') {
|
|
81
|
+
try {
|
|
82
|
+
const response = await sheets.spreadsheets.values.update({
|
|
83
|
+
spreadsheetId,
|
|
84
|
+
range,
|
|
85
|
+
valueInputOption,
|
|
86
|
+
requestBody: {
|
|
87
|
+
values,
|
|
88
|
+
},
|
|
89
|
+
});
|
|
90
|
+
return response.data;
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
const code = isGoogleApiError(error) ? error.code : undefined;
|
|
94
|
+
if (code === 404) {
|
|
95
|
+
throw new UserError(`Spreadsheet not found (ID: ${spreadsheetId}). Check the ID.`);
|
|
96
|
+
}
|
|
97
|
+
if (code === 403) {
|
|
98
|
+
throw new UserError(`Permission denied for spreadsheet (ID: ${spreadsheetId}). Ensure you have write access.`);
|
|
99
|
+
}
|
|
100
|
+
throw new UserError(`Failed to write range: ${getErrorMessage(error)}`);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Appends values to the end of a sheet
|
|
105
|
+
*/
|
|
106
|
+
export async function appendValues(sheets, spreadsheetId, range, values, valueInputOption = 'USER_ENTERED') {
|
|
107
|
+
try {
|
|
108
|
+
const response = await sheets.spreadsheets.values.append({
|
|
109
|
+
spreadsheetId,
|
|
110
|
+
range,
|
|
111
|
+
valueInputOption,
|
|
112
|
+
insertDataOption: 'INSERT_ROWS',
|
|
113
|
+
requestBody: {
|
|
114
|
+
values,
|
|
115
|
+
},
|
|
116
|
+
});
|
|
117
|
+
return response.data;
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
const code = isGoogleApiError(error) ? error.code : undefined;
|
|
121
|
+
if (code === 404) {
|
|
122
|
+
throw new UserError(`Spreadsheet not found (ID: ${spreadsheetId}). Check the ID.`);
|
|
123
|
+
}
|
|
124
|
+
if (code === 403) {
|
|
125
|
+
throw new UserError(`Permission denied for spreadsheet (ID: ${spreadsheetId}). Ensure you have write access.`);
|
|
126
|
+
}
|
|
127
|
+
throw new UserError(`Failed to append values: ${getErrorMessage(error)}`);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Clears values from a range
|
|
132
|
+
*/
|
|
133
|
+
export async function clearRange(sheets, spreadsheetId, range) {
|
|
134
|
+
try {
|
|
135
|
+
const response = await sheets.spreadsheets.values.clear({
|
|
136
|
+
spreadsheetId,
|
|
137
|
+
range,
|
|
138
|
+
});
|
|
139
|
+
return response.data;
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
const code = isGoogleApiError(error) ? error.code : undefined;
|
|
143
|
+
if (code === 404) {
|
|
144
|
+
throw new UserError(`Spreadsheet not found (ID: ${spreadsheetId}). Check the ID.`);
|
|
145
|
+
}
|
|
146
|
+
if (code === 403) {
|
|
147
|
+
throw new UserError(`Permission denied for spreadsheet (ID: ${spreadsheetId}). Ensure you have write access.`);
|
|
148
|
+
}
|
|
149
|
+
throw new UserError(`Failed to clear range: ${getErrorMessage(error)}`);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Gets spreadsheet metadata including sheet information
|
|
154
|
+
*/
|
|
155
|
+
export async function getSpreadsheetMetadata(sheets, spreadsheetId) {
|
|
156
|
+
try {
|
|
157
|
+
const response = await sheets.spreadsheets.get({
|
|
158
|
+
spreadsheetId,
|
|
159
|
+
includeGridData: false,
|
|
160
|
+
});
|
|
161
|
+
return response.data;
|
|
162
|
+
}
|
|
163
|
+
catch (error) {
|
|
164
|
+
const code = isGoogleApiError(error) ? error.code : undefined;
|
|
165
|
+
if (code === 404) {
|
|
166
|
+
throw new UserError(`Spreadsheet not found (ID: ${spreadsheetId}). Check the ID.`);
|
|
167
|
+
}
|
|
168
|
+
if (code === 403) {
|
|
169
|
+
throw new UserError(`Permission denied for spreadsheet (ID: ${spreadsheetId}). Ensure you have read access.`);
|
|
170
|
+
}
|
|
171
|
+
throw new UserError(`Failed to get spreadsheet metadata: ${getErrorMessage(error)}`);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Creates a new sheet/tab in a spreadsheet
|
|
176
|
+
*/
|
|
177
|
+
export async function addSheet(sheets, spreadsheetId, sheetTitle) {
|
|
178
|
+
try {
|
|
179
|
+
const response = await sheets.spreadsheets.batchUpdate({
|
|
180
|
+
spreadsheetId,
|
|
181
|
+
requestBody: {
|
|
182
|
+
requests: [
|
|
183
|
+
{
|
|
184
|
+
addSheet: {
|
|
185
|
+
properties: {
|
|
186
|
+
title: sheetTitle,
|
|
187
|
+
},
|
|
188
|
+
},
|
|
189
|
+
},
|
|
190
|
+
],
|
|
191
|
+
},
|
|
192
|
+
});
|
|
193
|
+
return response.data;
|
|
194
|
+
}
|
|
195
|
+
catch (error) {
|
|
196
|
+
const code = isGoogleApiError(error) ? error.code : undefined;
|
|
197
|
+
if (code === 404) {
|
|
198
|
+
throw new UserError(`Spreadsheet not found (ID: ${spreadsheetId}). Check the ID.`);
|
|
199
|
+
}
|
|
200
|
+
if (code === 403) {
|
|
201
|
+
throw new UserError(`Permission denied for spreadsheet (ID: ${spreadsheetId}). Ensure you have write access.`);
|
|
202
|
+
}
|
|
203
|
+
throw new UserError(`Failed to add sheet: ${getErrorMessage(error)}`);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Parses A1 notation range to extract sheet name and cell range
|
|
208
|
+
* Returns {sheetName, a1Range} where a1Range is just the cell part (e.g., "A1:B2")
|
|
209
|
+
*/
|
|
210
|
+
function parseRange(range) {
|
|
211
|
+
if (range.includes('!')) {
|
|
212
|
+
const parts = range.split('!');
|
|
213
|
+
return {
|
|
214
|
+
sheetName: parts[0].replace(/^'|'$/g, ''), // Remove quotes if present
|
|
215
|
+
a1Range: parts[1],
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
return {
|
|
219
|
+
sheetName: null,
|
|
220
|
+
a1Range: range,
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Formats cells in a range
|
|
225
|
+
* Note: This function requires the sheetId. For simplicity, we'll get it from the spreadsheet metadata.
|
|
226
|
+
*/
|
|
227
|
+
export async function formatCells(sheets, spreadsheetId, range, format) {
|
|
228
|
+
try {
|
|
229
|
+
// Parse the range to get sheet name and cell range
|
|
230
|
+
const { sheetName, a1Range } = parseRange(range);
|
|
231
|
+
// Get spreadsheet metadata to find sheetId
|
|
232
|
+
const metadata = await getSpreadsheetMetadata(sheets, spreadsheetId);
|
|
233
|
+
let sheetId;
|
|
234
|
+
if (sheetName) {
|
|
235
|
+
// Find the sheet by name
|
|
236
|
+
const sheet = metadata.sheets?.find((s) => s.properties?.title === sheetName);
|
|
237
|
+
if (!sheet?.properties?.sheetId) {
|
|
238
|
+
throw new UserError(`Sheet "${sheetName}" not found in spreadsheet.`);
|
|
239
|
+
}
|
|
240
|
+
sheetId = sheet.properties.sheetId;
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
// Use the first sheet
|
|
244
|
+
const firstSheet = metadata.sheets?.[0];
|
|
245
|
+
if (!firstSheet?.properties?.sheetId) {
|
|
246
|
+
throw new UserError('Spreadsheet has no sheets.');
|
|
247
|
+
}
|
|
248
|
+
sheetId = firstSheet.properties.sheetId;
|
|
249
|
+
}
|
|
250
|
+
// Parse A1 range to get row/column indices
|
|
251
|
+
// eslint-disable-next-line security/detect-unsafe-regex -- Simple bounded regex for A1 notation parsing
|
|
252
|
+
const rangeMatch = /^([A-Z]+)(\d+)(?::([A-Z]+)(\d+))?$/i.exec(a1Range);
|
|
253
|
+
if (!rangeMatch) {
|
|
254
|
+
throw new UserError(`Invalid range format: ${a1Range}. Expected format like "A1" or "A1:B2"`);
|
|
255
|
+
}
|
|
256
|
+
const startCol = rangeMatch[1].toUpperCase();
|
|
257
|
+
const startRow = parseInt(rangeMatch[2], 10) - 1; // Convert to 0-based
|
|
258
|
+
const endCol = rangeMatch[3] ? rangeMatch[3].toUpperCase() : startCol;
|
|
259
|
+
const endRow = rangeMatch[4] ? parseInt(rangeMatch[4], 10) - 1 : startRow; // Convert to 0-based
|
|
260
|
+
// Convert column letters to 0-based indices
|
|
261
|
+
function colToIndex(col) {
|
|
262
|
+
let index = 0;
|
|
263
|
+
for (let i = 0; i < col.length; i++) {
|
|
264
|
+
index = index * 26 + (col.charCodeAt(i) - 64);
|
|
265
|
+
}
|
|
266
|
+
return index - 1;
|
|
267
|
+
}
|
|
268
|
+
const startColIndex = colToIndex(startCol);
|
|
269
|
+
const endColIndex = colToIndex(endCol);
|
|
270
|
+
const userEnteredFormat = {};
|
|
271
|
+
if (format.backgroundColor) {
|
|
272
|
+
userEnteredFormat.backgroundColor = {
|
|
273
|
+
red: format.backgroundColor.red,
|
|
274
|
+
green: format.backgroundColor.green,
|
|
275
|
+
blue: format.backgroundColor.blue,
|
|
276
|
+
alpha: 1,
|
|
277
|
+
};
|
|
278
|
+
}
|
|
279
|
+
if (format.textFormat) {
|
|
280
|
+
userEnteredFormat.textFormat = {};
|
|
281
|
+
if (format.textFormat.foregroundColor) {
|
|
282
|
+
userEnteredFormat.textFormat.foregroundColor = {
|
|
283
|
+
red: format.textFormat.foregroundColor.red,
|
|
284
|
+
green: format.textFormat.foregroundColor.green,
|
|
285
|
+
blue: format.textFormat.foregroundColor.blue,
|
|
286
|
+
alpha: 1,
|
|
287
|
+
};
|
|
288
|
+
}
|
|
289
|
+
if (format.textFormat.fontSize !== undefined) {
|
|
290
|
+
userEnteredFormat.textFormat.fontSize = format.textFormat.fontSize;
|
|
291
|
+
}
|
|
292
|
+
if (format.textFormat.bold !== undefined) {
|
|
293
|
+
userEnteredFormat.textFormat.bold = format.textFormat.bold;
|
|
294
|
+
}
|
|
295
|
+
if (format.textFormat.italic !== undefined) {
|
|
296
|
+
userEnteredFormat.textFormat.italic = format.textFormat.italic;
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
if (format.horizontalAlignment) {
|
|
300
|
+
userEnteredFormat.horizontalAlignment = format.horizontalAlignment;
|
|
301
|
+
}
|
|
302
|
+
if (format.verticalAlignment) {
|
|
303
|
+
userEnteredFormat.verticalAlignment = format.verticalAlignment;
|
|
304
|
+
}
|
|
305
|
+
const response = await sheets.spreadsheets.batchUpdate({
|
|
306
|
+
spreadsheetId,
|
|
307
|
+
requestBody: {
|
|
308
|
+
requests: [
|
|
309
|
+
{
|
|
310
|
+
repeatCell: {
|
|
311
|
+
range: {
|
|
312
|
+
sheetId: sheetId,
|
|
313
|
+
startRowIndex: startRow,
|
|
314
|
+
endRowIndex: endRow + 1, // endRowIndex is exclusive
|
|
315
|
+
startColumnIndex: startColIndex,
|
|
316
|
+
endColumnIndex: endColIndex + 1, // endColumnIndex is exclusive
|
|
317
|
+
},
|
|
318
|
+
cell: {
|
|
319
|
+
userEnteredFormat,
|
|
320
|
+
},
|
|
321
|
+
fields: 'userEnteredFormat(backgroundColor,textFormat,horizontalAlignment,verticalAlignment)',
|
|
322
|
+
},
|
|
323
|
+
},
|
|
324
|
+
],
|
|
325
|
+
},
|
|
326
|
+
});
|
|
327
|
+
return response.data;
|
|
328
|
+
}
|
|
329
|
+
catch (error) {
|
|
330
|
+
const code = isGoogleApiError(error) ? error.code : undefined;
|
|
331
|
+
if (code === 404) {
|
|
332
|
+
throw new UserError(`Spreadsheet not found (ID: ${spreadsheetId}). Check the ID.`);
|
|
333
|
+
}
|
|
334
|
+
if (code === 403) {
|
|
335
|
+
throw new UserError(`Permission denied for spreadsheet (ID: ${spreadsheetId}). Ensure you have write access.`);
|
|
336
|
+
}
|
|
337
|
+
if (error instanceof UserError)
|
|
338
|
+
throw error;
|
|
339
|
+
throw new UserError(`Failed to format cells: ${getErrorMessage(error)}`);
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
/**
|
|
343
|
+
* Deletes a sheet/tab from a spreadsheet
|
|
344
|
+
*/
|
|
345
|
+
export async function deleteSheet(sheets, spreadsheetId, sheetId) {
|
|
346
|
+
try {
|
|
347
|
+
const response = await sheets.spreadsheets.batchUpdate({
|
|
348
|
+
spreadsheetId,
|
|
349
|
+
requestBody: {
|
|
350
|
+
requests: [
|
|
351
|
+
{
|
|
352
|
+
deleteSheet: {
|
|
353
|
+
sheetId,
|
|
354
|
+
},
|
|
355
|
+
},
|
|
356
|
+
],
|
|
357
|
+
},
|
|
358
|
+
});
|
|
359
|
+
return response.data;
|
|
360
|
+
}
|
|
361
|
+
catch (error) {
|
|
362
|
+
const code = isGoogleApiError(error) ? error.code : undefined;
|
|
363
|
+
if (code === 404) {
|
|
364
|
+
throw new UserError(`Spreadsheet not found (ID: ${spreadsheetId}). Check the ID.`);
|
|
365
|
+
}
|
|
366
|
+
if (code === 403) {
|
|
367
|
+
throw new UserError(`Permission denied for spreadsheet (ID: ${spreadsheetId}). Ensure you have write access.`);
|
|
368
|
+
}
|
|
369
|
+
if (code === 400) {
|
|
370
|
+
throw new UserError('Cannot delete the last sheet in a spreadsheet. A spreadsheet must have at least one sheet.');
|
|
371
|
+
}
|
|
372
|
+
throw new UserError(`Failed to delete sheet: ${getErrorMessage(error)}`);
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
// Note: hexToRgbColor is available from '../types.js' if needed for color conversions
|
|
376
|
+
//# sourceMappingURL=googleSheetsApiHelpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"googleSheetsApiHelpers.js","sourceRoot":"","sources":["../src/googleSheetsApiHelpers.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":""}
|
package/dist/server.js
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
// src/server.ts - Google Workspace MCP Server
|
|
2
|
+
import { FastMCP } from 'fastmcp';
|
|
3
|
+
// Import tool modules
|
|
4
|
+
import { registerDocsTools } from './tools/docs.tools.js';
|
|
5
|
+
import { registerDriveTools } from './tools/drive.tools.js';
|
|
6
|
+
import { registerSheetsTools } from './tools/sheets.tools.js';
|
|
7
|
+
import { registerAccountsTools } from './tools/accounts.tools.js';
|
|
8
|
+
import { registerGmailTools } from './tools/gmail.tools.js';
|
|
9
|
+
import { registerCalendarTools } from './tools/calendar.tools.js';
|
|
10
|
+
import { registerSlidesTools } from './tools/slides.tools.js';
|
|
11
|
+
import { registerFormsTools } from './tools/forms.tools.js';
|
|
12
|
+
// Import multi-account management
|
|
13
|
+
import { initializeAccounts, getAccountClients, getAccountEmail } from './accounts.js';
|
|
14
|
+
// Import server wrapper for read-only mode
|
|
15
|
+
import { createServerWithConfig, getServerConfigFromEnv } from './serverWrapper.js';
|
|
16
|
+
// --- Initialization ---
|
|
17
|
+
let accountsInitialized = false;
|
|
18
|
+
async function ensureAccountsInitialized() {
|
|
19
|
+
if (!accountsInitialized) {
|
|
20
|
+
await initializeAccounts();
|
|
21
|
+
accountsInitialized = true;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
// Set up process-level unhandled error/rejection handlers to prevent crashes
|
|
25
|
+
process.on('uncaughtException', (error) => {
|
|
26
|
+
console.error('Uncaught Exception:', error);
|
|
27
|
+
});
|
|
28
|
+
process.on('unhandledRejection', (reason, _promise) => {
|
|
29
|
+
console.error('Unhandled Promise Rejection:', reason);
|
|
30
|
+
});
|
|
31
|
+
// --- Server Configuration ---
|
|
32
|
+
const serverConfig = getServerConfigFromEnv();
|
|
33
|
+
const baseServer = new FastMCP({
|
|
34
|
+
name: 'Google Workspace MCP Server',
|
|
35
|
+
version: '2.0.0',
|
|
36
|
+
});
|
|
37
|
+
// Wrap server to enforce read-only mode if configured
|
|
38
|
+
const server = createServerWithConfig(baseServer, serverConfig);
|
|
39
|
+
// --- Client Getters for each service ---
|
|
40
|
+
async function getDocsClient(accountName) {
|
|
41
|
+
await ensureAccountsInitialized();
|
|
42
|
+
const clients = await getAccountClients(accountName);
|
|
43
|
+
return clients.docs;
|
|
44
|
+
}
|
|
45
|
+
async function getDriveClient(accountName) {
|
|
46
|
+
await ensureAccountsInitialized();
|
|
47
|
+
const clients = await getAccountClients(accountName);
|
|
48
|
+
return clients.drive;
|
|
49
|
+
}
|
|
50
|
+
async function getSheetsClient(accountName) {
|
|
51
|
+
await ensureAccountsInitialized();
|
|
52
|
+
const clients = await getAccountClients(accountName);
|
|
53
|
+
return clients.sheets;
|
|
54
|
+
}
|
|
55
|
+
async function getGmailClient(accountName) {
|
|
56
|
+
await ensureAccountsInitialized();
|
|
57
|
+
const clients = await getAccountClients(accountName);
|
|
58
|
+
return clients.gmail;
|
|
59
|
+
}
|
|
60
|
+
async function getCalendarClient(accountName) {
|
|
61
|
+
await ensureAccountsInitialized();
|
|
62
|
+
const clients = await getAccountClients(accountName);
|
|
63
|
+
return clients.calendar;
|
|
64
|
+
}
|
|
65
|
+
async function getSlidesClient(accountName) {
|
|
66
|
+
await ensureAccountsInitialized();
|
|
67
|
+
const clients = await getAccountClients(accountName);
|
|
68
|
+
return clients.slides;
|
|
69
|
+
}
|
|
70
|
+
async function getFormsClient(accountName) {
|
|
71
|
+
await ensureAccountsInitialized();
|
|
72
|
+
const clients = await getAccountClients(accountName);
|
|
73
|
+
return clients.forms;
|
|
74
|
+
}
|
|
75
|
+
// ===========================================
|
|
76
|
+
// === REGISTER ALL TOOL MODULES ===
|
|
77
|
+
// ===========================================
|
|
78
|
+
// Register Account management tools
|
|
79
|
+
registerAccountsTools(server, ensureAccountsInitialized);
|
|
80
|
+
// Register Google Docs tools
|
|
81
|
+
registerDocsTools({ server, getDocsClient, getDriveClient, getAccountEmail });
|
|
82
|
+
// Register Google Drive tools
|
|
83
|
+
registerDriveTools({ server, getDriveClient, getDocsClient, getAccountEmail });
|
|
84
|
+
// Register Google Sheets tools
|
|
85
|
+
registerSheetsTools({ server, getSheetsClient, getDriveClient, getAccountEmail });
|
|
86
|
+
// Register Gmail tools
|
|
87
|
+
registerGmailTools({ server, getGmailClient, getAccountEmail });
|
|
88
|
+
// Register Calendar tools
|
|
89
|
+
registerCalendarTools({ server, getCalendarClient, getAccountEmail });
|
|
90
|
+
// Register Slides tools (also needs Drive client for listing)
|
|
91
|
+
registerSlidesTools({ server, getSlidesClient, getDriveClient, getAccountEmail });
|
|
92
|
+
// Register Forms tools (also needs Drive client for listing)
|
|
93
|
+
registerFormsTools({ server, getFormsClient, getDriveClient, getAccountEmail });
|
|
94
|
+
// --- Server Startup ---
|
|
95
|
+
async function startServer() {
|
|
96
|
+
try {
|
|
97
|
+
await ensureAccountsInitialized();
|
|
98
|
+
if (serverConfig.readOnly) {
|
|
99
|
+
console.error('⚠️ Starting Google Workspace MCP server in READ-ONLY mode...');
|
|
100
|
+
console.error(' Write operations are disabled. Use --read-only=false or remove the flag to enable writes.');
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
console.error('Starting Google Workspace MCP server...');
|
|
104
|
+
}
|
|
105
|
+
const configToUse = {
|
|
106
|
+
transportType: 'stdio',
|
|
107
|
+
};
|
|
108
|
+
await server.start(configToUse);
|
|
109
|
+
console.error(`MCP Server running using ${configToUse.transportType}. Awaiting client connection...`);
|
|
110
|
+
console.error('Process-level error handling configured to prevent crashes from timeout errors.');
|
|
111
|
+
}
|
|
112
|
+
catch (startError) {
|
|
113
|
+
const message = startError instanceof Error ? startError.message : String(startError);
|
|
114
|
+
console.error('FATAL: Server failed to start:', message);
|
|
115
|
+
process.exit(1);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
void startServer();
|
|
119
|
+
//# sourceMappingURL=server.js.map
|