io.github.chrischall/gogcli-mcp-sheets
NPM · GOGCLI-MCP-SHEETS · SCANNED SEP 20
Extended Google Sheets for Claude via gogcli — auth + full Sheets support
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 0 of 4 dependencies flagged as unhealthy. View diagnostics → Pass
Provenance & Transparency97
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to chrischall/gogcli-mcp). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 0 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability72
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 13266 tokens (~176/item across 75 items; 75 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management93
- Stability observed for 28 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 10 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 75 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
How do I install the io.github.chrischall/gogcli-mcp-sheets server?
io.github.chrischall/gogcli-mcp-sheets runs locally as an npm package, launched with npx -y gogcli-mcp-sheets. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · gogcli-mcp-sheets
claude mcp add chrischall-gogcli-mcp-sheets -- npx -y gogcli-mcp-sheets
{
"mcpServers": {
"chrischall-gogcli-mcp-sheets": {
"command": "npx",
"args": [
"-y",
"gogcli-mcp-sheets"
]
}
}
} {
"servers": {
"chrischall-gogcli-mcp-sheets": {
"command": "npx",
"args": [
"-y",
"gogcli-mcp-sheets"
]
}
}
} codex mcp add chrischall-gogcli-mcp-sheets -- npx -y gogcli-mcp-sheets
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"chrischall-gogcli-mcp-sheets": {
"type": "local",
"command": [
"npx",
"-y",
"gogcli-mcp-sheets"
],
"enabled": true
}
}
} openclaw mcp add chrischall-gogcli-mcp-sheets --command npx --arg -y --arg gogcli-mcp-sheets
mcp_servers:
chrischall-gogcli-mcp-sheets:
command: "npx"
args: ["-y", "gogcli-mcp-sheets"] {
"McpServers": {
"chrischall-gogcli-mcp-sheets": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"gogcli-mcp-sheets"
]
}
}
} assistant mcp add chrischall-gogcli-mcp-sheets -t stdio -c npx -a -y gogcli-mcp-sheets
{
"mcpServers": {
"chrischall-gogcli-mcp-sheets": {
"command": "npx",
"args": [
"-y",
"gogcli-mcp-sheets"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Sept 26 0
- MCP protocol: Implements a current MCP spec version (2026-07-28). functional
- Package version: 4.0.1 → 4.1.0 functional
- 19 Sept 26 +15
- Malware scan: unverified → pass ▲ security
- 18 Sept 26 −14
- Malware scan: pass → unverified ▼ security
- Package version: 3.0.0 → 4.0.1 functional
- 17 Sept 26 +1
- Stability: 0.80 → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Dependency health: 0.85 → 1.00 ▲ functional
- Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. functional
- Package version: 2.30.0 → 3.0.0 functional
- 16 Sept 26 −3
- Stability: pass → 0.80 functional
- 15 Sept 26 +15
- Malware scan: unverified → pass ▲ security
- 14 Sept 26 −14
- Malware scan: pass → unverified ▼ security
- Stability: 0.97 → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Stability: 0.97 → pass security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. functional
- Package version: 2.29.1 → 2.30.0 functional
- 13 Sept 26 −1
- Stability: pass → 0.97 functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed npm/gogcli-mcp-sheets@4.1.0
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | chrischall/gogcli-mcp |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/chrischall/gogcli-mcp/.github/workflows/release-please.yml@refs/heads/main |
| Rekor log index | 2893922307 |
| Predicate type | https://slsa.dev/provenance/v1 |
| Subject digest | sha512:30fd1352d8b0408e96ebb528eab107ac5dac0d1a38222d2e04823c52a934a3d8b5297d57d7603a5dc4c2a1807612328bd292db6743c61aed9c81edcf0 |
Background: How many MCP packages publish verified provenance →
Dependencies 4 packages
| Packages resolved | 4 |
|---|---|
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
gog_auth_add ~252
Authorize a Google account via browser-based OAuth. Opens a browser window where the user must sign in and grant access. Blocks for up to 5 minutes waiting for the user to complete authorization. If the browser does not open automatically, a fallback URL is included in the response. Use gog_auth_list to check which accounts are already configured.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | Google account email to authorize | |
| extraScopes | string | – | Additional raw OAuth scope URIs to request, comma-separated, on top of the ones `services` implies. Use for scopes no service covers — e.g. https://www.googleapis.com/auth/bigquery.readonly, required… |
| services | string | – | Services to authorize: "all" or comma-separated list (e.g. "sheets,gmail,calendar"). Default: "sheets". Prefer the narrowest set you need — requesting a service whose Google API is not enabled on the… |
No output schema declared.
No examples provided.
gog_auth_add_complete ~212
Complete REMOTE/headless Google authorization (step 2 of 2). Takes the full redirected localhost URL the user copied after finishing gog_auth_add_url, exchanges it for a refresh token, and stores it. Use the SAME `services` value you passed to gog_auth_add_url. Must run within 10 minutes of step 1 and against the same gogcli host.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | Google account email being authorized (same as step 1) | |
| extraScopes | string | – | Extra OAuth scope URIs — MUST match the value passed to gog_auth_add_url, for the same reason `services` must: the two steps have to describe the same grant. |
| redirectUrl | string | yes | The full localhost redirect URL the user copied from the browser address bar after signing in (contains code and state; the page itself fails to load, which is expected). |
| services | string | – | Services authorized — MUST match the value passed to gog_auth_add_url. Default: "sheets". |
No output schema declared.
No examples provided.
gog_auth_add_url ~338
Begin REMOTE/headless Google authorization (step 1 of 2). Returns a sign-in URL to open in any browser — no local server or terminal on the gogcli host is needed, so this works on a hosted deployment where the interactive gog_auth_add cannot. Hand the URL to the user; after they sign in, the browser is redirected to a localhost URL that fails to load — that is expected. They copy that full redirected URL (from the address bar) and you pass it to gog_auth_add_complete. The link is valid for 10 minutes. If you pass a custom `services` here, pass the SAME value to gog_auth_add_complete or the second step will not match this one.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | Google account email to authorize | |
| extraScopes | string | – | Additional raw OAuth scope URIs to request, comma-separated, on top of the ones `services` implies. Use for scopes no service covers — e.g. https://www.googleapis.com/auth/bigquery.readonly, required… |
| services | string | – | Services to authorize: "all" or comma-separated list (e.g. "sheets,gmail,calendar"). Default: "sheets". Prefer the narrowest set you need — requesting a service whose Google API is not enabled on the… |
No output schema declared.
No examples provided.
gog_auth_health ~198
Check the LIVE health of each stored Google account. Unlike gog_auth_status (which only reports keyring/config setup), this performs a real token refresh against Google, so it detects expired or revoked (invalid_grant) refresh tokens — the account-wide sign-out that blocks every service. Reports per account: whether the token is currently valid, the mapped cause when it is not, how long ago it was authorized, and a warning as it approaches the 7-day refresh-token limit that applies to OAuth apps whose consent screen is still in "Testing" mode. Run it proactively to re-authorize on your own schedule instead of mid-task. On a hosted deployment this is the ONLY check that measures Google: a connector showing "connected" or "refreshed" has verified the client's connection to the MCP host, and nothing else — the Google credential lives in gog's keyring on that host and can be dead while the connection looks perfectly healthy.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
gog_auth_list ~81
List the Google accounts stored in gogcli, with their scopes. This reads local configuration only — it does not contact Google and does NOT tell you whether an account still works: a signed-out account whose refresh token expired or was revoked is listed here exactly like a healthy one, scopes and all. Use gog_auth_health to check whether an account can actually authenticate.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
gog_auth_run ~108
Run any gog auth subcommand not covered by the other tools. Run `gog auth --help` for the full list of subcommands, or `gog auth <subcommand> --help` for flags on a specific subcommand. For browser-based authorization, use gog_auth_add instead.
| Name | Type | Req | Description |
|---|---|---|---|
| args | array | yes | Additional positional args and flags |
| subcommand | string | yes | The gog auth subcommand to run, e.g. "remove", "alias", "list" |
No output schema declared.
No examples provided.
gog_auth_services ~24
List all Google services supported by gogcli and the OAuth scopes each requires.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
gog_auth_status ~66
Show gogcli auth CONFIGURATION: keyring backend, credential files, and auth setup. Despite the name this is not a health check — it reads local setup and does not contact Google, so it says nothing about whether an account can still authenticate. Use gog_auth_health for that.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
gog_sheets_add_tab ~94
Add a new sheet tab to a spreadsheet.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| spreadsheetId | string | yes | Spreadsheet ID (from the URL) |
| tabName | string | yes | Name for the new tab |
No output schema declared.
No examples provided.
gog_sheets_append ~198
Append rows to a Google Sheet after the last row with data in the given range. Values may be strings, numbers, booleans, or null. Strings starting with "=" are interpreted as formulas.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| dry_run | boolean | – | Preview the operation without modifying the sheet (gog --dry-run): reports the intended actions and exits without writing. |
| range | string | yes | Range indicating which sheet/columns to append to, e.g. Sheet1!A:C |
| spreadsheetId | string | yes | Spreadsheet ID (from the URL) |
| values | array | yes | 2D array of rows to append. Cells may be string/number/boolean/null; strings starting with "=" are formulas. |
No output schema declared.
No examples provided.
gog_sheets_banding_clear ~143
Remove alternating-color banding. Pass id to remove a single banded range, or all:true with sheet to remove every banding on that sheet.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| all | boolean | – | Remove all banding from the sheet (requires sheet) |
| id | number | – | Banded range ID to remove |
| sheet | string | – | Sheet name (used with all:true) |
| spreadsheetId | string | yes | Spreadsheet ID |
No output schema declared.
No examples provided.
gog_sheets_banding_list ~98
List alternating-color banded ranges. Optionally scope to a single sheet.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| sheet | string | – | Only list banding from this sheet |
| spreadsheetId | string | yes | Spreadsheet ID |
No output schema declared.
No examples provided.
gog_sheets_banding_set ~169
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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| columnPropertiesJson | string | – | BandingProperties JSON for column colors |
| range | string | yes | Range to band (e.g. Sheet1!A1:D20) |
| rowPropertiesJson | string | – | BandingProperties JSON for row colors |
| spreadsheetId | string | yes | Spreadsheet ID |
No output schema declared.
No examples provided.
gog_sheets_batch_update ~271
Update values in multiple ranges with one Sheets API request. dataJson is a JSON array of {range, values} objects — pass it inline as a literal JSON string. Atomic — either all ranges update or none do. (The CLI also accepts "@/path/to/file.json", but that file is read on the gog server's filesystem, not the caller's, so inline JSON is the right form for remote MCP callers.)
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| dataJson | string | yes | Value ranges as an inline JSON array, e.g. [{"range":"Sheet1!A1:B2","values":[["a","b"]]}]. (An "@/path" form is read on the gog server filesystem, not yours — inline the JSON instead.) |
| includeValuesInResponse | boolean | – | Include updated values in the response |
| input | string | – | Value input option (default: USER_ENTERED) |
| responseDateTimeRender | string | – | Response date/time render option |
| responseRender | string | – | Response value render option |
| spreadsheetId | string | yes | Spreadsheet ID |
No output schema declared.
No examples provided.
gog_sheets_chart_create ~213
Create an embedded chart from a JSON spec. specJson is a Sheets API ChartSpec (or full EmbeddedChart) — inline or @/path/to/file.json. Anchor the chart with sheet + anchor (A1 cell), and optionally size it with width/height pixels.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| anchor | string | – | Anchor cell in A1 notation (e.g. A1, E10) |
| height | number | – | Chart height in pixels (default: 371) |
| sheet | string | – | Sheet name for the anchor (resolved to sheetId) |
| specJson | string | yes | ChartSpec or EmbeddedChart JSON (inline or @file) |
| spreadsheetId | string | yes | Spreadsheet ID |
| width | number | – | Chart width in pixels (default: 600) |
No output schema declared.
No examples provided.
gog_sheets_chart_delete ~90
Delete a chart by its numeric chart ID.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| chartId | string | yes | Numeric chart ID to delete |
| spreadsheetId | string | yes | Spreadsheet ID |
No output schema declared.
No examples provided.
gog_sheets_chart_get ~105
Get the full definition (spec + position) of a single chart by its numeric chart ID.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| chartId | string | yes | Numeric chart ID (from gog_sheets_chart_list) |
| spreadsheetId | string | yes | Spreadsheet ID |
No output schema declared.
No examples provided.
gog_sheets_chart_list ~82
List embedded charts in a spreadsheet (chartId, type, position).
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| spreadsheetId | string | yes | Spreadsheet ID |
No output schema declared.
No examples provided.
gog_sheets_chart_update ~132
Replace a chart spec by chart ID. specJson is a Sheets API ChartSpec (or full EmbeddedChart) — inline or @/path/to/file.json.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| chartId | string | yes | Numeric chart ID to update |
| specJson | string | yes | ChartSpec or EmbeddedChart JSON (inline or @file) |
| spreadsheetId | string | yes | Spreadsheet ID |
No output schema declared.
No examples provided.
gog_sheets_clear ~125
Clear all values in a Google Sheets range (formatting is preserved).
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| dry_run | boolean | – | Preview the operation without modifying the sheet (gog --dry-run): reports the intended actions and exits without writing. |
| range | string | yes | Range in A1 notation to clear |
| spreadsheetId | string | yes | Spreadsheet ID |
No output schema declared.
No examples provided.
gog_sheets_conditional_format_add ~342
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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| expr | string | – | Expression value or custom formula (omit for blank/not-blank) |
| formatFields | string | – | Format field mask for force-sending zero/false fields (e.g. backgroundColor,textFormat.bold) |
| formatJson | string | – | CellFormat JSON to apply when a boolean rule matches (inline or @file; required with type) |
| gradientRuleJson | string | – | GradientRule JSON for gradient conditional formats (inline or @file; must include minpoint and maxpoint) |
| range | string | yes | Range the rule applies to (e.g. Sheet1!A1:A100) |
| spreadsheetId | string | yes | Spreadsheet ID |
| type | string | – | Boolean rule type (required unless gradientRuleJson is used) |
No output schema declared.
No examples provided.
gog_sheets_conditional_format_clear ~145
Remove conditional formatting rules from a sheet. Pass index to remove a single rule by its 0-based index, or all:true to remove every rule on the sheet.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| all | boolean | – | Remove all conditional formatting rules from the sheet |
| index | number | – | 0-based rule index to remove |
| sheet | string | yes | Sheet name to clear rules from |
| spreadsheetId | string | yes | Spreadsheet ID |
No output schema declared.
No examples provided.
gog_sheets_conditional_format_list ~96
List conditional formatting rules. Optionally scope to a single sheet.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| sheet | string | – | Only list rules from this sheet |
| spreadsheetId | string | yes | Spreadsheet ID |
No output schema declared.
No examples provided.
gog_sheets_copy ~108
Copy a spreadsheet to a new spreadsheet with the given title.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| parent | string | – | Parent folder ID to place the copy in |
| spreadsheetId | string | yes | Spreadsheet ID to copy |
| title | string | yes | Title for the new copy |
No output schema declared.
No examples provided.
gog_sheets_copy_paste ~235
Copy a source range's values/formulas/format to a destination range via the Sheets CopyPasteRequest. A destination larger than the source tiles the source to fill it — the canonical way to fill formulas down or across with relative references adjusted (aliases: fill, copy-range). Use type to control what is pasted (NORMAL pastes everything; FORMULA fills formulas with adjusted references; VALUES/FORMAT/etc. paste only that aspect).
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| dest | string | yes | Destination range (e.g. Sheet1!A2:H120). Larger than the source tiles/fills it. |
| source | string | yes | Source range (e.g. Sheet1!A2:H71) |
| spreadsheetId | string | yes | Spreadsheet ID |
| transpose | boolean | – | Paste transposed (swap rows and columns) |
| type | string | – | Paste type (default: NORMAL pastes everything) |
No output schema declared.
No examples provided.
gog_sheets_create ~85
Create a new Google Spreadsheet. Returns JSON with the new spreadsheetId and URL.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| title | string | yes | Title for the new spreadsheet |
No output schema declared.
No examples provided.
gog_sheets_datasource_add ~457
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) — 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. COSTS MONEY AND RUNS ASYNCHRONOUSLY: this starts a BigQuery execution billed to the billing project, and returns once the execution has been REQUESTED — not once it has finished. Poll gog_sheets_datasource_describe until its dataExecutionStatus state is SUCCEEDED or FAILED before treating the data as current. BIGQUERY-BACKED SOURCES NEED AN EXTRA SCOPE: ordinary sheets authorization does not request https://www.googleapis.com/auth/bigquery.readonly, and Google refuses the whole response without it. A permission error here means the token is missing that scope, NOT that the spreadsheet has no data sources — re-authorize with gog_auth_add_url/gog_auth_add_complete (or gog_auth_add), keeping the account's EXISTING services selection and passing extraScopes=https://www.googleapis.com/auth/bigquery.readonly with forceConsent. Looker sources reuse the account's existing Looker link and need nothing extra.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| billingProject | string | yes | Billing-enabled BigQuery project charged for this source's queries |
| dataset | string | – | BigQuery dataset ID of an existing table. Requires table; mutually exclusive with query. |
| query | string | – | BigQuery SQL to run. Mutually exclusive with dataset/table/tableProject. |
| spreadsheetId | string | yes | Spreadsheet ID |
| table | string | – | BigQuery table ID. Requires dataset; mutually exclusive with query. |
| tableProject | string | – | BigQuery project that owns the table (default: the billing project). Only valid with dataset/table. |
No output schema declared.
No examples provided.
gog_sheets_datasource_delete ~298
Delete a Connected Sheets data source. This is WIDER than it sounds: it also deletes the source's linked DATA_SOURCE sheet, and unlinks every extract, chart and pivot table built on it elsewhere in the spreadsheet — objects on other tabs that the caller never named. Take gog_sheets_snapshot first if any of that matters. The BigQuery data itself is untouched; only the spreadsheet's connection to it goes away. BIGQUERY-BACKED SOURCES NEED AN EXTRA SCOPE: ordinary sheets authorization does not request https://www.googleapis.com/auth/bigquery.readonly, and Google refuses the whole response without it. A permission error here means the token is missing that scope, NOT that the spreadsheet has no data sources — re-authorize with gog_auth_add_url/gog_auth_add_complete (or gog_auth_add), keeping the account's EXISTING services selection and passing extraScopes=https://www.googleapis.com/auth/bigquery.readonly with forceConsent. Looker sources reuse the account's existing Looker link and need nothing extra.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| dataSourceId | string | yes | Data source ID, as reported by gog_sheets_datasource_list |
| spreadsheetId | string | yes | Spreadsheet ID |
No output schema declared.
No examples provided.
gog_sheets_datasource_describe ~293
Describe one Connected Sheets data source in full: the complete API DataSource spec (including the BigQuery raw query, which gog_sheets_datasource_list withholds), its sheet properties, its DataExecutionStatus and any refresh schedules. Refreshes are asynchronous and this tool cannot start one — poll it until state is SUCCEEDED or FAILED, and read the status error text when it is FAILED. BIGQUERY-BACKED SOURCES NEED AN EXTRA SCOPE: ordinary sheets authorization does not request https://www.googleapis.com/auth/bigquery.readonly, and Google refuses the whole response without it. A permission error here means the token is missing that scope, NOT that the spreadsheet has no data sources — re-authorize with gog_auth_add_url/gog_auth_add_complete (or gog_auth_add), keeping the account's EXISTING services selection and passing extraScopes=https://www.googleapis.com/auth/bigquery.readonly with forceConsent. Looker sources reuse the account's existing Looker link and need nothing extra.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| dataSourceId | string | yes | Data source ID, as reported by gog_sheets_datasource_list |
| spreadsheetId | string | yes | Spreadsheet ID |
No output schema declared.
No examples provided.
gog_sheets_datasource_list ~259
List the Connected Sheets data sources in a spreadsheet (BigQuery or Looker), each joined with its DATA_SOURCE sheet and current execution status. This is the discovery call — start here to get the dataSourceId the describe tool wants. Deliberately does not print custom SQL; use gog_sheets_datasource_describe for that. BIGQUERY-BACKED SOURCES NEED AN EXTRA SCOPE: ordinary sheets authorization does not request https://www.googleapis.com/auth/bigquery.readonly, and Google refuses the whole response without it. A permission error here means the token is missing that scope, NOT that the spreadsheet has no data sources — re-authorize with gog_auth_add_url/gog_auth_add_complete (or gog_auth_add), keeping the account's EXISTING services selection and passing extraScopes=https://www.googleapis.com/auth/bigquery.readonly with forceConsent. Looker sources reuse the account's existing Looker link and need nothing extra.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| spreadsheetId | string | yes | Spreadsheet ID |
No output schema declared.
No examples provided.
gog_sheets_datasource_refresh ~344
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. COSTS MONEY AND RUNS ASYNCHRONOUSLY: this starts a BigQuery execution billed to the billing project, and returns once the execution has been REQUESTED — not once it has finished. Poll gog_sheets_datasource_describe until its dataExecutionStatus state is SUCCEEDED or FAILED before treating the data as current. BIGQUERY-BACKED SOURCES NEED AN EXTRA SCOPE: ordinary sheets authorization does not request https://www.googleapis.com/auth/bigquery.readonly, and Google refuses the whole response without it. A permission error here means the token is missing that scope, NOT that the spreadsheet has no data sources — re-authorize with gog_auth_add_url/gog_auth_add_complete (or gog_auth_add), keeping the account's EXISTING services selection and passing extraScopes=https://www.googleapis.com/auth/bigquery.readonly with forceConsent. Looker sources reuse the account's existing Looker link and need nothing extra.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| dataSourceId | string | yes | Data source ID, as reported by gog_sheets_datasource_list |
| forceRefresh | boolean | – | Refresh even when the previous execution failed |
| spreadsheetId | string | yes | Spreadsheet ID |
No output schema declared.
No examples provided.
gog_sheets_datasource_table_describe ~301
Describe the data-source table (extract) anchored at an A1 cell: its source, configured columns, sort/filter spec and row limit. Read this before gog_sheets_datasource_table_read when you need to know what the columns MEAN — the read returns values, not the extract's definition. BIGQUERY-BACKED SOURCES NEED AN EXTRA SCOPE: ordinary sheets authorization does not request https://www.googleapis.com/auth/bigquery.readonly, and Google refuses the whole response without it. A permission error here means the token is missing that scope, NOT that the spreadsheet has no data sources — re-authorize with gog_auth_add_url/gog_auth_add_complete (or gog_auth_add), keeping the account's EXISTING services selection and passing extraScopes=https://www.googleapis.com/auth/bigquery.readonly with forceConsent. Looker sources reuse the account's existing Looker link and need nothing extra.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| anchor | string | yes | Sheet-qualified A1 anchor of the extract's top-left cell, e.g. "Extracts!B3". Get it from gog_sheets_datasource_table_list — an extract has no other identifier. |
| spreadsheetId | string | yes | Spreadsheet ID |
No output schema declared.
No examples provided.
gog_sheets_datasource_table_list ~302
List the data-source tables — "extracts" in the Sheets editor — anchored in a spreadsheet. A data-source table has NO id of its own in the Sheets API: its definition lives on its top-left cell, so every extract is identified by a sheet-qualified A1 anchor (e.g. "Extracts!B3"). That anchor is what the describe and read tools take. Filter with dataSourceId to see only one source's extracts. BIGQUERY-BACKED SOURCES NEED AN EXTRA SCOPE: ordinary sheets authorization does not request https://www.googleapis.com/auth/bigquery.readonly, and Google refuses the whole response without it. A permission error here means the token is missing that scope, NOT that the spreadsheet has no data sources — re-authorize with gog_auth_add_url/gog_auth_add_complete (or gog_auth_add), keeping the account's EXISTING services selection and passing extraScopes=https://www.googleapis.com/auth/bigquery.readonly with forceConsent. Looker sources reuse the account's existing Looker link and need nothing extra.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| dataSourceId | string | – | Only list tables belonging to this data source ID |
| spreadsheetId | string | yes | Spreadsheet ID |
No output schema declared.
No examples provided.
gog_sheets_datasource_table_read ~415
Read the values out of the data-source table (extract) anchored at an A1 cell. Bounded on purpose: at most maxRows data rows (gog default 1000) plus the header row, which is returned separately. The JSON reports "truncated": true when the configured extract can hold more rows than were returned — treat that exactly like a truncated search, i.e. do not conclude a value is absent from it; raise maxRows or narrow the extract instead. Use render=UNFORMATTED_VALUE for arithmetic (FORMATTED_VALUE returns display strings) or render=FORMULA to see the cell formulas. BIGQUERY-BACKED SOURCES NEED AN EXTRA SCOPE: ordinary sheets authorization does not request https://www.googleapis.com/auth/bigquery.readonly, and Google refuses the whole response without it. A permission error here means the token is missing that scope, NOT that the spreadsheet has no data sources — re-authorize with gog_auth_add_url/gog_auth_add_complete (or gog_auth_add), keeping the account's EXISTING services selection and passing extraScopes=https://www.googleapis.com/auth/bigquery.readonly with forceConsent. Looker sources reuse the account's existing Looker link and need nothing extra.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| anchor | string | yes | Sheet-qualified A1 anchor of the extract's top-left cell, e.g. "Extracts!B3" (from gog_sheets_datasource_table_list) |
| maxRows | integer | – | Maximum data rows to read (gog default: 1000). The header row is returned separately and does not count against this. |
| render | string | – | How cell values are rendered (gog default: FORMATTED_VALUE) |
| spreadsheetId | string | yes | Spreadsheet ID |
No output schema declared.
No examples provided.
gog_sheets_datasource_update ~482
Repoint an existing BigQuery Connected Sheets data source: new SQL for a query-backed source, a new dataset/table for a table-backed one, or a new billing project for either. Only the fields you pass are changed. You cannot convert a source between the two kinds — gog refuses SQL on a table source and table fields on a query source — so read gog_sheets_datasource_describe first if you are unsure which kind it is. Replacing the SQL DISCARDS the source's current results. COSTS MONEY AND RUNS ASYNCHRONOUSLY: this starts a BigQuery execution billed to the billing project, and returns once the execution has been REQUESTED — not once it has finished. Poll gog_sheets_datasource_describe until its dataExecutionStatus state is SUCCEEDED or FAILED before treating the data as current. BIGQUERY-BACKED SOURCES NEED AN EXTRA SCOPE: ordinary sheets authorization does not request https://www.googleapis.com/auth/bigquery.readonly, and Google refuses the whole response without it. A permission error here means the token is missing that scope, NOT that the spreadsheet has no data sources — re-authorize with gog_auth_add_url/gog_auth_add_complete (or gog_auth_add), keeping the account's EXISTING services selection and passing extraScopes=https://www.googleapis.com/auth/bigquery.readonly with forceConsent. Looker sources reuse the account's existing Looker link and need nothing extra.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| billingProject | string | – | New billing-enabled BigQuery project to charge executions to |
| dataSourceId | string | yes | Data source ID, as reported by gog_sheets_datasource_list |
| dataset | string | – | Replacement dataset ID. Only valid on a table-backed source. |
| query | string | – | Replacement SQL. Only valid on a query-backed source; mutually exclusive with the table fields. |
| spreadsheetId | string | yes | Spreadsheet ID |
| table | string | – | Replacement table ID. Only valid on a table-backed source. |
| tableProject | string | – | Replacement project owning the table. Only valid on a table-backed source. |
No output schema declared.
No examples provided.
gog_sheets_delete_dimension ~228
Delete a span of rows or columns, table-aware: intersecting table objects are preserved (shrunk) along with their remaining data, instead of being corrupted as with a raw DeleteDimension batch update. Target by A1 range (e.g. Sheet1!5:7 or Sheet1!C:D) or by sheet name plus start/end.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| dimension | string | yes | Dimension to delete |
| end | integer | – | Last row/column to delete (1-based, inclusive; required with a sheet-name target) |
| rangeOrSheet | string | yes | A1 range covering the rows/columns to delete, or a sheet name (then start/end are required) |
| spreadsheetId | string | yes | Spreadsheet ID |
| start | integer | – | First row/column to delete (1-based, inclusive; required with a sheet-name target) |
No output schema declared.
No examples provided.
gog_sheets_delete_tab ~90
Delete a sheet tab from a spreadsheet.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| spreadsheetId | string | yes | Spreadsheet ID |
| tabName | string | yes | Name of the tab to delete |
No output schema declared.
No examples provided.
gog_sheets_export ~129
Export a spreadsheet as CSV, TSV, or PDF.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| format | string | – | Export format: csv, tsv, pdf (default: csv) |
| out | string | – | Output file path |
| overwrite | boolean | – | Overwrite the output file if it already exists (gog refuses otherwise) |
| spreadsheetId | string | yes | Spreadsheet ID |
No output schema declared.
No examples provided.
gog_sheets_filter_set ~172
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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| range | string | yes | Range to filter (A1 notation with sheet name, e.g. Sheet1!A1:C100, or a named range name) |
| replace | boolean | – | Replace the sheet's existing basic filter if one is set (appends --force) |
| spreadsheetId | string | yes | Spreadsheet ID |
No output schema declared.
No examples provided.
gog_sheets_find_replace ~97
Find and replace text across an entire Google Spreadsheet.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| find | string | yes | Text to find |
| replace | string | yes | Replacement text |
| spreadsheetId | string | yes | Spreadsheet ID |
No output schema declared.
No examples provided.
gog_sheets_format ~353
Apply cell formatting to a range. The named flags (bold, italic, backgroundColor, etc.) compose into a Sheets API CellFormat — use them for the 90% case. For full API control, pass formatJson + formatFields (Sheets CellFormat + field mask) directly.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| backgroundColor | string | – | Cell background color as #RRGGBB or #RGB |
| bold | boolean | – | Set bold |
| fontFamily | string | – | Font family (e.g. Arial) |
| fontSize | number | – | Font size in points |
| formatFields | string | – | Comma-separated field mask (e.g. textFormat.bold,backgroundColor). Required when using formatJson; auto-computed when using named flags. |
| formatJson | string | – | Escape hatch: raw CellFormat JSON. When provided, named flags above are ignored and formatJson is sent as-is. |
| horizontalAlignment | string | – | Horizontal alignment |
| italic | boolean | – | Set italic |
| range | string | yes | Range to format (e.g. Sheet1!A1:C3) |
| spreadsheetId | string | yes | Spreadsheet ID |
| strikethrough | boolean | – | Set strikethrough |
| textColor | string | – | Text color as #RRGGBB or #RGB |
| underline | boolean | – | Set underline |
| verticalAlignment | string | – | Vertical alignment |
| wrapStrategy | string | – | Text wrap strategy |
No output schema declared.
No examples provided.
gog_sheets_freeze ~116
Freeze rows and/or columns in a sheet.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| cols | number | – | Number of columns to freeze |
| rows | number | – | Number of rows to freeze |
| sheet | string | – | Sheet tab name (default: first sheet) |
| spreadsheetId | string | yes | Spreadsheet ID |
No output schema declared.
No examples provided.
gog_sheets_get ~119
Read values from a Google Sheets range. Returns a JSON object with a "values" array of rows.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| range | string | yes | Range in A1 notation, e.g. Sheet1!A1:B10 or a named range |
| spreadsheetId | string | yes | Spreadsheet ID (from the URL) |
No output schema declared.
No examples provided.
gog_sheets_insert ~261
Insert rows or columns into a sheet. With after:false (default), the new dimension lands at start. With after:true, the new dimension lands at start+1 (the existing dimension at start is preserved).
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| after | boolean | – | Insert after the start index instead of before. With after:true the new dimension lands at start+1, leaving the existing dimension at start untouched. |
| count | number | – | Number of rows/columns to insert (default: 1) |
| dimension | string | yes | Dimension to insert: ROWS or COLUMNS |
| inheritFromBefore | boolean | – | Inherit number format / styling from the row/column before the insertion. Defaults to true with after:true, false otherwise; pass false to inherit from the row/column after the insertion instead. Can… |
| sheet | string | yes | Sheet tab name |
| spreadsheetId | string | yes | Spreadsheet ID |
| start | number | yes | Start index (0-based) |
No output schema declared.
No examples provided.
gog_sheets_links ~97
List hyperlinks in a range.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| range | string | yes | Range to scan for hyperlinks (e.g. Sheet1!A1:Z100) |
| spreadsheetId | string | yes | Spreadsheet ID |
No output schema declared.
No examples provided.
gog_sheets_links_set ~371
Set cell hyperlinks in a Google Sheet. Three modes: (1) single link — pass cell + url (+ optional text); (2) multi-link cell — pass cell + runsJson, a JSON array of rich-text runs (a run with an empty uri is plain text); (3) batch — pass cellsJson, a JSON array of {cell,url,text} or {cell,runs:[...]} objects written in one request.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| cell | string | – | Target cell in A1 notation (e.g. Sheet1!B2). Used by single-link and runsJson modes; omit for batch (cellsJson). |
| cellsJson | string | – | Batch: JSON array of {cell,url,text} or {cell,runs:[{text,uri}]} objects, written in one request. Inline JSON or @file (a path gog reads itself — cheaper than inlining a large batch). gog also accept… |
| runsJson | string | – | Multi-link cell: JSON array of runs, e.g. [{"text":"Act A","uri":"https://a"},{"text":" / "},{"text":"Act B","uri":"https://b"}]. A run with an empty uri is plain text. |
| spreadsheetId | string | yes | Spreadsheet ID |
| text | string | – | Display text for single-link mode (defaults to the URL when omitted) |
| url | string | – | Hyperlink URL for single-link mode |
No output schema declared.
No examples provided.
gog_sheets_list_tabs ~124
List tabs (sheets) in a spreadsheet with their titles, sheetIds, and indices. A friendlier view than gog_sheets_metadata when you only need the tab list — useful for restructuring a workbook over a long agent session without losing track of names.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| spreadsheetId | string | yes | Spreadsheet ID (from the URL) |
No output schema declared.
No examples provided.
gog_sheets_merge ~115
Merge cells in a range.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| range | string | yes | Range to merge (e.g. Sheet1!A1:C3) |
| spreadsheetId | string | yes | Spreadsheet ID |
| type | string | – | Merge type: MERGE_ALL, MERGE_COLUMNS, MERGE_ROWS |
No output schema declared.
No examples provided.
gog_sheets_metadata ~111
Get spreadsheet metadata: title, named ranges, and per-tab properties including grid dimensions (gridProperties.rowCount / columnCount). Use this to learn a sheet's current size before writing — a write outside the grid fails.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| spreadsheetId | string | yes | Spreadsheet ID |
No output schema declared.
No examples provided.
gog_sheets_named_ranges_add ~106
Create a new named range.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | – | Google account email to use, e.g. you@gmail.com — must be the full address, not a bare username. Overrides the GOG_ACCOUNT env var. Omit to use the single configured account. |
| name | string | yes | Name for the range |
| range | string | yes | Cell range (e.g. Sheet1!A1:B10) |
| spreadsheetId | string | yes | Spreadsheet ID |
No output schema declared.
No examples provided.
What is the io.github.chrischall/gogcli-mcp-sheets server?
io.github.chrischall/gogcli-mcp-sheets is listed in the public MCP registry as io.github.chrischall/gogcli-mcp-sheets. Extended Google Sheets for Claude via gogcli, auth + full Sheets support. This page covers its npm package (gogcli-mcp-sheets).
Is the io.github.chrischall/gogcli-mcp-sheets server safe to use?
io.github.chrischall/gogcli-mcp-sheets scores 93 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.chrischall/gogcli-mcp-sheets server expose?
io.github.chrischall/gogcli-mcp-sheets exposes 75 tools: gog_auth_list, gog_auth_status, gog_auth_health, gog_auth_services, gog_auth_add, and 70 more. Their descriptions and schemas cost roughly 13,266 tokens of context every time the server is loaded.
Is the io.github.chrischall/gogcli-mcp-sheets server still maintained?
io.github.chrischall/gogcli-mcp-sheets is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the io.github.chrischall/gogcli-mcp-sheets server under?
io.github.chrischall/gogcli-mcp-sheets declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.