gogcli-mcp
Extended Google Slides MCP server via gogcli — auth + full Slides support
Versions
No versions found.
Tools 369
gog_calendar_out_of_office Create an Out of Office event that auto-declines invitations during the block.
gog_calendar_unsubscribe Remove a calendar from your calendar list (the underlying calendar is not deleted — you can re-subscribe). For deleting a secondary calendar you own, use gog_calendar_delete_calendar.
gog_sheets_freeze Freeze rows and/or columns in a sheet.
gog_meet_create Create a Google Meet space and return its meeting code.
gog_meet_get Get a Google Meet space by its meeting code.
gog_meet_update Update a Google Meet space configuration.
gog_meet_end End the active conference in a Google Meet space.
gog_meet_history List past calls (conferences) in a Google Meet space.
gog_zoom_auth_setup Store Zoom Server-to-Server (S2S) OAuth credentials so calendar events can be attached to Zoom meetings via the --with-zoom flag on gog_calendar_create / gog_calendar_update. Credentials are saved in gogcli\'s keyring under the given alias.
gog_zoom_auth_doctor Validate stored Zoom S2S OAuth credentials by calling Zoom /users/me.
gog_calendar_calendars List the calendars in your calendar list (id, summary, access role, primary flag).
gog_calendar_search Full-text search for events matching a query string, with optional time filters.
gog_calendar_changed List most recently changed events (including cancellations/deletions) across one or more calendars, ordered by last-modification time. Requires gog >= 0.31.1.
gog_calendar_freebusy Query free/busy intervals for one or more calendars over a time window.
gog_calendar_colors Show the available calendar and event color palette (color IDs to hex values).
gog_calendar_acl List the access control list (sharing rules) for a calendar.
gog_calendar_move Move an event from one calendar to another; the destination calendar becomes the organizer.
gog_calendar_delete_calendar Permanently delete an owned secondary calendar and all its events. Cannot delete your primary calendar. To merely remove a calendar you do not own from your list, use gog_calendar_unsubscribe.
gog_meet_participants List participants from the latest (or a specific) Meet call.
gog_drive_download Download a Drive file to the local filesystem. For Google Docs formats, specify an export format (pdf, csv, xlsx, pptx, txt, png, docx, md).
gog_drive_upload Upload a file to Drive. Supply it EITHER as localPath (a path on the gog server\'s own filesystem — local
gog_drive_sync_push Recursively push a local directory\'s contents into an existing Drive folder — uploads new files, updates changed ones (matched by name + MD5), and creates missing subfolders. One-way and additive: it never deletes anything on Drive. Use dryRun to preview the planned actions first.
gog_drive_copy Copy a Drive file to a new file with the given name.
gog_drive_url Print shareable web URLs for one or more Drive files.
gog_drive_permissions List permissions on a Drive file.
gog_drive_unshare Remove a permission from a Drive file. Get the permissionId from gog_drive_permissions.
gog_drive_drives_list List shared drives (Team Drives) accessible to the account.
gog_drive_comments_list List comments on a Drive file.
gog_drive_comments_get Get a single comment on a Drive file by ID.
gog_drive_comments_add Add a new comment to a Drive file.
gog_drive_comments_update Update the text of an existing comment.
gog_drive_comments_delete Delete a comment from a Drive file.
gog_drive_comments_reply Reply to an existing comment on a Drive file. Pass `action: "resolve"` or `"reopen"` to atomically flip the parent comment\'s resolved state via the Drive API\'s Reply.action field — avoids the older workaround of deleting the comment (which destroys review-thread context).
gog_drive_comments_resolve Resolve a comment on a Drive file (mark as done) without posting a reply. To resolve while replying, use gog_drive_comments_reply with action: "resolve".
gog_drive_comments_reopen Reopen a previously resolved comment on a Drive file. To reopen while replying, use gog_drive_comments_reply with action: "reopen".
gog_sheets_table_get Get a single Google Sheets table (definition + columns) by its table ID.
gog_drive_du Summarize Drive folder sizes (disk-usage style) starting from a folder.
gog_drive_tree Print a read-only folder tree starting from a folder.
gog_drive_changes_start_token Get a Drive changes start page token — the cursor you pass to gog_drive_changes_list to enumerate changes since this point.
gog_drive_changes_list List Drive changes since a page token (for sync/automation). Get the initial token from gog_drive_changes_start_token; the response includes a newStartPageToken to persist for the next poll.
gog_drive_revisions_list List a file\'s revision history — paged revision metadata plus provider export links for each revision.
gog_drive_revisions_get Get one revision of a Drive file by revision ID (metadata + export links). Find revision IDs with gog_drive_revisions_list.
gog_drive_shortcut_create Create a Drive shortcut to a file or folder inside a destination folder. Shortcuts are classified distinctly in listing/tree output and are never followed by tree scans.
gog_drive_labels_list List Drive label schemas available to the account.
gog_drive_labels_get Get a single Drive label schema by name (e.g. "labels/abc123").
gog_drive_labels_file_list List labels applied to a Drive file.
gog_drive_labels_file_apply Apply or update a label on a Drive file, optionally setting field values. Each field flag takes "fieldId=value" entries (repeatable). selection/integer/date/user values may be comma-separated within one entry for multi-valued fields.
gog_drive_labels_file_remove Remove a label from a Drive file.
gog_drive_activity Query the Drive Activity API for audit events (edits, creates, deletes, moves, shares, etc.) scoped to a file or folder and/or time range.
gog_drive_audit_sharing Audit Drive sharing without mutation — find public (anyone-with-link) or external permissions across a folder tree or a single file.
gog_drive_audit_user Audit Drive sharing without mutation — find permissions granted to a specific user across a folder tree or a single file.
gog_people_me Show your own People profile (people/me).
gog_people_get Get a People profile by resource name.
gog_people_search Search the Google Workspace directory (covers internal users, unlike contacts search which is limited to your personal contacts).
gog_people_relations Get relations (manager, reports, etc.) for a user. Defaults to self when userId is omitted.
gog_contacts_update Update an existing Google Contact. Empty string clears a field; repeatable fields (url/address/custom/relation) take comma/semicolon-separated lists.
gog_contacts_delete Delete a Google Contact by resource name.
gog_contacts_export Export contacts as vCard (.vcf). Provide a selector (resource name, email, or name), or use query / all to export multiple.
gog_contacts_dedupe Find likely duplicate personal contacts. Defaults to a read-only preview of the merge plan; set apply to actually merge each duplicate group and delete the redundant contacts (etag-checked, with ambiguous or unmergeable groups refused). Scope a risky apply with resource. Always preview first.
gog_contacts_directory_list List people from the Google Workspace directory (domain shared contacts).
gog_contacts_other_list List "other contacts" — auto-collected addresses (e.g. people you have emailed) that are not in your saved contacts.
gog_contacts_other_search Search "other contacts" — auto-collected addresses not in your saved contacts.
gog_people_raw Dump the raw People API response as JSON (lossless; for scripting and LLM consumption).
gog_docs_copy Copy a Google Doc to a new document with the given title.
gog_docs_delete Delete content within a Google Doc by character index range. To remove the entire document (move to Drive trash), use gog_docs_trash.
gog_docs_trash Move an entire Google Doc to Drive trash. Convenience wrapper around `gog drive delete` so docs-only users can clean up without installing gogcli-mcp-drive. The doc remains recoverable from Drive trash for ~30 days.
gog_docs_edit Edit a Google Doc by finding and replacing text (stream-edit style).
gog_docs_read Read the content of a Google Doc. Default: plain text body. Use format="json" for the raw Google Docs API response (lossless, includes character indices needed for index-based gog_docs_insert / gog_docs_delete calls). For markdown output, use gog_docs_export with format="md" — it writes to a file. Use gog_docs_structure to see paragraph-by-paragraph layout with indices.
gog_docs_format Apply text or paragraph formatting to a Google Doc. Use `match` to format a specific text occurrence, `matchAll` to format every occurrence, or omit both to format the whole doc. Boolean flags (bold/italic/etc.) set the attribute; negated flags (noBold/noItalic/etc.) clear it.
gog_docs_suggestions_list List pending suggestions (suggested text insertions and deletions) in a Google Doc, with exact UTF-16 ranges and segment context. Read-only; does not accept or reject suggestions.
gog_docs_export Export a Google Doc as PDF, plain text, HTML, DOCX, or other format.
gog_docs_insert Insert text at a specific character index in a Google Doc. When `index` is omitted, gog defaults to 1 (the very beginning), NOT the end — sequential inserts without an explicit index produce reversed output. To append at the end of the doc, use gog_docs_append (which uses `gog docs write --append` and is the right tool for iterative document construction). To find a valid index for mid-document inserts, call gog_docs_structure or gog_docs_read first.
gog_docs_append Append text to the end of a Google Doc. This is the right tool for iterative document construction — multiple sequential calls produce content in the order they were called. Use gog_docs_insert only when you need to insert at a specific character position. Known markdown=true limitations (tracked upstream): (a) 3+ tables in one call reorders the trailing punctuation of the paragraph before the 3rd table — split into multiple calls with ≤2 tables each (openclaw/gogcli#607); (b) inline **bold** / *italic* / `code` inside table cells renders as literal characters — pre-format cell text separately or apply formatting after the append via gog_docs_format (openclaw/gogcli#608); (c) tables with an empty header row leak the last data row as literal pipe text — always supply a non-empty header (openclaw/gogcli#609).
gog_docs_list_tabs List all tabs in a Google Doc.
gog_docs_sed Stream-edit a Google Doc with sed-like regex expressions (s/find/replace/ syntax).
gog_docs_update Update a Google Doc — insert or replace text at a specific position.
gog_docs_comments_list List comments on a Google Doc. Returns open comments by default; set includeResolved=true to include resolved comments.
gog_docs_comments_get Get a single comment by ID, including its replies.
gog_docs_comments_add Add a comment to a Google Doc. Optionally attach quoted text that appears as the highlighted passage in the Google Docs UI.
gog_docs_comments_reply Reply to an existing comment on a Google Doc.
gog_docs_comments_resolve Resolve a comment (mark as done). Optionally include a closing message.
gog_docs_comments_delete Delete a comment from a Google Doc. This action is permanent.
gog_docs_comments_reopen Reopen a previously resolved comment (flip resolved → open).
gog_tasks_list List tasks in a Google Task list.
gog_docs_comments_locate Locate a comment\'s anchor in a Google Doc — resolves the comment\'s quoted text to its current Docs API index range, or reports the comment as orphaned if the quote can no longer be found (e.g. the anchored text was edited away). Read-only; useful before an index-based edit near a comment.
gog_docs_find_range Map literal text in a Google Doc to its Docs API UTF-16 index range(s). Read-only helper for computing the start/end indices that index-based tools (gog_docs_delete, gog_docs_update --replace-range) need. Returns the first match by default; use occurrence to pick a specific one or all to return every match.
gog_batch_begin Open a persisted, revision-locked request batch for a Google Doc. Subsequent docs mutation tools called with batch=<batchId> append their requests locally instead of applying them; gog_batch_end submits everything atomically. Returns the batchId.
gog_batch_end Submit a persisted batch: applies every composed request to the doc in one atomic batchUpdate against the locked revision. Atomic by default — set autoSplit to submit >500-request batches as ordered chunks (non-atomic), or continueOnError to retry individually after an atomic validation failure, retaining failures in the batch.
gog_batch_abort Discard a persisted batch and its composed requests without applying anything to the doc.
gog_batch_list List persisted Docs request batches (id, doc, label, request count, status).
gog_batch_show Show one persisted batch: its doc, locked revision, and the composed requests awaiting submission.
gog_batch_prune Delete stale persisted batches (not updated within olderThan).
gog_docs_table_column_width Set a fixed width (in points) for a table column, or reset columns to Docs-managed even distribution. Target the table by 1-based index in document order (negative counts from the end) and the column by 1-based number. Pass evenlyDistributed without col to reset every column in the table.
gog_docs_table_row_insert Insert a row into a native Google Docs table, optionally populated from a JSON string array. Inserts before the 1-based position given by `at` (negative counts from the end; "end" appends — the default).
gog_docs_table_row_delete Delete a row from a native Google Docs table by 1-based row number (negative counts from the end). The row\'s cell content is lost.
gog_docs_table_column_insert Insert a column into a native Google Docs table. Inserts before the 1-based position given by `at` (negative counts from the end; "end" appends — the default).
gog_docs_table_column_delete Delete a column from a native Google Docs table by 1-based column number (negative counts from the end). The column\'s cell content is lost.
gog_docs_table_merge Merge a rectangular cell range in a native Google Docs table. Content of non-first cells in the range is absorbed/discarded by the merge — use gog_docs_table_unmerge to split back.
gog_docs_table_unmerge Unmerge (split) the merged region containing a given cell in a native Google Docs table.
gog_docs_named_range_create Create a named range — a durable, tab-aware anchor over a span of document text that survives subsequent edits (unlike raw indices). Anchor by literal text (`at`) or explicit UTF-16 start/end indices. Pair with gog_docs_named_range_replace for repeatable templated updates.
gog_docs_named_range_list List named ranges in a Google Doc, optionally filtered by name.
gog_docs_named_range_delete Delete a named range (the anchor only — the underlying document text is untouched).
gog_docs_named_range_replace Replace the text inside a named range with new content (inline or from a file), keeping the anchor for future updates — the templated-update workhorse.
gog_docs_tables_list Enumerate the native tables in a Google Doc (dimensions, position) — the index/first-cell-text it reports feeds the `table` selector on the table-row/column/merge tools.
gog_docs_images_list Enumerate inline/positioned images in a Google Doc.
gog_docs_headings_list Enumerate headings in a Google Doc (a lightweight outline view), optionally filtered to one heading level.
gog_docs_paragraphs_list Enumerate paragraphs in a Google Doc with emptiness, text-run ranges, styles, and links — richer than gog_docs_structure when you need per-run detail. Optionally filter to one named style.
gog_docs_insert_page_break Insert a Google Docs page break via InsertPageBreakRequest — the only path for multi-page deliverables (markdown has no page-break construct). Specify `index` for a precise character position, or `atEnd` for end-of-doc.
gog_docs_page_layout Toggle the page layout (pageless | pages) of an existing Google Doc. Sibling to the --pageless flag on docs create/write/update for docs that were already created (e.g. by Drive markdown conversion) without the desired layout.
gog_docs_insert_table Insert a native Google Docs table via InsertTableRequest, bypassing the markdown writer. Use this instead of writing a markdown table when you need precise dimensions or to avoid the markdown writer\'s table limitations. `valuesJson` is a JSON 2D string array whose dimensions must match rows x cols.
gog_docs_cell_update Replace (or append to) the content of a single table cell, addressed by table / row / column — non-destructive to the rest of the table, unlike index-based edits that shift on every change. Provide content inline or read it from contentFile. Note: row/col/tableIndex are 1-based here; the sibling gog_docs_cell_style uses 0-based addressing.
gog_sheets_export Export a spreadsheet as CSV, TSV, or PDF.
gog_docs_cell_style Apply background color and/or inline text styling (bold, italic, underline, colors) to one or more table cells, addressed by 0-based row/column with optional spans. Sibling to gog_docs_cell_update, which changes cell content rather than styling. Note: row/col/tableIndex are 0-based here; gog_docs_cell_update uses 1-based addressing.
gog_docs_insert_image Insert an image into a Google Doc from a local file or a public HTTPS URL. file: uploaded to Drive, temporarily shared so Docs can fetch it, inserted, then the public permission is revoked. url: inserted directly with no Drive upload or temporary sharing. Replaces placeholder text (at) or appends at end-of-doc.
gog_docs_insert_person Insert a native Google Docs person smart chip (the interactive @-mention chip) for an email address, at a character index or end-of-doc.
gog_docs_insert_date_chip Insert a native Google Docs date smart chip, at a character index or end-of-doc.
gog_docs_add_tab Add a tab to a Google Doc. Tabs partition a doc into independently-addressable sections (multi-tab docs). Optionally set the title, zero-based position, parent tab (for nesting), and an emoji icon.
gog_docs_rename_tab Rename a tab in a Google Doc. Identify the existing tab by title or ID and give it a new title.
gog_docs_delete_tab Delete a tab (and its content) from a Google Doc. Identify the tab by title or ID. This permanently removes the tab and everything in it.
gog_docs_clear Clear all content from a Google Doc, leaving an empty document. The doc itself is preserved (same ID/URL); only its body content is removed. To delete the whole doc instead, use gog_docs_trash.
gog_docs_insert_footnote Insert a footnote at a character index (or end-of-doc) and populate its text. The footnote reference mark is placed in the body; the footnote content goes in the new footnote segment.
gog_docs_insert_section_break Insert a continuous or next-page section break at a character index (or end-of-doc). Section breaks enable per-section layout such as column counts (see gog_docs_section_columns).
gog_docs_insert_horizontal_rule Insert a horizontal rule (paragraph border) at a character index (or end-of-doc).
gog_tasks_get Get a specific task by ID.
gog_docs_section_columns Set the column count (1-3) for the document section containing the target position. Use count=1 to reset to a single column. Anchor by index, end-of-doc, or literal text.
gog_docs_header_list List a Google Doc\'s headers and their segment IDs. Use a segment ID with the segment param on gog_docs_insert / gog_docs_update / gog_docs_delete / gog_docs_format / gog_docs_find_range to edit inside a header.
gog_docs_header_create Create a header in a Google Doc and optionally populate its initial text. Returns the new header segment ID.
gog_docs_header_delete Delete a header from a Google Doc by its segment ID (from gog_docs_header_list).
gog_docs_footer_list List a Google Doc\'s footers and their segment IDs. Use a segment ID with the segment param on gog_docs_insert / gog_docs_update / gog_docs_delete / gog_docs_format / gog_docs_find_range to edit inside a footer.
gog_docs_footer_create Create a footer in a Google Doc and optionally populate its initial text. Returns the new footer segment ID.
gog_docs_footer_delete Delete a footer from a Google Doc by its segment ID (from gog_docs_footer_list).
gog_docs_replace_image Replace an existing image in a Google Doc in place — keeping its position and bounds — with a new image from a local file or public HTTPS URL. Target the image by exact object ID (from gog_docs_images_list), by alt-text substring, or leave both off to replace the only image in the doc/tab.
gog_docs_table_row_pin_header Pin (or unpin) leading rows of a native Google Docs table as repeating header rows. rows=N pins the first N rows; rows=0 unpins all header rows.
gog_docs_table_row_style Set native table row height and page-overflow behaviour. Target a 1-based row (negative counts from the end) or omit row to style every row in the table.
gog_sheets_list_tabs 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.
gog_sheets_add_tab Add a new sheet tab to a spreadsheet.
gog_sheets_delete_tab Delete a sheet tab from a spreadsheet.
gog_sheets_rename_tab Rename a sheet tab.
gog_sheets_copy Copy a spreadsheet to a new spreadsheet with the given title.
gog_sheets_insert 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).
gog_sheets_copy_paste 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).
gog_sheets_merge Merge cells in a range.
gog_sheets_unmerge Unmerge previously merged cells in a range.
gog_sheets_format 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.
gog_sheets_number_format Set number format on a range (currency, percentage, date, etc.). When type is DATE or DATE_TIME, the target range is peeked first; if every numeric cell is a small integer (< 10000), a warning is prepended to the response because Sheets will render those as 1899/1900 day-serials. Pass force:true to skip the check.
gog_sheets_read_format Read cell formatting for a range.
gog_sheets_resize_columns Resize column widths. Use --auto for auto-fit or --width for a specific pixel width.
gog_sheets_resize_rows Resize row heights. Use --auto for auto-fit or --height for a specific pixel height.
gog_sheets_notes Read cell notes in a range.
gog_sheets_update_note Add, update, or clear a cell note. Pass an empty string to clear the note.
gog_sheets_links List hyperlinks in a range.
gog_sheets_links_set Set cell hyperlinks in a Google Sheet. Three modes: (1) single link — pass cell + url (+ optional text);
gog_sheets_validation_get Read the data-validation rules (dropdowns, checkboxes, number/date conditions, custom formulas) applied to a range.
gog_sheets_table_create Create a Google Sheets table over a range. columnsJson is a JSON array of column definitions (each {columnName, columnType?}); valid columnType values: TEXT, DOUBLE, BOOLEAN, DATE, DROPDOWN. Inline JSON or @/path/to/file.json.
gog_sheets_validation_set Set a data-validation rule on a range — dropdowns (ONE_OF_LIST / ONE_OF_RANGE), checkboxes (BOOLEAN), number/date conditions, or custom formulas. Overwrites any existing rule on the range. Repeat values for list entries or between-bounds.
gog_sheets_validation_clear Remove all data-validation rules from a range.
gog_sheets_delete_dimension 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.
gog_sheets_named_ranges_list List all named ranges in a spreadsheet.
gog_sheets_named_ranges_get Get a named range by name or ID.
gog_sheets_named_ranges_add Create a new named range.
gog_sheets_named_ranges_update Update a named range (change its name, range, or both).
gog_sheets_named_ranges_delete Delete a named range.
gog_sheets_batch_update 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.)
gog_sheets_reorder_tab Move a tab to a specific 0-based position. `tab` is the tab name or numeric sheetId; `to=0` is the leftmost slot.
gog_sheets_chart_list List embedded charts in a spreadsheet (chartId, type, position).
gog_sheets_chart_get Get the full definition (spec + position) of a single chart by its numeric chart ID.
gog_sheets_chart_create 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.
gog_sheets_chart_update Replace a chart spec by chart ID. specJson is a Sheets API ChartSpec (or full EmbeddedChart) — inline or @/path/to/file.json.
gog_sheets_chart_delete Delete a chart by its numeric chart ID.
gog_sheets_table_list List Google Sheets tables in a spreadsheet (tableId, name, range).
gog_gmail_vacation_get Get the current vacation responder (auto-reply) settings.
gog_sheets_table_append Append data rows to a table. valuesJson is a JSON 2D array of row values.
gog_sheets_table_clear Clear all data rows from a table (keeps the table and its columns).
gog_sheets_table_delete Delete a Google Sheets table. WARNING: the underlying `gog`/Sheets behaviour is that deleting a table also DESTROYS every cell value in the table range — not just the table styling/columns.
gog_sheets_banding_list List alternating-color banded ranges. Optionally scope to a single sheet.
gog_sheets_banding_set 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.
gog_sheets_banding_clear Remove alternating-color banding. Pass id to remove a single banded range, or all:true with sheet to remove every banding on that sheet.
gog_sheets_filter_set 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.
gog_sheets_conditional_format_list List conditional formatting rules. Optionally scope to a single sheet.
gog_sheets_conditional_format_add 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.
gog_sheets_conditional_format_clear 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.
gog_sheets_snapshot Make a backup copy of an entire spreadsheet — a one-call safety snapshot to take BEFORE a risky or destructive edit (table delete, bulk clear, large rewrite).
gog_sheets_datasource_list List the Connected Sheets data sources in a spreadsheet (BigQuery or Looker), each joined with its DATA_SOURCE sheet
gog_sheets_datasource_describe Describe one Connected Sheets data source in full: the complete API DataSource spec (including the BigQuery raw query,
gog_sheets_datasource_table_list List the data-source tables — "extracts" in the Sheets editor — anchored in a spreadsheet. A data-source table has NO
gog_sheets_datasource_table_describe Describe the data-source table (extract) anchored at an A1 cell: its source, configured columns, sort/filter spec and
gog_classroom_coursework_create Create a new coursework item (assignment, question, etc.) in a course.
gog_sheets_datasource_table_read Read the values out of the data-source table (extract) anchored at an A1 cell. Bounded on purpose: at most maxRows data
gog_gmail_raw Dump the raw Gmail API response as JSON (lossless; for scripting and LLM consumption).
gog_gmail_attachment Download a Gmail attachment and deliver its contents so you can actually read them. Identify the
gog_gmail_url Print Gmail web URLs for one or more threads.
gog_gmail_history List Gmail history events since a given historyId (for syncing).
gog_gmail_message_modify Modify labels on a single message (add and/or remove labels).
gog_gmail_batch_delete Permanently delete multiple messages (requires the broader Gmail scope; not reversible — messages bypass Trash). Requires force:true to delete non-interactively. Use gog_gmail_trash for normal deletes.
gog_gmail_batch_modify Modify labels on multiple messages in one call (add and/or remove labels).
gog_gmail_thread_get Get a Gmail thread with all messages. THIS IS THE CORRECT TOOL WHEN YOU ALREADY KNOW THE threadId — it returns the thread in full, so unlike a search it can never be truncated, mis-ranked, or come back empty because the query missed. Never re-discover a known thread with gog_gmail_search; read it here. For long threads that overflow context, use latestN to fetch only the most recent messages and/or snippetsOnly for a lightweight per-message headers+snippet view; sanitizeContent strips raw payloads/HTML and is the biggest size reducer when you do need bodies. Note each message carries two distinct id concepts: the top-level `id` (the Gmail short hex message id — pass THIS as replyToMessageId to reply) and the `Message-Id` header (the RFC822 `<…@host>` value used in In-Reply-To/References) — don\'t confuse either with the `threadId`. To reply to the thread itself, pass the thread\'s id as replyToThreadId on gog_gmail_drafts_create.
gog_gmail_thread_modify Modify labels on all messages in a thread (add and/or remove labels).
gog_gmail_thread_attachments List all attachments in a Gmail thread, optionally downloading them. NOTE: download/outDir write to the CONNECTOR/gog server\'s filesystem — on the remote connector you can\'t read those files, so use gog_gmail_attachment per attachment to receive bytes (image inline, or a Drive link). This tool is best used just to LIST attachments (filenames, ids, sizes) and then fetch the ones you want individually.
gog_gmail_labels_list List all Gmail labels for the account.
gog_gmail_labels_get Get label details, including message and thread counts.
gog_gmail_labels_create Create a new Gmail label.
gog_gmail_labels_rename Rename a Gmail label.
gog_gmail_labels_delete Delete a Gmail label.
gog_gmail_labels_modify Modify labels on one or more threads (add and/or remove labels).
gog_${service}_run gog_gmail_drafts_list List Gmail drafts. Each entry is annotated FOR FREE — no extra gog invocation, whatever the number of drafts — with
gog_gmail_drafts_diff Compare TWO NAMED DRAFTS and report exactly how they diverged: which body lines exist only in one, whether either is a
gog_gmail_drafts_get Get a Gmail draft by ID.
gog_gmail_drafts_create Create a new Gmail draft. Recipients (to/cc/bcc) are optional; omit them (or set omitRecipients) to create a recipient-less draft as an accidental-send guard. For replies, prefer replyToThreadId (anchors to the thread\'s latest message) or replyToMessageId (a specific message) — don\'t pass a thread id into replyToMessageId, which mis-threads silently.
gog_gmail_drafts_update Update an existing Gmail draft. For replies, prefer replyToThreadId (threads off the thread\'s latest message) or
gog_gmail_drafts_delete Permanently delete a Gmail draft (not reversible — drafts do not go to Trash). Requires force:true to delete non-interactively.
gog_gmail_drafts_send Send an existing Gmail draft. If the id no longer resolves, the 404 comes back as a DRAFT_FORKED report — what happened,
gog_gmail_import Import an existing RFC822/EML message INTO the mailbox. This is Gmail\'s import path, not a send: nothing
gog_gmail_forward Forward an existing Gmail message to new recipients.
gog_gmail_reply Reply to a Gmail message (sends to the original sender only). Threads off the message and inherits a "Re:" subject and the quoted original by default. For replying to every participant use gog_gmail_reply_all; to reply across many messages matching a query use gog_gmail_autoreply; to stage this same reply without sending it use gog_gmail_drafts_reply, which composes exactly what this tool would send.
gog_gmail_reply_all Reply to all participants of a Gmail message (sender plus every To/Cc recipient). Same inherited "Re:" subject and quoting as gog_gmail_reply. Use the remove flag to drop specific recipients from the reply-all. To stage it without sending use gog_gmail_drafts_reply_all.
gog_gmail_drafts_reply Save a reply to a Gmail message as a draft (to the original sender only).
gog_gmail_drafts_reply_all Save a reply-all to a Gmail message as a draft (sender plus every To/Cc recipient).
gog_gmail_drafts_forward Save a forward of a Gmail message as a draft. Same composition as gog_gmail_forward — the original
gog_gmail_autoreply Reply once to all messages matching a Gmail search query. Use the label flag to dedupe across runs.
gog_gmail_messages_search Search individual messages (not threads) using Gmail query syntax. Returns one result per matching message.
gog_gmail_labels_style Change a user label's color or visibility (background/text color from Gmail's palette, label-list and message-list visibility).
gog_gmail_vacation_update Update the vacation responder. Pass enable (with subject/body) to turn it on, or disable to turn it off; optional start/end RFC3339 times and contactsOnly/domainOnly scoping.
gog_gmail_filters_list List all Gmail filters for the account.
gog_gmail_filters_get Get the criteria and actions of a single Gmail filter by ID.
gog_gmail_filters_create Create a Gmail filter. Specify match criteria (from/to/subject/query/hasAttachment) and one or more actions (label, archive, mark-read, star, important, trash, forward, never-spam).
gog_gmail_filters_delete Delete a Gmail filter by ID.
gog_gmail_sendas_list List all send-as aliases configured for the account.
gog_gmail_sendas_get Get details of a single send-as alias by its email address.
gog_gmail_sendas_create Create a send-as alias. Newly added aliases generally require email verification before they can be used (see gog_gmail_sendas_verify).
gog_gmail_sendas_update Update a send-as alias (display name, reply-to, signature, alias handling, or make it the default).
gog_gmail_sendas_delete Delete a send-as alias by its email address.
gog_gmail_sendas_verify Resend the verification email for a send-as alias that is pending verification.
gog_classroom_courses_create Create a new Google Classroom course.
gog_classroom_courses_update Update an existing Google Classroom course.
gog_classroom_courses_delete Delete a Google Classroom course.
gog_classroom_courses_archive Archive a Google Classroom course.
gog_classroom_courses_unarchive Unarchive a Google Classroom course (restore to ACTIVE).
gog_classroom_students_add Add a student to a Google Classroom course.
gog_classroom_students_remove Remove a student from a Google Classroom course.
gog_classroom_teachers_add Add a teacher to a Google Classroom course.
gog_classroom_teachers_remove Remove a teacher from a Google Classroom course.
gog_tasks_lists List all Google Task lists.
gog_classroom_coursework_update Update an existing coursework item.
gog_classroom_coursework_delete Delete a coursework item.
gog_classroom_announcements_update Update an existing announcement.
gog_classroom_announcements_delete Delete an announcement.
gog_classroom_topics_create Create a topic in a Google Classroom course.
gog_classroom_topics_update Rename an existing topic.
gog_classroom_topics_delete Delete a topic.
gog_classroom_invitations_create Create an invitation to a Google Classroom course.
gog_classroom_invitations_delete Delete (revoke) a Google Classroom invitation.
gog_drive_ls List files in a Google Drive folder (default: root).
gog_drive_search Search Google Drive files by full-text query.
gog_drive_get Get metadata for a Google Drive file.
gog_drive_mkdir Create a new folder in Google Drive.
gog_drive_rename Rename a file or folder in Google Drive.
gog_drive_move Move a file to a different folder in Google Drive.
gog_drive_delete Move a Google Drive file to trash, or permanently delete it with permanent=true (irreversible).
gog_drive_share Share a Google Drive file or folder.
gog_drive_extract_text Extract readable TEXT from a Drive file — PDF, image, docx, or a native Google Doc — and return
gog_drive_read_bytes Fetch a Drive file\'s raw bytes and return them base64-encoded as an embedded resource — the
gog_api_list List the Google Discovery APIs available for gog_api_call / gog_api_describe (name + version + title).
gog_api_describe Describe a Google Discovery API, or a single method within it — its parameters, request/response schema, and required OAuth scopes. Use this to discover the exact api/version/method and params before calling gog_api_call.
gog_api_call Call any Discovery-described Google API method directly — an escape hatch for endpoints gog has no dedicated tool for. Find the exact api/version/method/params with gog_api_describe first. Read methods (GET/LIST) run as-is. Mutating methods (POST/PUT/PATCH/DELETE) are refused unless you set allowWrite=true — keep it false to preview, or set dryRun=true to print the intended request without sending it.
gog_classroom_courses_list List Google Classroom courses.
gog_classroom_courses_get Get a single Google Classroom course by ID.
gog_classroom_students_list List students enrolled in a Google Classroom course.
gog_classroom_students_get Get a specific student enrolled in a course.
gog_classroom_teachers_list List teachers in a Google Classroom course.
gog_classroom_teachers_get Get a specific teacher in a course.
gog_classroom_roster List the full roster (students and/or teachers) of a Google Classroom course. Omit both flags to return both groups.
gog_classroom_coursework_list List coursework (assignments, questions, materials) for a course.
gog_classroom_coursework_get Get a single coursework item by ID.
gog_classroom_submissions_list List student submissions for a coursework item.
gog_classroom_submissions_get Get a single submission by ID.
gog_classroom_submissions_grade Grade a student submission. Set draft and/or assigned grade values.
gog_classroom_submissions_return Return a graded submission to the student.
gog_classroom_submissions_turn_in Turn in a student submission (student action).
gog_classroom_submissions_reclaim Reclaim a turned-in submission (student action to edit a submission).
gog_classroom_announcements_list List announcements in a Google Classroom course.
gog_classroom_announcements_get Get a single announcement by ID.
gog_classroom_announcements_create Create an announcement in a Google Classroom course.
gog_classroom_topics_list List topics in a Google Classroom course.
gog_classroom_topics_get Get a single topic by ID.
gog_classroom_invitations_list List Google Classroom invitations.
gog_classroom_invitations_get Get a single invitation by ID.
gog_classroom_invitations_accept Accept a Google Classroom invitation.
gog_classroom_profile_get Get a Google Classroom user profile. Omit userId to fetch the authenticated user.
gog_sheets_get Read values from a Google Sheets range. Returns a JSON object with a "values" array of rows.
gog_sheets_update Write values to a Google Sheets range, overwriting existing content. Values may be strings, numbers, booleans, or null. Strings starting with "=" are interpreted as formulas (e.g. "=SUM(A1:A10)").
gog_sheets_append 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.
gog_sheets_clear Clear all values in a Google Sheets range (formatting is preserved).
gog_sheets_metadata 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.
gog_sheets_create Create a new Google Spreadsheet. Returns JSON with the new spreadsheetId and URL.
gog_sheets_find_replace Find and replace text across an entire Google Spreadsheet.
gog_docs_info Get Google Doc metadata: title, ID, and other properties.
gog_docs_cat Read a Google Doc as plain text.
gog_docs_create Create a new Google Doc. Returns JSON with the new docId and URL.
gog_docs_write Write text content to a Google Doc, replacing existing body content by default. Set append=true to add after existing content.
gog_docs_find_replace Find and replace text in a Google Doc.
gog_docs_structure Show a Google Doc\'s structure with numbered paragraphs. Useful for understanding the document layout before making index-based edits.
gog_calendar_events List calendar events. Describe the window ONE way and one way only (gog >= 0.36.0 rejects the rest as ambiguous rather than silently discarding a flag):
gog_calendar_get Get a specific calendar event by ID.
gog_calendar_create Create a calendar event. Set withZoom=true to attach a Zoom meeting (requires Zoom S2S OAuth setup via gog_zoom_auth_setup; the join URL + meeting ID + passcode are appended to the event description — Google rejects native conference card writes from non-Workspace-Marketplace OAuth clients).
gog_calendar_update Update an existing calendar event. Zoom: withZoom adds a Zoom meeting, regenerateZoom replaces the existing one, removeZoom strips it. removeMeet clears the event\'s Google Meet conference data (e.g. before attaching another provider). Conference flags are independent — use one per call.
gog_calendar_delete Delete a calendar event.
gog_calendar_respond Respond to a calendar event invitation.
gog_contacts_search Search personal Google Contacts by name, email, or phone. For searching the Workspace directory (internal users not in your personal contacts), use gog_people_search from gogcli-mcp-contacts.
gog_contacts_list List all Google Contacts.
gog_contacts_get Get a contact by resource name.
gog_contacts_create Create a new Google Contact.
gog_auth_list List the Google accounts stored in gogcli, with their scopes. This reads local
gog_auth_status Show gogcli auth CONFIGURATION: keyring backend, credential files, and auth setup. Despite the
gog_auth_health Check the LIVE health of each stored Google account. Unlike gog_auth_status (which only
gog_auth_services List all Google services supported by gogcli and the OAuth scopes each requires.
gog_auth_add Authorize a Google account via browser-based OAuth.
gog_auth_add_url Begin REMOTE/headless Google authorization (step 1 of 2). Returns a sign-in URL to open in any
gog_auth_add_complete Complete REMOTE/headless Google authorization (step 2 of 2). Takes the full redirected localhost
gog_tasks_add Add a task to a Google Task list.
gog_tasks_done Mark a task as completed.
gog_tasks_delete Delete a task.
gog_slides_export Export a Google Slides presentation to a local file (pdf or pptx).
gog_slides_info Get metadata for a Google Slides presentation (title, ID, slide count, etc.).
gog_slides_create Create a new Google Slides presentation, optionally in a folder or copying from a template.
gog_slides_copy Copy a Google Slides presentation to a new presentation with the given title.
gog_slides_list_slides List slides in a Google Slides presentation.
gog_slides_read_slide 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.
gog_gmail_search Search Gmail threads using Gmail query syntax (e.g. "from:alice subject:invoice is:unread"). The query is passed verbatim to Gmail; a bare name token (from:alison) matches per Gmail\'s own heuristics, a full address (from:alison@example.com) is exact. To match a contact across several addresses, OR them: from:(a@x.com OR b@y.com).
gog_gmail_get Get a Gmail message by ID. For a long message, sanitizeContent is the cheapest way to keep it in context: it drops the raw MIME payload and the HTML part, which are usually the bulk of the response.
gog_gmail_send Send an email. Two ways to attach a file: `attach` takes paths READ ON THE GOG SERVER, and
gog_slides_create_from_markdown Create a new Google Slides presentation from markdown content (inline or from a file).
gog_slides_create_from_template Create a new Google Slides presentation from a template, with optional placeholder replacements.
gog_slides_add_slide Add a new slide to a presentation from a local image, with optional speaker notes.
gog_slides_insert_image 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).
gog_slides_delete_slide Delete a slide from a Google Slides presentation.
gog_slides_update_notes Update the speaker notes on a slide (inline text or from a file).
gog_slides_replace_slide 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.
gog_slides_raw 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.
gog_slides_locate 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.
gog_slides_thumbnail Get or download a rendered thumbnail image for a single slide.
gog_slides_new_slide 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.
gog_slides_duplicate_slide Duplicate a slide by object ID, optionally placing the copy at a zero-based insertion index.
gog_slides_move_slide Move a slide to a zero-based insertion index within the presentation.
gog_slides_insert_text 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.
gog_slides_style_text 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.
gog_slides_link 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.
gog_slides_bullets 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.
gog_slides_replace_text 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.
gog_slides_element_create_shape 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).
gog_slides_element_create_line Create a native line on a slide. category is the connector routing (STRAIGHT, BENT, CURVED). Start position and extent are in unit (default PT).
gog_slides_element_style Style a shape fill/outline or a line. Set kind to shape or line. Colors are #RGB or #RRGGBB.
gog_slides_element_transform 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).
gog_slides_element_z_order Change a page element\'s stacking order.
gog_slides_element_group Group two or more page elements into a single group.
gog_slides_element_ungroup Ungroup one or more element groups back into their constituent elements.
gog_slides_element_alt_text Set or clear a page element\'s accessibility title and/or description. Pass an empty string to clear a field.
gog_slides_element_delete Delete one page element by object ID.
gog_slides_table_create Create an auto-sized native table on a slide with the given row and column counts.
gog_slides_table_cell_style 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.
gog_slides_table_border_style Style borders around or within a zero-based table cell range. position selects which borders are affected; dash sets the line style.
gog_slides_table_column_insert 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.
gog_slides_table_column_delete Delete the column containing a zero-based table cell.
gog_slides_table_column_size Set the width of a zero-based table column.
gog_slides_table_row_insert Insert one or more rows relative to a zero-based table row. Inserts above by default, or below with below=true.
gog_slides_table_row_delete Delete the row containing a zero-based table cell.
gog_slides_table_row_size Set the minimum height of a zero-based table row.
gog_slides_table_merge 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.
gog_slides_table_unmerge Unmerge (split) a rectangular range of previously merged cells, starting at a zero-based cell.
Permissions 4
network medium filesystem low shell high env_vars low