io.github.chrischall/gogcli-mcp-slides
NPM · GOGCLI-MCP-SLIDES · SCANNED SEP 20
Google Slides via gogcli for Claude — deck and slide authoring
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 Usability71
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 8592 tokens (~156/item across 55 items; 55 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 Management97
- Stability observed for 29 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 5 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 55 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-slides server?
io.github.chrischall/gogcli-mcp-slides runs locally as an npm package, launched with npx -y gogcli-mcp-slides. 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-slides
claude mcp add chrischall-gogcli-mcp-slides -- npx -y gogcli-mcp-slides
{
"mcpServers": {
"chrischall-gogcli-mcp-slides": {
"command": "npx",
"args": [
"-y",
"gogcli-mcp-slides"
]
}
}
} {
"servers": {
"chrischall-gogcli-mcp-slides": {
"command": "npx",
"args": [
"-y",
"gogcli-mcp-slides"
]
}
}
} codex mcp add chrischall-gogcli-mcp-slides -- npx -y gogcli-mcp-slides
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"chrischall-gogcli-mcp-slides": {
"type": "local",
"command": [
"npx",
"-y",
"gogcli-mcp-slides"
],
"enabled": true
}
}
} openclaw mcp add chrischall-gogcli-mcp-slides --command npx --arg -y --arg gogcli-mcp-slides
mcp_servers:
chrischall-gogcli-mcp-slides:
command: "npx"
args: ["-y", "gogcli-mcp-slides"] {
"McpServers": {
"chrischall-gogcli-mcp-slides": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"gogcli-mcp-slides"
]
}
}
} assistant mcp add chrischall-gogcli-mcp-slides -t stdio -c npx -a -y gogcli-mcp-slides
{
"mcpServers": {
"chrischall-gogcli-mcp-slides": {
"command": "npx",
"args": [
"-y",
"gogcli-mcp-slides"
]
}
}
} 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 +1
- 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.83 → 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.83 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-slides@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 | 2893922330 |
| Predicate type | https://slsa.dev/provenance/v1 |
| Subject digest | sha512:358c5d9651f60847f6fc91c963563a398ec5acff28005bc818f08f21fe8a0454106fa0336fca834a21b65d27881b2d17bf0df8db2c2af81150175f9a0 |
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 ~251
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: "slides". 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 ~211
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: "slides". |
No output schema declared.
No examples provided.
gog_auth_add_url ~337
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: "slides". 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_slides_add_slide ~141
Add a new slide to a presentation from a local image, with optional speaker notes.
| 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. |
| before | string | – | Insert before this slide ID (default: append at end) |
| image | string | yes | Path to the local image file |
| notes | string | – | Speaker notes text |
| notesFile | string | – | Path to a file containing speaker notes |
| presentationId | string | yes | Presentation ID |
No output schema declared.
No examples provided.
gog_slides_bullets ~188
Turn paragraph bullets on or off for a UTF-16 paragraph range in one page element. Use on (optionally with a preset glyph) or off.
| 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. |
| objectId | string | yes | Object ID of the shape or table cell containing the paragraphs |
| off | boolean | – | Turn bullets off for the selected paragraphs |
| on | boolean | – | Turn bullets on for the selected paragraphs |
| presentationId | string | yes | Presentation ID |
| preset | string | – | Slides bullet glyph preset to use with on (e.g. BULLET_DISC_CIRCLE_SQUARE) |
| range | string | yes | UTF-16 paragraph range as start:end |
No output schema declared.
No examples provided.
gog_slides_copy ~105
Copy a Google Slides presentation to a new presentation 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 | – | Destination folder ID |
| presentationId | string | yes | Presentation ID to copy |
| title | string | yes | Title for the new copy |
No output schema declared.
No examples provided.
gog_slides_create ~106
Create a new Google Slides presentation, optionally in a folder or copying from a template.
| 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 | – | Destination folder ID |
| template | string | – | Template presentation ID to copy from |
| title | string | yes | Presentation title |
No output schema declared.
No examples provided.
gog_slides_create_from_markdown ~128
Create a new Google Slides presentation from markdown content (inline or from a file).
| 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. |
| content | string | – | Inline markdown content |
| contentFile | string | – | Path to a markdown file |
| debug | boolean | – | Enable debug output |
| parent | string | – | Destination folder ID |
| title | string | yes | Presentation title |
No output schema declared.
No examples provided.
gog_slides_create_from_template ~156
Create a new Google Slides presentation from a template, with optional placeholder replacements.
| 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. |
| exact | boolean | – | Require exact placeholder matches |
| parent | string | – | Destination folder ID |
| replacements | object | – | Placeholder replacements as a key/value object (emitted as --replace=k=v for each entry) |
| replacementsFile | string | – | Path to a JSON file containing replacements |
| templateId | string | yes | Template presentation ID |
| title | string | yes | New presentation title |
No output schema declared.
No examples provided.
gog_slides_delete_slide ~89
Delete a slide from a Google Slides presentation.
| 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. |
| presentationId | string | yes | Presentation ID |
| slideId | string | yes | Slide ID to delete |
No output schema declared.
No examples provided.
gog_slides_duplicate_slide ~115
Duplicate a slide by object ID, optionally placing the copy at a zero-based insertion index.
| 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. |
| presentationId | string | yes | Presentation ID |
| slideId | string | yes | Slide object ID to duplicate |
| toIndex | integer | – | Zero-based insertion index for the duplicated slide |
No output schema declared.
No examples provided.
gog_slides_element_alt_text ~132
Set or clear a page element's accessibility title and/or description. Pass an empty string to clear a field.
| 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. |
| description | string | – | Accessibility description (empty string clears it) |
| objectId | string | yes | Object ID of the element |
| presentationId | string | yes | Presentation ID |
| title | string | – | Accessibility title (empty string clears it) |
No output schema declared.
No examples provided.
gog_slides_element_create_line ~211
Create a native line on a slide. category is the connector routing (STRAIGHT, BENT, CURVED). Start position and extent are in unit (default PT).
| 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. |
| category | string | – | Line category / routing (default: STRAIGHT) |
| height | number | – | Vertical extent |
| objectId | string | – | Optional stable object ID (5-50 chars: letters, digits, _, -, :) |
| presentationId | string | yes | Presentation ID |
| slideId | string | yes | Slide object ID to create the line on |
| unit | string | – | Geometry unit (default: PT) |
| width | number | – | Horizontal extent |
| x | number | – | Start X position |
| y | number | – | Start Y position |
No output schema declared.
No examples provided.
gog_slides_element_create_shape ~225
Create a native shape on a slide. type is a Slides shape type (e.g. RECTANGLE, TEXT_BOX, ELLIPSE, ROUND_RECTANGLE). Position/size are in unit (default PT).
| 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. |
| height | number | – | Shape height |
| objectId | string | – | Optional stable object ID (5-50 chars: letters, digits, _, -, :) |
| presentationId | string | yes | Presentation ID |
| slideId | string | yes | Slide object ID to create the shape on |
| type | string | – | Slides shape type (e.g. RECTANGLE, TEXT_BOX, ELLIPSE) |
| unit | string | – | Geometry unit (default: PT) |
| width | number | – | Shape width |
| x | number | – | Left position |
| y | number | – | Top position |
No output schema declared.
No examples provided.
gog_slides_element_delete ~91
Delete one page element by object 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. |
| objectId | string | yes | Object ID of the element to delete |
| presentationId | string | yes | Presentation ID |
No output schema declared.
No examples provided.
gog_slides_element_group ~108
Group two or more page elements into a single group.
| 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. |
| groupId | string | – | Optional stable group object ID |
| objectIds | array | yes | Two or more element object IDs to group |
| presentationId | string | yes | Presentation ID |
No output schema declared.
No examples provided.
gog_slides_element_style ~223
Style a shape fill/outline or a line. Set kind to shape or line. Colors are #RGB or #RRGGBB.
| 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. |
| fillColor | string | – | Shape fill as #RGB or #RRGGBB |
| fillTransparent | boolean | – | Remove the shape fill |
| kind | string | – | Element kind (default: shape) |
| objectId | string | yes | Object ID of the shape or line |
| outlineColor | string | – | Shape outline or line color as #RGB or #RRGGBB |
| outlineDash | string | – | Shape outline or line dash style |
| outlineTransparent | boolean | – | Remove the shape outline or make the line transparent |
| outlineWeight | number | – | Shape outline or line weight in points |
| presentationId | string | yes | Presentation ID |
No output schema declared.
No examples provided.
gog_slides_element_transform ~254
Move, resize, rotate, or shear a page element. apply-mode RELATIVE (default) composes with the existing transform; ABSOLUTE replaces it. Translation is in unit (default PT).
| 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. |
| applyMode | string | – | Compose with (RELATIVE, default) or replace (ABSOLUTE) the existing transform |
| objectId | string | yes | Object ID of the element to transform |
| presentationId | string | yes | Presentation ID |
| rotate | number | – | Clockwise rotation in degrees around the element origin |
| scaleX | number | – | X scale (omitted axis defaults to 1) |
| scaleY | number | – | Y scale (omitted axis defaults to 1) |
| shearX | number | – | X shear |
| shearY | number | – | Y shear |
| translateX | number | – | X translation |
| translateY | number | – | Y translation |
| unit | string | – | Translation unit (default: PT) |
No output schema declared.
No examples provided.
gog_slides_element_ungroup ~100
Ungroup one or more element groups back into their constituent elements.
| 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. |
| groupIds | array | yes | One or more group object IDs to ungroup |
| presentationId | string | yes | Presentation ID |
No output schema declared.
No examples provided.
gog_slides_element_z_order ~103
Change a page element's stacking order.
| 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. |
| objectId | string | yes | Object ID of the element to restack |
| operation | string | yes | Stacking operation |
| presentationId | string | yes | Presentation ID |
No output schema declared.
No examples provided.
gog_slides_export ~127
Export a Google Slides presentation to a local file (pdf or pptx).
| 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 (default: pptx) |
| out | string | – | Output file path |
| overwrite | boolean | – | Overwrite the output file if it already exists (gog refuses otherwise) |
| presentationId | string | yes | Presentation ID |
No output schema declared.
No examples provided.
gog_slides_info ~84
Get metadata for a Google Slides presentation (title, ID, slide count, etc.).
| 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. |
| presentationId | string | yes | Presentation ID |
No output schema declared.
No examples provided.
gog_slides_insert_image ~321
Place an image on an existing slide at a given size and position, from a local file (image) or a public HTTPS URL (url — no Drive upload or sharing required). Unlike gog_slides_add_slide (which creates a new full-bleed image slide), this inserts onto a slide you already have. width is required; omit height to keep aspect ratio when using a local file (gog requires both width and height when using 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. |
| height | number | – | Image height, in unit; omit to keep the image's aspect ratio (required when using url) |
| image | string | – | Path to the local image file (exactly one of image or url) |
| presentationId | string | yes | Presentation ID |
| slideId | string | yes | Slide ID (object ID of the target slide) |
| unit | string | – | Measurement unit for x/y/width/height (default: PT) |
| url | string | – | Public HTTPS image URL to insert directly — no Drive upload or sharing (exactly one of image or url). gog requires both width and height with url. |
| width | number | yes | Image width, in unit |
| x | number | – | Left position of the image, in unit |
| y | number | – | Top position of the image, in unit |
No output schema declared.
No examples provided.
gog_slides_insert_text ~212
Insert text into an existing page element (shape or table cell) by object ID. Target a table cell with zero-based row + col. Use replace=true to clear the element's existing text first.
| 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. |
| col | integer | – | 0-based table column index for cell-targeted text (requires row) |
| insertionIndex | integer | – | Zero-based index where text is inserted within the element's existing text |
| objectId | string | yes | Object ID of the target shape or table |
| presentationId | string | yes | Presentation ID |
| replace | boolean | – | Clear the element's existing text before inserting |
| row | integer | – | 0-based table row index for cell-targeted text (requires col) |
| text | string | yes | Text to insert |
No output schema declared.
No examples provided.
gog_slides_link ~160
Apply or clear a hyperlink on a UTF-16 text range in one page element. Provide url to set the link, or clear=true to remove it.
| 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. |
| clear | boolean | – | Remove the hyperlink from the selected range |
| objectId | string | yes | Object ID of the shape or table cell containing the text |
| presentationId | string | yes | Presentation ID |
| range | string | yes | UTF-16 text range as start:end |
| url | string | – | External URL to apply as the hyperlink |
No output schema declared.
No examples provided.
gog_slides_list_slides ~77
List slides in a Google Slides presentation.
| 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. |
| presentationId | string | yes | Presentation ID |
No output schema declared.
No examples provided.
gog_slides_locate ~209
Locate literal text in a presentation's shapes and table cells, returning the containing element object IDs and UTF-16 ranges needed for gog_slides_style_text / gog_slides_link / gog_slides_bullets / gog_slides_insert_text. Read-only.
| 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 | – | Return all matches instead of just one |
| failEmpty | boolean | – | Treat no matches as an error instead of returning an empty result |
| matchCase | boolean | – | Case-sensitive matching |
| occurrence | integer | – | Return the Nth occurrence (1-based; default: first) |
| page | string | – | Limit matches to one slide object ID |
| presentationId | string | yes | Presentation ID |
| text | string | yes | Literal text to locate |
No output schema declared.
No examples provided.
gog_slides_move_slide ~112
Move a slide to a zero-based insertion index within the presentation.
| 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. |
| presentationId | string | yes | Presentation ID |
| slideId | string | yes | Slide object ID to move |
| toIndex | integer | yes | Zero-based insertion index where the slide should be moved |
No output schema declared.
No examples provided.
gog_slides_new_slide ~163
Create a new native themed slide with a predefined layout (default BLANK) or an exact presentation layout object ID, at a zero-based insertion index.
| 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. |
| index | integer | – | Zero-based insertion index for the new slide |
| layout | string | – | Predefined slide layout (default: BLANK). Mutually exclusive with layoutId. |
| layoutId | string | – | Exact presentation layout object ID (from gog_slides_info --json). Mutually exclusive with layout. |
| presentationId | string | yes | Presentation ID |
No output schema declared.
No examples provided.
gog_slides_raw ~126
Dump the raw Google Slides API response (Presentations.Get) as JSON — lossless presentation metadata including every page, element, and style. Use gog_slides_read_slide for a friendlier per-slide view.
| 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. |
| presentationId | string | yes | Presentation ID |
| pretty | boolean | – | Pretty-print the JSON (default: compact single line) |
No output schema declared.
No examples provided.
gog_slides_read_slide ~145
Read the content of a slide (text, shapes, speaker notes). Set detail=true to also include normalized element geometry, styled text runs, paragraphs, table-cell content, and image source URLs.
| 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. |
| detail | boolean | – | Include normalized element geometry, styled text runs, paragraphs, table-cell content, and image source URLs |
| presentationId | string | yes | Presentation ID |
| slideId | string | yes | Slide ID to read |
No output schema declared.
No examples provided.
gog_slides_replace_slide ~191
Replace the image content of an existing slide, from a local file (image) or a public HTTPS URL (url — no Drive upload or sharing required), with optional speaker notes.
| 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. |
| image | string | – | Path to the new local image file (exactly one of image or url) |
| notes | string | – | Speaker notes text |
| notesFile | string | – | Path to a file containing speaker notes |
| presentationId | string | yes | Presentation ID |
| slideId | string | yes | Slide ID to replace |
| url | string | – | Public HTTPS image URL to use directly — no Drive upload or sharing (exactly one of image or url) |
No output schema declared.
No examples provided.
gog_slides_replace_text ~212
Find-and-replace text within an explicit scope. You MUST choose a scope — restrict to a single shape (object), one or more slides (pages), or the entire presentation (all=true). There is no whole-deck default; gog rejects the call if no scope is given.
| 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 | – | Scope: replace matching text across the entire presentation |
| find | string | yes | Text to find |
| matchCase | boolean | – | Case-sensitive match (default: false) |
| object | string | – | Scope: restrict replacement to a single shape text object ID |
| pages | array | – | Scope: restrict replacement to these slide object IDs (repeatable) |
| presentationId | string | yes | Presentation ID |
| replacement | string | yes | Replacement text |
No output schema declared.
No examples provided.
gog_slides_run ~149
Run any gog slides subcommand not covered by the other tools. Run `gog slides --help` for the full list of subcommands, or `gog slides <subcommand> --help` for flags on a specific subcommand.
| 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. |
| args | array | yes | Additional positional args and flags |
| subcommand | string | yes | The gog slides subcommand to run, e.g. "add-slide", "delete-slide", "update-notes" |
No output schema declared.
No examples provided.
gog_slides_skip_slide ~162
Skip a slide during presentation — it stays in the deck at its current position but is not shown when presenting (and is left out of a PDF export). Use this instead of gog_slides_delete_slide when a slide should be omitted from a talk without losing it. Reverse with gog_slides_unskip_slide; gog_slides_list_slides reports which slides are skipped.
| 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. |
| presentationId | string | yes | Presentation ID |
| slideId | string | yes | Slide ID to skip (from gog_slides_list_slides) |
No output schema declared.
No examples provided.
gog_slides_style_text ~249
Apply range-scoped text styling to one page element. range is a UTF-16 start:end span (use gog_slides_locate to find it). Boolean flags set the attribute; the no* flags clear it.
| 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. |
| bold | boolean | – | Set bold |
| font | string | – | Font family (e.g. Arial, Georgia) |
| italic | boolean | – | Set italic |
| noBold | boolean | – | Clear bold |
| noItalic | boolean | – | Clear italic |
| noUnderline | boolean | – | Clear underline |
| objectId | string | yes | Object ID of the shape or table cell containing the text |
| presentationId | string | yes | Presentation ID |
| range | string | yes | UTF-16 text range as start:end |
| size | number | – | Font size in points |
| textColor | string | – | Text color as #RRGGBB or #RGB |
| underline | boolean | – | Set underline |
No output schema declared.
No examples provided.
gog_slides_table_border_style ~223
Style borders around or within a zero-based table cell range. position selects which borders are affected; dash sets the line style.
| 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. |
| borderColor | string | – | Border color as #RGB or #RRGGBB |
| col | integer | yes | 0-based starting column index |
| colSpan | integer | – | Number of columns in the range |
| dash | string | – | Border dash style |
| position | string | – | Which borders to style |
| presentationId | string | yes | Presentation ID |
| row | integer | yes | 0-based starting row index |
| rowSpan | integer | – | Number of rows in the range |
| tableObjectId | string | yes | Table object ID |
| transparent | boolean | – | Make the selected borders transparent |
| weight | number | – | Border weight in points |
No output schema declared.
No examples provided.
gog_slides_table_cell_style ~324
Style one zero-based table cell: background fill, vertical content alignment, and inline text styling (optionally scoped to a UTF-16 range within the cell). Boolean flags set the attribute; the no* flags clear it.
| 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. |
| bold | boolean | – | Set bold |
| col | integer | yes | 0-based table column index |
| contentAlign | string | – | Vertical content alignment within the cell |
| fillColor | string | – | Cell background fill as #RGB or #RRGGBB |
| fillTransparent | boolean | – | Remove the cell background fill |
| font | string | – | Font family (e.g. Arial, Georgia) |
| italic | boolean | – | Set italic |
| noBold | boolean | – | Clear bold |
| noItalic | boolean | – | Clear italic |
| noUnderline | boolean | – | Clear underline |
| presentationId | string | yes | Presentation ID |
| range | string | – | UTF-16 text range as start:end to scope text styling within the cell |
| row | integer | yes | 0-based table row index |
| size | number | – | Font size in points |
| tableObjectId | string | yes | Table object ID |
| textColor | string | – | Text color as #RRGGBB or #RGB |
| underline | boolean | – | Set underline |
No output schema declared.
No examples provided.
gog_slides_table_column_delete ~105
Delete the column containing a zero-based table cell.
| 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. |
| col | integer | yes | 0-based column index to delete |
| presentationId | string | yes | Presentation ID |
| tableObjectId | string | yes | Table object ID |
No output schema declared.
No examples provided.
gog_slides_table_column_insert ~158
Insert one or more columns relative to a zero-based table column. Inserts to the left by default, or to the right with right=true.
| 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. |
| col | integer | yes | 0-based reference column index |
| count | integer | – | Number of columns to insert (default: 1) |
| presentationId | string | yes | Presentation ID |
| right | boolean | – | Insert to the right of the reference column instead of the left |
| tableObjectId | string | yes | Table object ID |
No output schema declared.
No examples provided.
gog_slides_table_column_size ~114
Set the width of a zero-based table column.
| 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. |
| col | integer | yes | 0-based column index |
| presentationId | string | yes | Presentation ID |
| tableObjectId | string | yes | Table object ID |
| width | number | yes | Column width in points |
No output schema declared.
No examples provided.
gog_slides_table_create ~152
Create an auto-sized native table on a slide with the given row and column counts.
| 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 | integer | yes | Number of columns (>=1) |
| objectId | string | – | Optional stable table object ID (5-50 chars: letters, digits, _, -, :) |
| presentationId | string | yes | Presentation ID |
| rows | integer | yes | Number of rows (>=1) |
| slideId | string | yes | Slide object ID to create the table on |
No output schema declared.
No examples provided.
gog_slides_table_merge ~167
Merge a rectangular table cell range starting at a zero-based cell. Content of non-anchor cells is absorbed by the merge; use gog_slides_table_unmerge to split back.
| 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. |
| col | integer | yes | 0-based anchor column index |
| colSpan | integer | – | Number of columns to merge |
| presentationId | string | yes | Presentation ID |
| row | integer | yes | 0-based anchor row index |
| rowSpan | integer | – | Number of rows to merge |
| tableObjectId | string | yes | Table object ID |
No output schema declared.
No examples provided.
gog_slides_table_row_delete ~105
Delete the row containing a zero-based table cell.
| 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. |
| presentationId | string | yes | Presentation ID |
| row | integer | yes | 0-based row index to delete |
| tableObjectId | string | yes | Table object ID |
No output schema declared.
No examples provided.
gog_slides_table_row_insert ~150
Insert one or more rows relative to a zero-based table row. Inserts above by default, or below with below=true.
| 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. |
| below | boolean | – | Insert below the reference row instead of above |
| count | integer | – | Number of rows to insert (default: 1) |
| presentationId | string | yes | Presentation ID |
| row | integer | yes | 0-based reference row index |
| tableObjectId | string | yes | Table object ID |
No output schema declared.
No examples provided.
What is the io.github.chrischall/gogcli-mcp-slides server?
io.github.chrischall/gogcli-mcp-slides is listed in the public MCP registry as io.github.chrischall/gogcli-mcp-slides. Google Slides via gogcli for Claude, deck and slide authoring. This page covers its npm package (gogcli-mcp-slides).
Is the io.github.chrischall/gogcli-mcp-slides server safe to use?
io.github.chrischall/gogcli-mcp-slides scores 94 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-slides server expose?
io.github.chrischall/gogcli-mcp-slides exposes 55 tools: gog_auth_list, gog_auth_status, gog_auth_health, gog_auth_services, gog_auth_add, and 50 more. Their descriptions and schemas cost roughly 8,592 tokens of context every time the server is loaded.
Is the io.github.chrischall/gogcli-mcp-slides server still maintained?
io.github.chrischall/gogcli-mcp-slides 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-slides server under?
io.github.chrischall/gogcli-mcp-slides declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.