Google Workspace (multi-account)
Multi-account Google Workspace MCP server: 942 tools, 29 services, discover-first, BYO OAuth.
Connector by bakissation · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Claude Desktop, Cursor, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install connector/bakissation-mcp-google-multi
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 69 read · 84 write · 31 delete · 16 not yet classified
- Secrets
- 2 (API keys, tokens or passwords)
- Install scripts
- None found
- Runs as
- Node.js package
Tools by what they do 200
Read from the source code; the running server may list different tools.
Read 69 · Look things up without changing anything.
account_listadmin_group_members_listadmin_groups_listadmin_users_getadmin_users_listanalytics_account_summariesanalytics_get_metadatacalendar_get_eventcalendar_get_freebusycalendar_list_calendarscalendar_list_eventscalendar_list_instances
Show 57 more tools
chat_messages_listchat_spaces_getchat_spaces_listcontacts_getcontacts_group_memberscontacts_groups_listcontacts_listcontacts_searchdiagnosediscover_alldiscover_resetdocs_getdocs_readdrive_access_proposal_listdrive_access_proposal_resolvedrive_get_aboutdrive_listdrive_list_permissionsdrive_readdrive_revision_listdrive_searchforms_getforms_response_getforms_responses_listforms_watches_listgmail_get_draftgmail_get_profilegmail_get_vacationgmail_list_draftsgmail_list_historygmail_list_labelsgmail_readgmail_read_batchgmail_read_threadgmail_searchgoogle_api_searchmeet_recordings_listmeet_transcript_entries_listmeet_transcripts_listreports_activities_listsearchconsole_searchanalytics_querysearchconsole_sitemaps_getsearchconsole_sitemaps_listsearchconsole_sites_getsearchconsole_sites_listsearchconsole_url_inspectsheets_batch_readsheets_find_replacesheets_getsheets_read_rangeslides_getslides_page_getslides_page_thumbnailtasks_gettasks_listtasks_list_gettasks_lists_list
Write 84 · Create, change, send or run things.
account_addaccount_write_configadmin_users_updatecalendar_create_calendarcalendar_create_eventcalendar_move_eventcalendar_quick_addcalendar_update_eventcontacts_createcontacts_group_createcontacts_resolvecontacts_update
Show 72 more tools
docs_add_tabdocs_batch_updatedocs_createdocs_create_footerdocs_create_headerdocs_create_named_rangedocs_create_paragraph_bulletsdocs_insert_inline_imagedocs_insert_page_breakdocs_insert_section_breakdocs_insert_tabledocs_insert_textdocs_modify_tabledocs_replace_named_range_contentdocs_replace_textdocs_update_document_styledocs_update_paragraph_styledocs_update_styledocs_update_tab_propertiesdrive_comment_createdrive_comment_getdrive_comment_listdrive_comment_updatedrive_create_folderdrive_downloaddrive_movedrive_permission_updatedrive_reply_createdrive_reply_listdrive_reply_updatedrive_revision_updatedrive_sharedrive_shared_drive_getdrive_shared_drives_listdrive_transferdrive_trashdrive_untrashdrive_updatedrive_uploadforms_createforms_set_publish_settingsgmail_create_draftgmail_create_labelgmail_download_attachmentgmail_sendgmail_send_draftgmail_set_vacationgmail_trashmeet_conference_record_getmeet_conference_records_listsearchconsole_sitemaps_submitsearchconsole_sites_addsheets_add_conditional_format_rulesheets_add_named_rangesheets_add_sheetsheets_append_rowssheets_auto_resize_dimensionssheets_batch_updatesheets_batch_writesheets_createsheets_insert_dimensionsheets_merge_cellssheets_set_basic_filtersheets_set_data_validationsheets_update_borderssheets_update_sheet_propertiessheets_write_rangeslides_batch_updateslides_createtasks_inserttasks_movetasks_update
Delete 31 · Delete, drop, revoke or wipe things.
calendar_delete_eventcontacts_deletedocs_delete_footerdocs_delete_headerdocs_delete_named_rangedocs_delete_paragraph_bulletsdocs_delete_rangedocs_delete_tabdrive_comment_deletedrive_deletedrive_remove_permissiondrive_reply_delete
Show 19 more tools
drive_revision_deleteforms_batch_updategmail_batch_deletegmail_batch_modifygmail_deletegmail_delete_draftgmail_delete_labelgmail_modify_labelsgoogle_api_callsearchconsole_sitemaps_deletesearchconsole_sites_deletesheets_batch_clearsheets_clear_basic_filtersheets_clear_rangesheets_delete_dimensionsheets_delete_named_rangesheets_delete_sheettasks_cleartasks_delete
Not yet classified 16 · We could not tell from the name and description.
account_reauthanalytics_run_realtime_reportanalytics_run_reportcalendar_respond_eventchat_messages_createdrive_copydrive_empty_trashdrive_exportsheets_copy_sheet_tosheets_duplicate_sheetsheets_format_cellssheets_sort_range
Show 4 more tools
sheets_unmerge_cellstasks_list_deletetasks_list_inserttasks_list_update
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
GOOGLE_CLIENT_SECRETMASTER_KEY
Other settings (environment variables or headers).
GOOGLE_ACCOUNTSGOOGLE_CLIENT_ID
Network hosts it talks to 47
accounts.google.com· found in codeadmin.googleapis.com· found in codeanalyticsadmin.googleapis.com· found in codeanalyticsdata.googleapis.com· found in codeappsmarket.googleapis.com· found in codechat.googleapis.com· found in codeclassroom.googleapis.com· found in codeclaude.ai· found in codecloud.google.com· found in codecloudidentity.googleapis.com· found in codecloudsearch.googleapis.com· found in codeconsole.cloud.google.com· found in codedeveloper.android.com· found in codedevelopers.g· found in codedevelopers.goo· found in codedevelopers.goog· found in codedevelopers.google· found in codedevelopers.google.co· found in codedevelopers.google.com· found in codedocs.google.com· found in codedocs.googleapis.com· found in codedriveactivity.googleapis.com· found in codedrivelabels.googleapis.com· found in codeforms.googleapis.com· found in codegithub.com· found in install command, codegmail.googleapis.com· found in codegmailpostmastertools.googleapis.com· found in codegoogle.com· found in codegoogleapis.com· found in codegroupsmigration.googleapis.com· found in code
Show 17 more hosts
keep.googleapis.com· found in codelicensing.googleapis.com· found in codemail.google.com· found in codemeet.googleapis.com· found in codeoauth2.googleapis.com· found in codeopensource.google· found in codepeople.googleapis.com· found in coderaw.githubusercontent.com· found in codereseller.googleapis.com· found in codescript.googleapis.com· found in codesearchconsole.googleapis.com· found in codesheets.googleapis.com· found in codesupport.google· found in codesupport.google.com· found in codetasks.googleapis.com· found in codevault.googleapis.com· found in codeworkspaceevents.googleapis.com· found in code
Files it touches
~/.config/mcp-google-multi/.env/proc/self/proc/self/ns/pid/proc/sys/kernel/random/boot_id/tmp/gmulti-contract-tokens- Your home directory (~)
Tools (200)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
account_addAdd a new Google account: pass alias + email directly (plus optional bundles/allBundles/admin), or pass nothing for an interactive form where the client supports elicitation. Writes the registry and runs Google consent in the browser. No file editing or restart needed to use the account (tools of a service it newly enables register at the next restart). Requires GOOGLE_CLIENT_ID/SECRET (run the `setup` prompt first if missing).
account_listList the configured Google accounts: alias, email, admin flag, token status (ok / expired_refreshable / needs_reauth / missing / decrypt_error), and which one is the default. Pass verbose: true for the full per-account report (granted vs configured scopes).
account_reauthRe-authenticate an existing Google account (recover a dead refresh token, or grant scopes after a profile change). Runs Google consent in the browser. Pass the account alias.
account_write_configRegister this server with your MCP client (Claude Code / Claude Desktop / Cursor) so you don't hand-edit JSON. Default: returns the exact snippet/command to add. Pass write:true to write detected file-based configs in place (backs up first, never clobbers a malformed file). Secrets are never inlined.
admin_group_members_listList members of a Workspace group
admin_groups_listList groups in the Workspace customer
admin_users_getGet a single Workspace user by email or user ID
admin_users_listList users in the Workspace customer. Filter by domain or customer=my_customer.
admin_users_updateUpdate a Workspace user (PATCH semantics). Gated by write-control (a CUD tool).
analytics_account_summariesList every Google Analytics (GA4) account and property this Google account can access, with their numeric property IDs. The starting point for any Analytics question ("what properties do I have?").
analytics_get_metadataList every valid dimension and metric API name for a GA4 property, including its custom definitions. Call this before analytics_run_report when unsure which names exist. Property "0" returns the standard set without property access.
analytics_run_realtime_reportRun a GA4 realtime report: who is on the site right now (last 30 minutes). Realtime supports a restricted set of names, e.g. metrics activeUsers, screenPageViews, eventCount, keyEvents; dimensions country, city, deviceCategory, unifiedScreenName, eventName.
analytics_run_reportRun a Google Analytics (GA4) report: metrics over a date range, optionally grouped by dimensions — the workhorse for questions like "how many users last week, by country". Dates accept YYYY-MM-DD or relative forms ("today", "yesterday", "28daysAgo"). Also accepts the native GA4 request shapes directly: a single dateRanges entry in place of startDate/endDate, and metrics/dimensions as {name} objects. Unsure which dimension/metric names are valid? Call analytics_get_metadata first.
calendar_create_calendarCreate a new calendar under the account
calendar_create_eventCreate a Google Calendar event
Show 185 more tools
calendar_delete_eventDelete a Google Calendar event
calendar_get_eventGet a single Google Calendar event by ID
calendar_get_freebusyCheck free/busy times for one or more calendars within a time window. Returns only busy blocks, not event details.
calendar_list_calendarsList all calendars for a Google account
calendar_list_eventsList events from a Google Calendar (trimmed view: descriptions capped, created/updated and empty fields omitted — use calendar_get_event for a full event)
calendar_list_instancesList all occurrences of a recurring calendar event (trimmed view like calendar_list_events — use calendar_get_event for a full event)
calendar_move_eventMove an event from one calendar to another
calendar_quick_addCreate a calendar event from a natural language string. Google parses date, time, title, and guests automatically.
calendar_respond_eventRSVP to a calendar event as this account (accepted/declined/tentative) without touching any other attendee
calendar_update_eventUpdate a Google Calendar event
chat_messages_createSend a message into a Chat space. Supply plain text or a Card v2 in cardsV2.
chat_messages_listList messages in a Chat space
chat_spaces_getGet details about a single Chat space
chat_spaces_listList Google Chat spaces the user is a member of
contacts_createCreate a new contact
contacts_deleteDelete a contact (permanent, cannot be undone)
contacts_getGet a single contact by resource name
contacts_group_createCreate a new contact group (label)
contacts_group_membersList members of a contact group
contacts_groups_listList all contact groups (labels)
contacts_listList all contacts (paginated)
contacts_resolveResolve a free-text name/alias to ONE canonical email address (ranked + tie-broken), so you need not hand-expand transliteration OR-queries. Returns a single confident match, an explicit ambiguous candidate list, or null when nothing matches. For picking a recipient before gmail_send.
contacts_searchSearch contacts by name, email, phone, or organization
contacts_updateUpdate an existing contact (reads current etag automatically)
diagnoseread-onlyHealth report for this server: runtime, config, keys, per-account token status, scope grants, and API enablement. Read-only; returns copy-pasteable fixes for anything wrong. Call this to diagnose auth/config failures.
discover_allReveal ALL curated Google tools at once (instead of per-service discovery). Use when starting substantial Google work; prefer these over google_api_call. Pair with discover_reset.
discover_resetCollapse the tool surface back to the configured default, reclaiming context budget after heavy Google work. All tools remain callable by name after collapsing.
docs_add_tabAdd a new tab to a document. Can be a top-level tab or nested as a child of an existing tab.
docs_batch_updateGeneric documents.batchUpdate pass-through. Accepts the full Request union (40 types). See https://developers.google.com/workspace/docs/api/reference/rest/v1/documents/request
docs_createCreate a new Google Docs document
docs_create_footerCreate a footer for the document or a specific section
docs_create_headerCreate a header for the document or for a specific section. The new header is empty; insert text into it with docs_insert_text targeting its segmentId.
docs_create_named_rangeTag a range of text with a name. Multiple ranges can share the same name. Used as a template anchor for docs_replace_named_range_content.
docs_create_paragraph_bulletsTurn paragraphs in a range into a bulleted or numbered list
docs_delete_footerDelete a footer by its footerId
docs_delete_headerDelete a header by its headerId
docs_delete_named_rangeDelete a named range by its ID or by name. Removes every range matching the identifier.
docs_delete_paragraph_bulletsStrip bullet/number formatting from paragraphs in a range
docs_delete_rangeDelete content in a character index range within a document
docs_delete_tabDelete a tab and all of its descendant tabs
docs_getGet document metadata (title, revision, named ranges). Optionally include tab content and choose a suggestionsViewMode.
docs_insert_inline_imageInsert a publicly-accessible image (PNG/JPEG/GIF, <50MB, <25MP, URL <2KB) inline at an index or at the document end
docs_insert_page_breakInsert a page break at a position or at the document end
docs_insert_section_breakInsert a section break at a position. CONTINUOUS keeps the same page; NEXT_PAGE starts a new page.
docs_insert_tableInsert a table into a document at a specific position
docs_insert_textInsert text into a document at a specific position or at the end
docs_modify_tableMutate a table by operation: insertRow, insertColumn, deleteRow, deleteColumn, mergeCells, unmergeCells. Locate the cell with tableStartIndex (the table's start index in the doc) plus rowIndex/columnIndex (0-based).
docs_readRead document content as plain text with a heading index (returns up to maxChars characters per call). Pass heading or headingIndex to read one section, tabId to read a specific tab.
docs_replace_named_range_contentReplace the content of every named range matching the identifier with the supplied text. Real mail-merge primitive — far more robust than replaceAllText for templated docs.
docs_replace_textFind and replace text in a document. Pass findText/replaceText for a single pair, or replacements for several pairs applied in one batchUpdate.
docs_update_document_styleUpdate document-level styling (page size, margins, headers/footers behavior). Only supplied fields are applied.
docs_update_paragraph_styleUpdate paragraph styling (alignment, heading, indents, spacing) across a range. Only supplied fields are applied.
docs_update_styleUpdate text formatting (bold, italic, underline, font, size) for a range
docs_update_tab_propertiesRename a tab, change its position, or move it under a different parent
drive_access_proposal_listList pending "Request access" proposals on a file. Useful for programmatic triage of share requests from external collaborators.
drive_access_proposal_resolveResolve a pending access proposal. Action ACCEPT requires a role array (e.g. ["reader"]).
drive_comment_createCreate a comment on a Drive file. Works on Docs, Sheets, Slides, PDFs, and any Drive file. The optional anchor is a JSON string describing the document region (see Drive "Manage comments" guide).
drive_comment_deleteDelete a comment from a Drive file
drive_comment_getGet a single comment by ID
drive_comment_listList comments on a Drive file with pagination
drive_comment_updateEdit the content of an existing comment (PATCH semantics)
drive_copyDuplicate a file in Google Drive (does not work on folders)
drive_create_folderCreate a new folder in Google Drive
drive_deletePermanently delete a file or folder from Google Drive. Irreversible. Use drive_trash for recoverable deletion.
drive_downloadDownload a binary file from Drive to local disk. For Google Workspace formats (Docs, Sheets, Slides), use drive_export instead.
drive_empty_trashPermanently delete every file currently in the account's trash. Irreversible.
drive_exportExport a Google Workspace document (Doc, Sheet, Slide) to a standard format and save to disk. Supported: PDF, DOCX, XLSX, PPTX, TXT, CSV, Markdown (text/markdown for Docs).
drive_get_aboutGet Drive storage quota, user display name, and email for an account
drive_listList files in a Google Drive folder or root
drive_list_permissionsList all people and groups who have access to a Drive file or folder
drive_moveMove a file between folders by replacing its parents. To move to multiple parents, list all of them.
drive_permission_updateChange the role and/or expirationTime of an existing permission without removing it. Use "removeExpiration=true" to clear an existing expirationTime.
drive_readRead the content of a Google Drive file: Workspace docs and textual types (text/*, JSON/XML/SVG and similar) inline; other binaries return error:binary (returns up to maxChars characters per call; non-Google-native files over 2MB return too_large)
drive_remove_permissionRevoke access to a Drive file for a specific permission
drive_reply_createReply to a comment. Optionally close or reopen the thread by setting action to "resolve" or "reopen".
drive_reply_deleteDelete a reply from a comment thread
drive_reply_listList replies on a comment with pagination
drive_reply_updateEdit the content of an existing reply
drive_revision_deleteDelete a specific revision of a file
drive_revision_listList version history of a Drive file
drive_revision_updatePin a revision (keepForever=true) against the 200-version cap, or change its published state for Docs.
drive_searchSearch files in a Google Drive account. A plain keyword is treated as a full-text search; pass Drive query syntax for a structured search.
drive_shareShare a file or folder with a user, group, domain, or anyone with the link
drive_shared_drive_getGet metadata for a specific shared drive
drive_shared_drives_listList shared drives the account has access to
drive_transferCopy or move a file from one configured account to another (server-side share+copy, with a download+upload fallback). The copy is owned by the target account with a clean name (no "Copy of"); the temporary share on the source is revoked afterwards. Comments, revision history, and permissions do not transfer. move=true trashes the source after a successful copy and requires deletes to be allowed by write-control.
drive_trashMove a file to Google Drive trash. Recoverable from Drive UI or via drive_untrash.
drive_untrashRestore a trashed file from Google Drive trash back to its previous location.
drive_updateRename, move, or replace content of a Drive file. Any combination in one call. For untrash, use drive_untrash.
drive_uploadUpload a file to Google Drive, from inline base64 content or (when this server exposes the host filesystem) a local path. Pass `convertTo` to import it as a native, editable Google Doc/Sheet/Slides/Drawing instead of storing the raw bytes.
forms_batch_updateGeneric forms.batchUpdate pass-through: add/edit/delete questions, update form info and settings. See https://developers.google.com/workspace/forms/api/reference/rest/v1/forms/request
forms_createCreate a new Google Form with a title (add questions with forms_batch_update)
forms_getGet a Google Form (definition: questions, sections, settings). Requires forms.body scope.
forms_response_getGet a single form response by ID
forms_responses_listList form responses. Requires forms.responses.readonly scope.
forms_set_publish_settingsPublish/unpublish a form and toggle whether it accepts responses (legacy forms without publish state are not supported)
forms_watches_listList Pub/Sub watches on a form (notifications for new responses or schema changes)
gmail_batch_deletePermanently delete multiple Gmail messages. Irreversible.
gmail_batch_modifyAdd/remove labels across up to 1000 Gmail messages at once. Useful for bulk archiving, marking as read, etc.
gmail_create_draftCreate a Gmail draft without sending
gmail_create_labelCreate a new custom Gmail label
gmail_deletePermanently and irreversibly delete a Gmail message. No recovery possible.
gmail_delete_draftPermanently delete a Gmail draft by its draft ID
gmail_delete_labelPermanently delete a Gmail label and remove it from all messages
gmail_download_attachmentDownload an email attachment to local disk. Use gmail_read first to get the attachmentId.
gmail_get_draftRead the full content of a specific Gmail draft
gmail_get_profileGet Gmail account profile: email address, total messages, total threads, and current history ID
gmail_get_vacationRead current Gmail vacation responder settings
gmail_list_draftsList all drafts in a Gmail mailbox
gmail_list_historyGet all mailbox changes since a given historyId. Useful for detecting new emails since last check.
gmail_list_labelsList all Gmail labels (system and user-defined). Use to get label IDs for gmail_modify_labels.
gmail_modify_labelsAdd or remove labels on a Gmail message. Use system label IDs like STARRED, UNREAD, INBOX, TRASH, or custom label IDs from gmail_list_labels.
gmail_readRead a full Gmail message by ID (body capped at 50k chars unless full=true). Pass `headers` for metadata mode: no body decoding, just id, threadId, labelIds and the named headers.
gmail_read_batchread-onlyRead many Gmail messages by ID in one call, collapsing the search→read triage loop. Bodies are capped at 50k chars each (unless full=true) and the aggregate output is bounded. Returns one ordered entry per id plus a trailing counts summary; a single failed id does NOT fail the batch. Pass `headers` for metadata mode: no body decoding, just id, threadId, labelIds and the named headers per entry.
gmail_read_threadRead all messages in a Gmail thread (bodies capped at 50k chars each unless full=true). mode=summary returns headers + snippets only.
gmail_searchSearch messages in a Gmail account. Returns compact rows (id, from, subject, date, snippet); pass full=true for threadId, to, labelIds and the untruncated snippet. For a recurring "what is new" sweep, prefer gmail_list_history over polling this with since.
gmail_sendSend an email from a Gmail account
gmail_send_draftSend an existing Gmail draft by its draft ID
gmail_set_vacationEnable or disable Gmail vacation responder with a custom message
gmail_trashMove a Gmail message to Trash (recoverable)
google_api_callcan change or delete dataInvoke any Google Workspace REST method by Discovery id (escape hatch for operations without a dedicated tool). Find methods with google_api_search first. A write asks the connected human to confirm the real call (account, verb, params, a destinations-first body summary) unless GOOGLE_PROFILE=full-writes with no outbound allowlist; GOOGLE_READ_ONLY or a matching GOOGLE_WRITE_DENY still refuse outright. On reads, pass a `fields` query param (Google partial response) to keep the payload small. Returns JSON only; for binary/file content (media downloads, drive.files.export) use drive_download / d…
google_api_searchDescription is built at runtime.
meet_conference_record_getGet a single conference record by resource name (e.g. conferenceRecords/abc123)
meet_conference_records_listList past conference records (completed Meet sessions) the user has access to
meet_recordings_listList recordings within a conference record. Returns Drive file IDs that can be downloaded via drive_download.
meet_transcript_entries_listList entries (per-speaker text segments) within a transcript. The actual transcript content.
meet_transcripts_listList transcripts within a conference record
reports_activities_listList Admin Activity audit log entries. Filter by application (login, drive, gmail, admin, token, etc.), user, date range, event. The single most useful admin endpoint for SMB visibility.
searchconsole_searchanalytics_queryQuery Google Search Console search analytics data. Returns clicks, impressions, CTR, and position for your site. Supports filtering by query, page, country, device, search type, and date range.
searchconsole_sitemaps_deleteDelete a sitemap from Google Search Console
searchconsole_sitemaps_getGet details for a specific sitemap submitted to Google Search Console
searchconsole_sitemaps_listList all sitemaps submitted for a site in Google Search Console
searchconsole_sitemaps_submitSubmit a sitemap to Google Search Console for a site
searchconsole_sites_addAdd a site (property) to Google Search Console. You still need to verify ownership separately.
searchconsole_sites_deleteRemove a site (property) from Google Search Console
searchconsole_sites_getGet details for a specific site (property) in Google Search Console
searchconsole_sites_listList all sites (properties) the account has access to in Google Search Console
searchconsole_url_inspectInspect a URL using the Google Search Console URL Inspection API. Returns indexing status, crawl info, rich results, AMP status, and mobile usability for a specific URL.
sheets_add_conditional_format_ruleAdd a conditional format rule. Specify either booleanRule (single trigger condition + format) or gradientRule (min/mid/max color stops).
sheets_add_named_rangeDefine a named range so formulas can reference it by name
sheets_add_sheetAdd a new tab/sheet to an existing spreadsheet
sheets_append_rowsAppend rows after the last row of existing data in a spreadsheet
sheets_auto_resize_dimensionsAuto-resize rows or columns to fit content
sheets_batch_clearClear values from multiple ranges in one request
sheets_batch_readRead multiple ranges from a spreadsheet in one request
sheets_batch_updateGeneric spreadsheets.batchUpdate pass-through. Accepts the full Request union (~70 types). Use this for advanced operations not covered by a dedicated tool. See https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/request
sheets_batch_writeWrite to multiple ranges in a spreadsheet in one request
sheets_clear_basic_filterRemove the basic filter from a sheet
sheets_clear_rangeClear values from a range (keeps formatting intact)
sheets_copy_sheet_toCopy a tab into another spreadsheet (which may belong to a different account)
sheets_createCreate a new Google Sheets spreadsheet
sheets_delete_dimensionDelete rows or columns from a sheet
sheets_delete_named_rangeDelete a named range by its ID
sheets_delete_sheetDelete a tab/sheet from a spreadsheet by sheetId
sheets_duplicate_sheetDuplicate a tab within the same spreadsheet
sheets_find_replaceFind and replace text across a range, a sheet, or all sheets. Supports case sensitivity, full-cell match, regex, and formula scope.
sheets_format_cellsApply uniform formatting (colors, fonts, alignment, number format) to every cell in a range. Uses RepeatCell with a computed fields mask. For borders use sheets_update_borders.
sheets_getGet spreadsheet metadata (title, sheets/tabs, named ranges)
sheets_insert_dimensionInsert rows or columns at a position. inheritFromBefore=true copies properties from the row/column before the insertion point.
sheets_merge_cellsMerge a range of cells. MERGE_ALL collapses the range to one cell; MERGE_COLUMNS merges each column; MERGE_ROWS merges each row.
sheets_read_rangeRead cell values from a spreadsheet range (A1 notation, e.g. "Sheet1!A1:D10")
sheets_set_basic_filterApply a basic filter to a range. Optionally supply sortSpecs to set the default sort, and filterSpecs to hide rows based on per-column criteria.
sheets_set_data_validationApply a data validation rule (dropdown, checkbox, numeric range, etc.) to a range. Pass conditionType=null to clear validation.
sheets_sort_rangeSort a range by one or more columns
sheets_unmerge_cellsUnmerge any merged cells overlapping the given range
sheets_update_bordersSet borders on a range. Each border specifies style and optional color.
sheets_update_sheet_propertiesRename a tab, change tab color, freeze rows/columns, hide/show, or change grid dimensions
sheets_write_rangeWrite values to a spreadsheet range
slides_batch_updateGeneric presentations.batchUpdate pass-through. Accepts the full Request union (create/move/delete slides, insert text/shapes/images/tables, styling, replaceAllText, …). See https://developers.google.com/workspace/slides/api/reference/rest/v1/presentations/request
slides_createCreate a new Google Slides presentation (starts with one blank slide)
slides_getGet a presentation as a compact summary (title, per-slide objectId + text digest). Pass full:true for the raw Presentation JSON (can be very large).
slides_page_getGet the full JSON of one slide/page (all page elements with geometry and text)
slides_page_thumbnailGet a rendered thumbnail image URL for one slide (the contentUrl expires after ~30 minutes)
tasks_clearPermanently delete every completed task in a tasklist
tasks_deleteDelete a task
tasks_getGet a single task
tasks_insertCreate a new task. Use parent to nest under another task, previous to position after a sibling.
tasks_listList tasks within a tasklist with rich filters
tasks_list_deleteDelete a tasklist and every task inside it
tasks_list_getGet a single tasklist by ID
tasks_list_insertCreate a new tasklist
tasks_list_updateRename a tasklist (PATCH semantics)
tasks_lists_listList all tasklists (the user's top-level task containers)
tasks_moveReposition a task: change its parent, move it after a sibling, or move it to another tasklist
tasks_updateUpdate a task (PATCH semantics — only supplied fields change)
Signals
- Stars
- 17
- Forks
- 17
- Open issues
- 3
- Last commit
- Oct 20, 2026 (8 days ago)
- Last release
- Oct 25, 2026 (3 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.bakissation/mcp-google-multi- Version
- 6.1.1
- Auth
- API key
- Packages
- npm mcp-google-multioci
ghcr.io/bakissation/mcp-google-multi:6.1.1mcpb https://github.com/bakissation/mcp-google-multi/releases/download/v6.1.1/mcp-google-multi.mcpb - License
- MIT
- Repository
- github.com/bakissation/mcp-google-multi
- First seen
- Oct 24, 2026
- Last checked
- Oct 26, 2026
Cite this page
Google Workspace (multi-account) MCP server. Agent Mart. https://agentmart.dev/connectors/bakissation-mcp-google-multi (last updated 2026-10-26)