gogcli-mcp-sheets 4.2.3 → 4.2.5
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/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/dist/index.js +8 -1
- package/manifest.json +1 -1
- package/mint.yaml +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
- package/src/tools/sheets-extra.ts +7 -0
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
},
|
|
8
8
|
"metadata": {
|
|
9
9
|
"description": "Extended Google Sheets for Claude via gogcli — auth + full Sheets support",
|
|
10
|
-
"version": "4.2.
|
|
10
|
+
"version": "4.2.5"
|
|
11
11
|
},
|
|
12
12
|
"plugins": [
|
|
13
13
|
{
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"displayName": "gogcli (Sheets)",
|
|
16
16
|
"source": "./",
|
|
17
17
|
"description": "Extended Google Sheets for Claude via gogcli — auth + full Sheets support",
|
|
18
|
-
"version": "4.2.
|
|
18
|
+
"version": "4.2.5",
|
|
19
19
|
"author": {
|
|
20
20
|
"name": "Chris Hall"
|
|
21
21
|
},
|
package/dist/index.js
CHANGED
|
@@ -35608,7 +35608,7 @@ function registerSheetsTools(server) {
|
|
|
35608
35608
|
}
|
|
35609
35609
|
|
|
35610
35610
|
// ../gogcli-mcp/src/server.ts
|
|
35611
|
-
var VERSION = true ? "4.2.
|
|
35611
|
+
var VERSION = true ? "4.2.5" : "0.0.0";
|
|
35612
35612
|
|
|
35613
35613
|
// ../gogcli-mcp/src/bootstrap-auth.ts
|
|
35614
35614
|
import { join as join2 } from "node:path";
|
|
@@ -36352,6 +36352,7 @@ ${resultText2(result) ?? ""}` }] };
|
|
|
36352
36352
|
});
|
|
36353
36353
|
server.registerTool("gog_sheets_table_create", {
|
|
36354
36354
|
description: "Create a Google Sheets table over a range. columnsJson is a JSON array of column definitions (each {columnName, columnType?}); valid columnType values: TEXT, DOUBLE, BOOLEAN, DATE, DROPDOWN. Inline JSON or @/path/to/file.json.",
|
|
36355
|
+
annotations: { destructiveHint: false },
|
|
36355
36356
|
inputSchema: external_exports.object({
|
|
36356
36357
|
spreadsheetId: external_exports.string().describe("Spreadsheet ID"),
|
|
36357
36358
|
range: external_exports.string().describe("Range the table covers (e.g. Sheet1!A1:D20)"),
|
|
@@ -36367,6 +36368,7 @@ ${resultText2(result) ?? ""}` }] };
|
|
|
36367
36368
|
});
|
|
36368
36369
|
server.registerTool("gog_sheets_table_append", {
|
|
36369
36370
|
description: "Append data rows to a table. valuesJson is a JSON 2D array of row values.",
|
|
36371
|
+
annotations: { destructiveHint: false },
|
|
36370
36372
|
inputSchema: external_exports.object({
|
|
36371
36373
|
spreadsheetId: external_exports.string().describe("Spreadsheet ID"),
|
|
36372
36374
|
tableId: external_exports.string().describe("Table ID to append to"),
|
|
@@ -36452,6 +36454,7 @@ ${errorText(err)}`
|
|
|
36452
36454
|
});
|
|
36453
36455
|
server.registerTool("gog_sheets_banding_set", {
|
|
36454
36456
|
description: "Apply alternating colors to a range. Provide rowPropertiesJson and/or columnPropertiesJson \u2014 each a Sheets API BandingProperties JSON object ({headerColor, firstBandColor, secondBandColor, footerColor}). At least one is required.",
|
|
36457
|
+
annotations: { destructiveHint: false },
|
|
36455
36458
|
inputSchema: external_exports.object({
|
|
36456
36459
|
spreadsheetId: external_exports.string().describe("Spreadsheet ID"),
|
|
36457
36460
|
range: external_exports.string().describe("Range to band (e.g. Sheet1!A1:D20)"),
|
|
@@ -36485,6 +36488,7 @@ ${errorText(err)}`
|
|
|
36485
36488
|
});
|
|
36486
36489
|
server.registerTool("gog_sheets_filter_set", {
|
|
36487
36490
|
description: "Set a basic filter on a range (the filter/sort header Sheets shows on a data range). A sheet can hold one basic filter; replacing an existing one requires replace=true \u2014 without it, gog refuses rather than silently overwriting.",
|
|
36491
|
+
annotations: { destructiveHint: false },
|
|
36488
36492
|
inputSchema: external_exports.object({
|
|
36489
36493
|
spreadsheetId: external_exports.string().describe("Spreadsheet ID"),
|
|
36490
36494
|
range: external_exports.string().describe("Range to filter (A1 notation with sheet name, e.g. Sheet1!A1:C100, or a named range name)"),
|
|
@@ -36511,6 +36515,7 @@ ${errorText(err)}`
|
|
|
36511
36515
|
});
|
|
36512
36516
|
server.registerTool("gog_sheets_conditional_format_add", {
|
|
36513
36517
|
description: 'Add a conditional formatting rule to a range. Boolean rules: type picks the condition, expr is its value/formula (omit for blank/not-blank), formatJson is the CellFormat to apply when the condition matches (inline or @file); use formatFields to force-send zero/false fields (e.g. backgroundColor,textFormat.bold). Gradient rules (color scales): pass gradientRuleJson instead \u2014 a GradientRule JSON with minpoint/maxpoint (and optional midpoint), each {"color":{...},"type":"MIN|MAX|NUMBER|PERCENT|PERCENTILE","value":"..."}. The two modes are mutually exclusive.',
|
|
36518
|
+
annotations: { destructiveHint: false },
|
|
36514
36519
|
inputSchema: external_exports.object({
|
|
36515
36520
|
spreadsheetId: external_exports.string().describe("Spreadsheet ID"),
|
|
36516
36521
|
range: external_exports.string().describe("Range the rule applies to (e.g. Sheet1!A1:A100)"),
|
|
@@ -36639,6 +36644,7 @@ ${errorText(err)}`
|
|
|
36639
36644
|
const bigQueryChargeNote = " COSTS MONEY AND RUNS ASYNCHRONOUSLY: this starts a BigQuery execution billed to the billing project, and returns once the execution has been REQUESTED \u2014 not once it has finished. Poll gog_sheets_datasource_describe until its dataExecutionStatus state is SUCCEEDED or FAILED before treating the data as current.";
|
|
36640
36645
|
server.registerTool("gog_sheets_datasource_add", {
|
|
36641
36646
|
description: "Add a BigQuery Connected Sheets data source to a spreadsheet, creating its linked DATA_SOURCE sheet. Point it at EITHER a custom SQL query (query) OR an existing native table (dataset + table) \u2014 never both. billingProject is the BigQuery project charged for the query; tableProject only names which project OWNS the table, and defaults to the billing project. Returns the new dataSourceId, which every other datasource tool takes." + bigQueryChargeNote + bigQueryScopeNote,
|
|
36647
|
+
annotations: { destructiveHint: false },
|
|
36642
36648
|
inputSchema: external_exports.object({
|
|
36643
36649
|
spreadsheetId: external_exports.string().describe("Spreadsheet ID"),
|
|
36644
36650
|
billingProject: external_exports.string().describe("Billing-enabled BigQuery project charged for this source's queries"),
|
|
@@ -36694,6 +36700,7 @@ ${errorText(err)}`
|
|
|
36694
36700
|
});
|
|
36695
36701
|
server.registerTool("gog_sheets_datasource_refresh", {
|
|
36696
36702
|
description: "Re-run a Connected Sheets data source so its sheet and extracts pick up current BigQuery data. Google refuses to refresh a source whose previous execution FAILED; forceRefresh overrides that, which is what you want after fixing the underlying query or permissions." + bigQueryChargeNote + bigQueryScopeNote,
|
|
36703
|
+
annotations: { destructiveHint: true },
|
|
36697
36704
|
inputSchema: external_exports.object({
|
|
36698
36705
|
spreadsheetId: external_exports.string().describe("Spreadsheet ID"),
|
|
36699
36706
|
dataSourceId: external_exports.string().describe("Data source ID, as reported by gog_sheets_datasource_list"),
|
package/manifest.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"manifest_version": "0.3",
|
|
4
4
|
"name": "gogcli-mcp-sheets",
|
|
5
5
|
"display_name": "gogcli (Sheets)",
|
|
6
|
-
"version": "4.2.
|
|
6
|
+
"version": "4.2.5",
|
|
7
7
|
"description": "Extended Google Sheets for Claude via gogcli — auth + full Sheets support",
|
|
8
8
|
"author": {
|
|
9
9
|
"name": "Chris Hall",
|
package/mint.yaml
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gogcli-mcp-sheets",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.5",
|
|
4
4
|
"mcpName": "io.github.chrischall/gogcli-mcp-sheets",
|
|
5
5
|
"description": "Extended Google Sheets MCP server via gogcli — all base tools plus full Sheets support",
|
|
6
6
|
"author": "Claude Code (AI) <https://www.anthropic.com/claude>",
|
package/server.json
CHANGED
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
"source": "github",
|
|
8
8
|
"subfolder": "packages/gogcli-mcp-sheets"
|
|
9
9
|
},
|
|
10
|
-
"version": "4.2.
|
|
10
|
+
"version": "4.2.5",
|
|
11
11
|
"packages": [
|
|
12
12
|
{
|
|
13
13
|
"registryType": "npm",
|
|
14
14
|
"identifier": "gogcli-mcp-sheets",
|
|
15
|
-
"version": "4.2.
|
|
15
|
+
"version": "4.2.5",
|
|
16
16
|
"transport": {
|
|
17
17
|
"type": "stdio"
|
|
18
18
|
},
|
|
@@ -759,6 +759,7 @@ export function registerExtraSheetsTools(server: McpServer): void {
|
|
|
759
759
|
|
|
760
760
|
server.registerTool('gog_sheets_table_create', {
|
|
761
761
|
description: 'Create a Google Sheets table over a range. columnsJson is a JSON array of column definitions (each {columnName, columnType?}); valid columnType values: TEXT, DOUBLE, BOOLEAN, DATE, DROPDOWN. Inline JSON or @/path/to/file.json.',
|
|
762
|
+
annotations: { destructiveHint: false },
|
|
762
763
|
inputSchema: z.object({
|
|
763
764
|
spreadsheetId: z.string().describe('Spreadsheet ID'),
|
|
764
765
|
range: z.string().describe('Range the table covers (e.g. Sheet1!A1:D20)'),
|
|
@@ -775,6 +776,7 @@ export function registerExtraSheetsTools(server: McpServer): void {
|
|
|
775
776
|
|
|
776
777
|
server.registerTool('gog_sheets_table_append', {
|
|
777
778
|
description: 'Append data rows to a table. valuesJson is a JSON 2D array of row values.',
|
|
779
|
+
annotations: { destructiveHint: false },
|
|
778
780
|
inputSchema: z.object({
|
|
779
781
|
spreadsheetId: z.string().describe('Spreadsheet ID'),
|
|
780
782
|
tableId: z.string().describe('Table ID to append to'),
|
|
@@ -885,6 +887,7 @@ export function registerExtraSheetsTools(server: McpServer): void {
|
|
|
885
887
|
|
|
886
888
|
server.registerTool('gog_sheets_banding_set', {
|
|
887
889
|
description: 'Apply alternating colors to a range. Provide rowPropertiesJson and/or columnPropertiesJson — each a Sheets API BandingProperties JSON object ({headerColor, firstBandColor, secondBandColor, footerColor}). At least one is required.',
|
|
890
|
+
annotations: { destructiveHint: false },
|
|
888
891
|
inputSchema: z.object({
|
|
889
892
|
spreadsheetId: z.string().describe('Spreadsheet ID'),
|
|
890
893
|
range: z.string().describe('Range to band (e.g. Sheet1!A1:D20)'),
|
|
@@ -922,6 +925,7 @@ export function registerExtraSheetsTools(server: McpServer): void {
|
|
|
922
925
|
|
|
923
926
|
server.registerTool('gog_sheets_filter_set', {
|
|
924
927
|
description: 'Set a basic filter on a range (the filter/sort header Sheets shows on a data range). A sheet can hold one basic filter; replacing an existing one requires replace=true — without it, gog refuses rather than silently overwriting.',
|
|
928
|
+
annotations: { destructiveHint: false },
|
|
925
929
|
inputSchema: z.object({
|
|
926
930
|
spreadsheetId: z.string().describe('Spreadsheet ID'),
|
|
927
931
|
range: z.string().describe('Range to filter (A1 notation with sheet name, e.g. Sheet1!A1:C100, or a named range name)'),
|
|
@@ -952,6 +956,7 @@ export function registerExtraSheetsTools(server: McpServer): void {
|
|
|
952
956
|
|
|
953
957
|
server.registerTool('gog_sheets_conditional_format_add', {
|
|
954
958
|
description: 'Add a conditional formatting rule to a range. Boolean rules: type picks the condition, expr is its value/formula (omit for blank/not-blank), formatJson is the CellFormat to apply when the condition matches (inline or @file); use formatFields to force-send zero/false fields (e.g. backgroundColor,textFormat.bold). Gradient rules (color scales): pass gradientRuleJson instead — a GradientRule JSON with minpoint/maxpoint (and optional midpoint), each {"color":{...},"type":"MIN|MAX|NUMBER|PERCENT|PERCENTILE","value":"..."}. The two modes are mutually exclusive.',
|
|
959
|
+
annotations: { destructiveHint: false },
|
|
955
960
|
inputSchema: z.object({
|
|
956
961
|
spreadsheetId: z.string().describe('Spreadsheet ID'),
|
|
957
962
|
range: z.string().describe('Range the rule applies to (e.g. Sheet1!A1:A100)'),
|
|
@@ -1143,6 +1148,7 @@ export function registerExtraSheetsTools(server: McpServer): void {
|
|
|
1143
1148
|
'BigQuery project charged for the query; tableProject only names which project OWNS the table, and defaults to the ' +
|
|
1144
1149
|
'billing project. Returns the new dataSourceId, which every other datasource tool takes.' +
|
|
1145
1150
|
bigQueryChargeNote + bigQueryScopeNote,
|
|
1151
|
+
annotations: { destructiveHint: false },
|
|
1146
1152
|
inputSchema: z.object({
|
|
1147
1153
|
spreadsheetId: z.string().describe('Spreadsheet ID'),
|
|
1148
1154
|
billingProject: z.string().describe('Billing-enabled BigQuery project charged for this source\'s queries'),
|
|
@@ -1223,6 +1229,7 @@ export function registerExtraSheetsTools(server: McpServer): void {
|
|
|
1223
1229
|
'Re-run a Connected Sheets data source so its sheet and extracts pick up current BigQuery data. Google refuses to ' +
|
|
1224
1230
|
'refresh a source whose previous execution FAILED; forceRefresh overrides that, which is what you want after fixing ' +
|
|
1225
1231
|
'the underlying query or permissions.' + bigQueryChargeNote + bigQueryScopeNote,
|
|
1232
|
+
annotations: { destructiveHint: true },
|
|
1226
1233
|
inputSchema: z.object({
|
|
1227
1234
|
spreadsheetId: z.string().describe('Spreadsheet ID'),
|
|
1228
1235
|
dataSourceId: z.string().describe('Data source ID, as reported by gog_sheets_datasource_list'),
|