Documentation

Current reference for authentication, transport modes, CLI usage, and all Google Workspace tool groups.

Authentication

Legacy OAuth 2.0 and OAuth 2.1 multi-user flows, including stateless and external-provider modes.

Source: auth/

OAuth 2.1 (Multi-User)

Enable with MCP_ENABLE_OAUTH21=true and run HTTP transport (--transport streamable-http). This is the recommended mode for modern MCP clients and bearer-token auth.

ParameterRequiredDescription
MCP_ENABLE_OAUTH21RequiredSet to true to enable OAuth 2.1 mode.
--transport streamable-httpRequiredRequired transport for OAuth 2.1 and full MCP compliance.

Legacy OAuth 2.0 (Single-User / Fallback)

Default mode when OAuth 2.1 is not enabled. Use this for older clients that do not support OAuth 2.1. --single-user cannot be combined with OAuth 2.1.

ParameterRequiredDescription
--single-userOptionalLegacy single-user flow; mutually exclusive with OAuth 2.1.
OAUTHLIB_INSECURE_TRANSPORTOptionalSet to 1 only for local HTTP development callbacks.

Stateless Mode

Container-friendly mode with no filesystem writes. Requires OAuth 2.1 and bearer tokens on requests.

ParameterRequiredDescription
WORKSPACE_MCP_STATELESS_MODERequiredSet to true (requires OAuth 2.1).

External OAuth 2.1 Provider

Use when your app handles OAuth externally. The server skips local OAuth flow and validates incoming bearer tokens.

ParameterRequiredDescription
EXTERNAL_OAUTH21_PROVIDERRequiredSet to true with MCP_ENABLE_OAUTH21=true.

OAuth Proxy Storage Backends

Select proxy storage backend for OAuth state in distributed deployments.

ParameterRequiredDescription
WORKSPACE_MCP_OAUTH_PROXY_STORAGE_BACKENDOptionalOne of memory, disk, or valkey.
WORKSPACE_MCP_OAUTH_PROXY_DISK_DIRECTORYOptionalDisk backend path.
WORKSPACE_MCP_OAUTH_PROXY_VALKEY_HOSTOptionalValkey/Redis host for distributed storage.

Service Account with Domain-Wide Delegation

Authenticate as a service account and impersonate domain users. When a tool call supplies user_google_email, it is used as the per-request impersonation subject, so one server instance can act for multiple domain users; USER_GOOGLE_EMAIL is the fallback subject.

ParameterRequiredDescription
GOOGLE_SERVICE_ACCOUNT_KEY_FILEOptionalPath to the service account JSON key file (or use GOOGLE_SERVICE_ACCOUNT_KEY_JSON inline — set one, not both).
USER_GOOGLE_EMAILRequiredFallback impersonation subject when a tool call supplies no email.
DWD_ALLOWED_DOMAINSOptionalComma-separated domain allowlist for per-request impersonation. Unset allows any email the delegation scope accepts.

OAuth Consent Page Branding

Customize the OAuth 2.1 consent page shown to users during authorization.

ParameterRequiredDescription
WORKSPACE_MCP_BRAND_NAMEOptionalServer name shown on the consent page.
WORKSPACE_MCP_BRAND_ICON_URLOptionalConsent-page logo (hosted URL or data: URI), shown at 64px wide.
WORKSPACE_MCP_BRAND_WEBSITE_URLOptionalWebsite link shown on the consent page.

Server Modes and CLI

Transport guidance, CLI mode, tool tiers, and permission filtering options.

Source: main.py

HTTP Transport (Recommended)

Run with --transport streamable-http for Claude Code, VS Code MCP, MCP Inspector, and OAuth 2.1 support.

Stdio Transport (Legacy)

Use only for clients with incomplete MCP support. Not recommended for modern multi-user flows.

CLI Mode (`--cli`)

Directly list and invoke tools from the command line without running the full MCP server process.

ParameterRequiredDescription
--cli list --jsonOptionalList tools for scripting and automation.
--cli <tool> --args <json>OptionalInvoke a specific tool with JSON args.

Tool Tiers

Three cumulative tiers for simplified deployments: core, extended, complete.

ParameterRequiredDescription
--tool-tier core|extended|completeOptionalScope loaded tools to the selected tier.

Read-Only and Granular Permissions

--read-only requests readonly scopes and hides write tools. --permissions enables per-service permission levels.

ParameterRequiredDescription
--read-onlyOptionalRequests readonly scopes and filters write tools.
--permissions service:levelOptionalPer-service access levels (for example gmail:send).

Reverse Proxy OAuth URL Overrides

Use external URL overrides when running behind a reverse proxy so generated OAuth endpoints match public domains.

ParameterRequiredDescription
WORKSPACE_EXTERNAL_URLOptionalSets a public base URL for OAuth-related endpoints.
GOOGLE_OAUTH_REDIRECT_URIOptionalOverride only the OAuth callback URL.
OAUTH_CUSTOM_REDIRECT_URISOptionalComma-separated additional redirect URIs.
OAUTH_ALLOWED_ORIGINSOptionalComma-separated additional CORS origins.

Attachment Storage

Downloaded Gmail/Drive attachments are stored in persistent local storage and exposed by URL in HTTP mode.

ParameterRequiredDescription
WORKSPACE_ATTACHMENT_DIROptionalOverride the default ~/.workspace-mcp/attachments/ location.

OpenTelemetry Tracing (Optional)

Distributed tracing via the otel extra (pip install "workspace-mcp[otel]", included in the Docker image). Tracing is fully disabled unless an OTLP endpoint is configured; spans export only to the collector you specify. Standard OTLP variables for headers, TLS, sampling, and batching are honored.

ParameterRequiredDescription
OTEL_EXPORTER_OTLP_ENDPOINTOptionalOTLP collector endpoint. Unset means tracing is disabled.
OTEL_EXPORTER_OTLP_PROTOCOLOptionalgrpc (default) or http/protobuf.
OTEL_SERVICE_NAMEOptionalService name — defaults to google-workspace-mcp.
WORKSPACE_MCP_OTEL_USER_EMAILOptionalSet true to record the authenticated user's email on spans. PII — off by default.

Logging

Server debug logs are written to a configurable directory.

ParameterRequiredDescription
WORKSPACE_MCP_LOG_DIROptionalDirectory for mcp_server_debug.log — defaults to ~/.google_workspace_mcp/logs.

Google Calendar MCP

Calendar operations with consolidated event management, availability, and working-status tooling.

Source: gcalendar/calendar_tools.py

list_calendars

Core

Lists calendars accessible to the authenticated user.

get_events

Core

Retrieves events for a calendar and time range.

ParameterRequiredDescription
calendar_idOptionalDefaults to primary.
time_minOptionalRFC3339 or date.
time_maxOptionalRFC3339 or date.
max_resultsOptionalMaximum events to return.

manage_event

Core

Consolidated create, update, and delete event operations.

ParameterRequiredDescription
actionRequiredcreate, update, or delete.
event_idOptionalRequired for update and delete.

create_calendar

Extended

Create a new secondary Google Calendar.

ParameterRequiredDescription
summaryRequiredName for the new calendar.
descriptionOptionalOptional calendar description.
timezoneOptionalIANA timezone (e.g., "America/New_York").

query_freebusy

Extended

Query free/busy information across one or more calendars.

ParameterRequiredDescription
time_minRequiredStart of the window (RFC3339).
time_maxRequiredEnd of the window (RFC3339).
calendar_idsOptionalCalendar IDs to query. Defaults to primary.
group_expansion_maxOptionalMaximum calendars to expand per group.
calendar_expansion_maxOptionalMaximum calendars for which to return busy information.

manage_out_of_office

Extended

Create, list, update, or delete Out of Office events.

ParameterRequiredDescription
actionRequiredcreate, list, update, or delete.
start_timeOptionalStart time (required for create).
end_timeOptionalEnd time (required for create).
summaryOptionalEvent title.
auto_decline_modeOptionalHow conflicting meetings are declined.
decline_messageOptionalMessage sent with auto-declines.
recurrenceOptionalRRULE strings for recurring events.
event_idOptionalRequired for update and delete.
calendar_idOptionalDefaults to primary.

manage_focus_time

Extended

Create, list, update, or delete Focus Time events.

ParameterRequiredDescription
actionRequiredcreate, list, update, or delete.
start_timeOptionalStart time (required for create).
end_timeOptionalEnd time (required for create).
summaryOptionalEvent title.
auto_decline_modeOptionalHow conflicting meetings are declined.
decline_messageOptionalMessage sent with auto-declines.
chat_statusOptionalChat availability during focus time (e.g., "doNotDisturb").
recurrenceOptionalRRULE strings for recurring events.
event_idOptionalRequired for update and delete.
calendar_idOptionalDefaults to primary.

Google Drive MCP

Drive content, sharing, import/export, and permission management.

Source: gdrive/drive_tools.py

search_drive_files

Core

Search Drive files and folders.

ParameterRequiredDescription
queryRequiredThe search query string. Supports Google Drive search operators.
page_sizeOptionalThe maximum number of files to return. Defaults to 10.
page_tokenOptionalPage token from a previous response's nextPageToken.
drive_idOptionalID of the shared drive to search.
file_typeOptionalRestrict results to specific file type (e.g., 'folder', 'document', 'pdf').

get_drive_file_content

Core

Read file content with export support.

ParameterRequiredDescription
file_idRequiredDrive file ID.

get_drive_file_download_url

Core

Download Drive files via local path or HTTP attachment URL.

ParameterRequiredDescription
file_idRequiredThe Google Drive file ID to download.
export_formatOptionalOptional export format for Google native files.

create_drive_file

Core

Create files from inline content or source URLs.

ParameterRequiredDescription
file_nameRequiredThe name for the new file.
contentOptionalText content to write to the file.
folder_idOptionalThe ID of the parent folder. Defaults to 'root'.
mime_typeOptionalThe MIME type of the file. Defaults to 'text/plain'.
fileUrlOptionalIf provided, fetches file content from this URL (file://, http://, https://).

create_drive_folder

Core

Create folders in My Drive or shared drives.

ParameterRequiredDescription
folder_nameRequiredThe name for the new folder.
parent_folder_idOptionalThe ID of the parent folder. Defaults to 'root'.

import_to_google_doc

Core

Import files (Markdown, DOCX, HTML, etc.) into Google Docs.

ParameterRequiredDescription
file_nameRequiredThe name for the new Google Doc (extension will be ignored).
contentOptionalText content for text-based formats (MD, TXT, HTML).
file_pathOptionalLocal file path for binary formats (DOCX, ODT).
file_urlOptionalRemote URL to fetch the file from (http/https).
source_formatOptionalSource format hint ('md', 'markdown', 'docx', 'txt', 'html', 'rtf', 'odt').

import_to_google_slides

Core

Import presentation files (PPTX, PPT, ODP) as Google Slides.

ParameterRequiredDescription
file_nameRequiredThe name for the new Google Slides presentation.
file_pathOptionalLocal file path to the presentation file.
file_urlOptionalRemote URL to fetch the file from (http/https).
source_formatOptionalSource format hint ('pptx', 'ppt', 'odp').
folder_idOptionalDestination folder ID. Defaults to 'root'.

import_to_google_sheets

Core

Import spreadsheet files (XLSX, CSV, TSV, etc.) as Google Sheets.

ParameterRequiredDescription
file_nameRequiredThe name for the new Google Sheet.
contentOptionalInline text content for text-based formats (CSV, TSV).
file_pathOptionalLocal file path for binary formats (XLSX, ODS).
file_urlOptionalRemote URL to fetch the file from (http/https).
source_formatOptionalSource format hint ('xlsx', 'csv', 'tsv', 'ods').
folder_idOptionalDestination folder ID. Defaults to 'root'.

get_drive_shareable_link

Core

Generate shareable links for files.

ParameterRequiredDescription
file_idRequiredThe ID of the file or folder to get the shareable link for.

list_drive_items

Extended

List folder contents or shared drives.

ParameterRequiredDescription
folder_idOptionalThe ID of the Google Drive folder. Defaults to 'root'.
page_sizeOptionalThe maximum number of items to return. Defaults to 100.
page_tokenOptionalPage token for pagination.
drive_idOptionalShared drive ID to list from.
resource_typeOptionalitems (default) or drives to list shared drives.
file_typeOptionalRestrict results to specific file type.

copy_drive_file

Extended

Copy existing Drive files with optional renaming.

ParameterRequiredDescription
file_idRequiredThe ID of the file to copy.
new_nameOptionalNew name for the copied file. If not provided, uses "Copy of [original name]".
parent_folder_idOptionalThe ID of the folder where the copy should be created. Defaults to 'root'.

update_drive_file

Extended

Update metadata, move files, or replace Google Apps content in place.

ParameterRequiredDescription
file_idRequiredThe ID of the file to update.
nameOptionalNew name for the file.
descriptionOptionalNew description for the file.
add_parentsOptionalComma-separated folder IDs to add as parents.
remove_parentsOptionalComma-separated folder IDs to remove from parents.
starredOptionalStar or unstar the file.
trashedOptionalMove the file to or from the trash.
contentOptionalReplacement text content (Markdown, TXT, HTML), preserving the file ID.
file_pathOptionalLocal file path for binary replacement content (DOCX, ODT, etc.).
file_urlOptionalRemote URL to fetch replacement content from.
source_formatOptionalFormat hint for replacement content ('md', 'docx', 'txt', 'html', 'rtf', 'odt').

manage_drive_access

Extended

Grant, update, revoke permissions, and transfer ownership.

ParameterRequiredDescription
file_idRequiredThe ID of the file or folder.
actionRequiredThe access management action to perform ('grant', 'revoke', 'update', 'transfer_ownership').
share_withOptionalEmail address (user/group) or domain name.
roleOptionalPermission role ('reader', 'writer', 'commenter', 'owner').
permission_idOptionalPermission ID for revoke/update actions.

set_drive_file_permissions

Extended

Configure link sharing and file-level sharing.

ParameterRequiredDescription
file_idRequiredThe ID of the file or folder.
link_sharingOptionalControl "anyone with the link" access for the file.
writers_can_shareOptionalWhether editors can change permissions and share.

get_drive_file_permissions

Complete

Get file metadata, parents, and detailed permission entries.

ParameterRequiredDescription
file_idRequiredThe ID of the file to check permissions for.

check_drive_file_public_access

Complete

Check whether a file is publicly accessible.

ParameterRequiredDescription
file_nameRequiredThe name of the file to check.

Gmail MCP

Message, label, filter, thread, and attachment workflows.

Source: gmail/gmail_tools.py

search_gmail_messages

Core

Search mail using Gmail query operators.

ParameterRequiredDescription
queryRequiredThe search query. Supports standard Gmail search operators.
page_sizeOptionalThe maximum number of messages to return. Defaults to 10.
page_tokenOptionalToken for retrieving the next page of results.

get_gmail_message_content

Core

Retrieve message content. With full=True, returns the complete untruncated message via file/URL (or inline when no file storage is available).

ParameterRequiredDescription
message_idRequiredThe unique ID of the Gmail message to retrieve.
body_formatOptionalBody output format: 'text' (default), 'html', or 'raw' (decoded MIME).
fullOptionalIf True, return the complete untruncated message.

get_gmail_messages_content_batch

Core

Batch fetch message content.

ParameterRequiredDescription
message_idsRequiredList of Gmail message IDs to retrieve (max 25 per batch).
formatOptionalMessage format. "full" includes body, "metadata" only headers.

send_gmail_message

Core

Send email messages (supports replies and attachments).

ParameterRequiredDescription
toRequiredRecipient email address.
subjectRequiredEmail subject.
bodyRequiredEmail body content.
body_formatOptionalEmail body format ('plain' or 'html'). Defaults to 'plain'.
ccOptionalOptional CC email address.
bccOptionalOptional BCC email address.
thread_idOptionalThread ID to reply within.
attachmentsOptionalOptional list of attachments (path or base64 content).

get_gmail_thread_content

Extended

Retrieve full thread content.

ParameterRequiredDescription
thread_idRequiredThe unique ID of the Gmail thread to retrieve.

get_gmail_attachment_content

Extended

Download Gmail attachments to persistent attachment storage.

ParameterRequiredDescription
message_idRequiredThe ID of the Gmail message containing the attachment.
attachment_idRequiredThe ID of the attachment to download.
return_base64OptionalIf True, also return the attachment content as base64.

modify_gmail_message_labels

Extended

Add/remove labels on a message.

ParameterRequiredDescription
message_idRequiredThe ID of the message to modify.
add_label_idsOptionalList of label IDs to add to the message.
remove_label_idsOptionalList of label IDs to remove from the message.

list_gmail_labels

Extended

List account labels.

list_gmail_filters

Extended

List configured Gmail filters.

manage_gmail_label

Extended

Create/update/delete labels.

ParameterRequiredDescription
actionRequiredAction to perform on the label ('create', 'update', 'delete').
nameOptionalLabel name. Required for create, optional for update.
label_idOptionalLabel ID. Required for update and delete operations.

manage_gmail_filter

Extended

Create/delete Gmail filters.

ParameterRequiredDescription
actionRequiredAction to perform - "create" or "delete".
criteriaOptionalFilter criteria object (required for create).
filter_actionOptionalFilter action object (required for create).
filter_idOptionalID of the filter to delete (required for delete).

draft_gmail_message

Extended

Create Gmail drafts.

ParameterRequiredDescription
subjectRequiredEmail subject.
bodyRequiredEmail body (plain text).
toOptionalOptional recipient email address.
ccOptionalOptional CC email address.
attachmentsOptionalOptional list of attachments.

get_gmail_threads_content_batch

Complete

Batch fetch thread content.

ParameterRequiredDescription
thread_idsRequiredA list of Gmail thread IDs to retrieve.

batch_modify_gmail_message_labels

Complete

Batch label modifications.

ParameterRequiredDescription
message_idsRequiredA list of message IDs to modify.
add_label_idsOptionalList of label IDs to add to the messages.
remove_label_idsOptionalList of label IDs to remove from the messages.

start_google_auth

Complete

Legacy OAuth 2.0 auth helper (disabled with OAuth 2.1).

Google Docs MCP

Document creation, edits, exports, structured updates, and comment management.

Source: gdocs/docs_tools.py

get_doc_content

Core

Extract plain text document content.

ParameterRequiredDescription
document_idRequiredID of the document to retrieve.

create_doc

Core

Create new documents.

ParameterRequiredDescription
titleRequiredThe title for the new document.
contentOptionalInitial text content for the document.

modify_doc_text

Core

Modify document text with formatting and links.

ParameterRequiredDescription
document_idRequiredID of the document to update.
start_indexRequiredStart position for operation (0-based).
end_indexOptionalEnd position for text replacement/formatting (if not provided with text, text is inserted).
textOptionalNew text to insert or replace with (optional - can format existing text without changing it).
boldOptionalWhether to make text bold (True/False/None to leave unchanged).
italicOptionalWhether to make text italic (True/False/None to leave unchanged).
underlineOptionalWhether to underline text (True/False/None to leave unchanged).
font_sizeOptionalFont size in points.
font_familyOptionalFont family name (e.g., "Arial", "Times New Roman").
text_colorOptionalForeground text color (#RRGGBB).
background_colorOptionalBackground/highlight color (#RRGGBB).
link_urlOptionalHyperlink URL (http/https).

search_docs

Extended

Search docs by name.

ParameterRequiredDescription
queryRequiredSearch query to find documents by name.
page_sizeOptionalMaximum number of results to return.

find_and_replace_doc

Extended

Find and replace text.

ParameterRequiredDescription
document_idRequiredID of the document to update.
find_textRequiredText to search for.
replace_textRequiredText to replace with.
match_caseOptionalWhether to match case exactly.

list_docs_in_folder

Extended

List docs in a Drive folder.

ParameterRequiredDescription
folder_idOptionalThe ID of the folder. Defaults to root.
page_sizeOptionalMaximum number of documents to return.

insert_doc_elements

Extended

Insert tables, lists, and page breaks.

ParameterRequiredDescription
document_idRequiredID of the document to update.
element_typeRequiredType of element to insert ("table", "list", "page_break").
indexRequiredPosition to insert element (0-based).
rowsOptionalNumber of rows for table (required for table).
columnsOptionalNumber of columns for table (required for table).
list_typeOptionalType of list ("UNORDERED", "ORDERED") (required for list).
textOptionalInitial text content for list items.

update_paragraph_style

Extended

Apply heading and paragraph styles, including nested lists.

ParameterRequiredDescription
document_idRequiredDocument ID to modify.
start_indexRequiredStart position (1-based).
end_indexRequiredEnd position (exclusive) - should cover the entire paragraph.
heading_levelOptionalHeading level 0-6 (0 = NORMAL_TEXT, 1 = H1, 2 = H2, etc.).
alignmentOptionalText alignment.
line_spacingOptionalLine spacing value.
list_typeOptionalList type for creating lists.
list_nesting_levelOptionalNesting level for lists.

get_doc_as_markdown

Extended

Export a document as formatted Markdown.

ParameterRequiredDescription
document_idRequiredID of the Google Doc (or full URL).
include_commentsOptionalWhether to include comments (default: True).
comment_modeOptionalHow to display comments.
include_resolvedOptionalWhether to include resolved comments (default: False).

export_doc_to_pdf

Extended

Export a doc to PDF.

ParameterRequiredDescription
document_idRequiredID of the Google Doc to export.
pdf_filenameOptionalName for the PDF file (optional - if not provided, uses original name + "_PDF").
folder_idOptionalDrive folder ID to save PDF in (optional - if not provided, saves in root).

list_document_comments

Extended

List all document comments.

manage_document_comment

Extended

Create, reply, or resolve comments.

insert_doc_image

Complete

Insert images from Drive or URLs.

ParameterRequiredDescription
document_idRequiredID of the document to update.
image_sourceRequiredDrive file ID or public image URL.
indexRequiredPosition to insert image (0-based).
widthOptionalImage width in points (optional).
heightOptionalImage height in points (optional).

update_doc_headers_footers

Complete

Update headers and footers.

ParameterRequiredDescription
document_idRequiredID of the document to update.
section_typeRequiredType of section to update ("header" or "footer").
contentRequiredText content for the header/footer.
header_footer_typeOptionalType of header/footer ("DEFAULT", "FIRST_PAGE_ONLY", "EVEN_PAGE").

batch_update_doc

Complete

Execute multiple doc operations in one call.

ParameterRequiredDescription
document_idRequiredID of the document to update.
operationsRequiredList of operation dictionaries.

inspect_doc_structure

Complete

Inspect structural document elements.

ParameterRequiredDescription
document_idRequiredID of the document to inspect.
detailedOptionalWhether to return detailed structure information.

create_table_with_data

Complete

Create populated tables.

ParameterRequiredDescription
document_idRequiredID of the document to update.
table_dataRequired2D list of strings - EXACT format: [["col1", "col2"], ["row1col1", "row1col2"]].
indexRequiredDocument position (get from inspect_doc_structure 'total_length').
bold_headersOptionalWhether to make first row bold (default: true).

debug_table_structure

Complete

Debug table structures.

ParameterRequiredDescription
document_idRequiredID of the document to inspect.
table_indexOptionalWhich table to debug (0 = first table, 1 = second table, etc.).

manage_doc_tab

Complete

Create, rename, delete, or populate document tabs from markdown.

ParameterRequiredDescription
document_idRequiredID of the document to update.
actionRequired'create', 'rename', 'delete', or 'populate_from_markdown'.
tab_idOptionalTab ID (required for rename, delete, and populate).
titleOptionalTab title (required for create and rename).
indexOptionalPosition for the new tab.
parent_tab_idOptionalParent tab ID for nested tabs.
markdown_textOptionalMarkdown content for populate_from_markdown.
replace_existingOptionalWhether populate replaces existing tab content (default: True).

Google Sheets MCP

Spreadsheet reads/writes, formatting, comments, and conditional formatting.

Source: gsheets/sheets_tools.py

read_sheet_values

Core

Read values from ranges.

ParameterRequiredDescription
spreadsheet_idRequiredThe ID of the spreadsheet.
range_nameOptionalThe range to read (e.g., "Sheet1!A1:D10", "A1:D10"). Defaults to "A1:Z1000".
include_hyperlinksOptionalIf True, also fetch hyperlink metadata for the range.

modify_sheet_values

Core

Write, update, and clear range values.

ParameterRequiredDescription
spreadsheet_idRequiredThe ID of the spreadsheet.
range_nameRequiredThe range to modify (e.g., "Sheet1!A1:D10", "A1:D10").
valuesOptional2D array of values to write/update. Can be a JSON string or Python list. Required unless clear_values=True.
value_input_optionOptionalHow to interpret input values ("RAW" or "USER_ENTERED"). Defaults to "USER_ENTERED".
clear_valuesOptionalIf True, clears the range instead of writing values. Defaults to False.

create_spreadsheet

Core

Create spreadsheets.

ParameterRequiredDescription
titleRequiredThe title of the new spreadsheet.
sheet_namesOptionalList of sheet names to create. If not provided, creates one sheet with default name.

list_spreadsheets

Extended

List available spreadsheets.

ParameterRequiredDescription
max_resultsOptionalMaximum number of spreadsheets to return. Defaults to 25.

get_spreadsheet_info

Extended

Read spreadsheet metadata and sheet info.

ParameterRequiredDescription
spreadsheet_idRequiredThe ID of the spreadsheet to get info for.

format_sheet_range

Extended

Apply styling and number/text formats to ranges.

ParameterRequiredDescription
spreadsheet_idRequiredThe ID of the spreadsheet.
range_nameRequiredA1-style range (optionally with sheet name).
background_colorOptionalHex background color (e.g., "#FFEECC").
text_colorOptionalHex text color (e.g., "#000000").
number_format_typeOptionalSheets number format type (e.g., "DATE").
number_format_patternOptionalCustom pattern for the number format.
wrap_strategyOptionalText wrap strategy (WRAP, OVERFLOW_CELL, CLIP).
horizontal_alignmentOptionalHorizontal alignment.
vertical_alignmentOptionalVertical alignment.
boldOptionalWhether to make text bold.
italicOptionalWhether to make text italic.
font_sizeOptionalFont size.

list_sheet_tables

Extended

List structured tables with IDs, names, ranges, and columns.

ParameterRequiredDescription
spreadsheet_idRequiredThe ID of the spreadsheet.

create_sheet

Complete

Add sheets to existing spreadsheets.

ParameterRequiredDescription
spreadsheet_idRequiredThe ID of the spreadsheet.
sheet_nameRequiredThe name of the new sheet.

append_table_rows

Complete

Append rows to a structured table, auto-extending the table range.

ParameterRequiredDescription
spreadsheet_idRequiredThe ID of the spreadsheet.
table_idRequiredThe ID of the table (from list_sheet_tables).
valuesRequired2D array of row values to append.

move_sheet_rows

Complete

Move rows between sheets within a spreadsheet.

ParameterRequiredDescription
spreadsheet_idRequiredThe ID of the spreadsheet.
source_sheetRequiredName of the sheet to move rows from.
start_rowRequiredFirst row to move (1-based).
end_rowRequiredLast row to move (inclusive).
destination_sheetRequiredName of the sheet to move rows to.

resize_sheet_dimensions

Complete

Resize, hide, freeze, insert, or delete rows and columns.

ParameterRequiredDescription
spreadsheet_idRequiredThe ID of the spreadsheet.
sheet_nameOptionalSheet to modify. Defaults to the first sheet.
column_sizesOptionalMap of column letters to pixel widths.
row_sizesOptionalMap of row numbers to pixel heights.
auto_resize_columnsOptionalColumns to auto-fit to content.
frozen_row_countOptionalNumber of frozen header rows.
frozen_column_countOptionalNumber of frozen columns.
hide_columnsOptionalColumns to hide (unhide_columns reverses).
hide_rowsOptionalRows to hide (unhide_rows reverses).
insert_rowsOptionalNumber of rows to insert (with insert_rows_at).
insert_columnsOptionalNumber of columns to insert (with insert_columns_at).
delete_rowsOptionalRows to delete.
delete_columnsOptionalColumns to delete.

list_spreadsheet_comments

Complete

List comments on spreadsheets.

manage_spreadsheet_comment

Complete

Create, reply, and resolve spreadsheet comments.

manage_conditional_formatting

Complete

Add, update, and remove conditional formatting rules.

ParameterRequiredDescription
spreadsheet_idRequiredThe ID of the spreadsheet.
actionRequiredThe operation to perform ("add", "update", "remove").
range_nameOptionalRange to apply conditional formatting to.
condition_typeOptionalType of condition.
condition_valuesOptionalValues for the condition.
background_colorOptionalBackground color for formatting.
text_colorOptionalText color for formatting.
rule_indexOptionalIndex of rule to update/remove.
gradient_pointsOptionalGradient points for gradient formatting.
sheet_nameOptionalSheet name for the range.

Google Slides MCP

Presentations, page retrieval, thumbnails, and comment management.

Source: gslides/slides_tools.py

create_presentation

Core

Create presentations.

ParameterRequiredDescription
titleOptionalThe title for the new presentation. Defaults to "Untitled Presentation".

get_presentation

Core

Retrieve presentation details.

ParameterRequiredDescription
presentation_idRequiredThe ID of the presentation to retrieve.

batch_update_presentation

Extended

Apply multiple slide updates in one request.

ParameterRequiredDescription
presentation_idRequiredThe ID of the presentation to update.
requestsRequiredList of update requests to apply.

get_page

Extended

Retrieve a specific page/slide.

ParameterRequiredDescription
presentation_idRequiredThe ID of the presentation.
page_object_idRequiredThe object ID of the page/slide to retrieve.

get_page_thumbnail

Extended

Generate slide thumbnails.

ParameterRequiredDescription
presentation_idRequiredThe ID of the presentation.
page_object_idRequiredThe object ID of the page/slide.
thumbnail_sizeOptionalSize of thumbnail ("LARGE", "MEDIUM", "SMALL"). Defaults to "MEDIUM".

list_presentation_comments

Complete

List all presentation comments.

manage_presentation_comment

Complete

Create, reply, and resolve presentation comments.

Google Forms MCP

Form creation, response retrieval, publish settings, and batch updates.

Source: gforms/forms_tools.py

create_form

Core

Create forms.

ParameterRequiredDescription
titleRequiredThe title of the form.
descriptionOptionalThe description of the form.
document_titleOptionalThe document title (shown in browser tab).

get_form

Core

Retrieve form metadata and URLs.

ParameterRequiredDescription
form_idRequiredThe ID of the form to retrieve.

list_form_responses

Extended

List responses with pagination.

ParameterRequiredDescription
form_idRequiredThe ID of the form.
page_sizeOptionalMaximum number of responses to return. Defaults to 10.
page_tokenOptionalToken for retrieving next page of results.

set_publish_settings

Complete

Configure publish and auth settings.

ParameterRequiredDescription
form_idRequiredThe ID of the form to update publish settings for.
publish_as_templateOptionalWhether to publish as a template. Defaults to False.
require_authenticationOptionalWhether to require authentication to view/submit. Defaults to False.

get_form_response

Complete

Retrieve an individual response.

ParameterRequiredDescription
form_idRequiredThe ID of the form.
response_idRequiredThe ID of the response to retrieve.

batch_update_form

Complete

Apply batch updates to form structure/settings.

ParameterRequiredDescription
form_idRequiredThe ID of the form to update.
requestsRequiredList of update requests to apply.

Google Tasks MCP

Consolidated task and task-list management APIs.

Source: gtasks/tasks_tools.py

list_tasks

Core

List tasks with filters.

ParameterRequiredDescription
task_list_idRequiredThe ID of the task list to retrieve tasks from.
max_resultsOptionalMaximum number of tasks to return (default: 20, max: 10000).
page_tokenOptionalToken for pagination.
show_completedOptionalWhether to include completed tasks (default: True).
show_deletedOptionalWhether to include deleted tasks (default: False).
show_hiddenOptionalWhether to include hidden tasks (default: False).
show_assignedOptionalWhether to include assigned tasks (default: False).
completed_maxOptionalUpper bound for completion date (RFC 3339 timestamp).
completed_minOptionalLower bound for completion date (RFC 3339 timestamp).
due_maxOptionalUpper bound for due date (RFC 3339 timestamp).
due_minOptionalLower bound for due date (RFC 3339 timestamp).
updated_minOptionalLower bound for last modification time (RFC 3339 timestamp).

get_task

Core

Retrieve task details.

ParameterRequiredDescription
task_list_idRequiredThe ID of the task list containing the task.
task_idRequiredThe ID of the task to retrieve.

manage_task

Core

Consolidated create, update, delete, and move task operations.

ParameterRequiredDescription
actionRequiredThe action to perform ("create", "update", "delete", "move").
task_list_idRequiredThe ID of the task list.
task_idOptionalThe ID of the task (required for "update", "delete", and "move").
titleOptionalThe title of the task (required for "create", optional for "update").
notesOptionalNotes/description for the task.
statusOptionalTask status ("needsAction" or "completed").
dueOptionalDue date in RFC 3339 format.
parentOptionalParent task ID (for subtasks).
previousOptionalPrevious sibling task ID (for positioning).
destination_task_listOptionalDestination task list ID (for moving between lists).

list_task_lists

Complete

List task lists.

ParameterRequiredDescription
max_resultsOptionalMaximum number of task lists to return (default: 1000, max: 1000).
page_tokenOptionalToken for pagination.

get_task_list

Complete

Retrieve task-list details.

ParameterRequiredDescription
task_list_idRequiredThe ID of the task list to retrieve.

manage_task_list

Complete

Consolidated create/update/delete/clear-completed for task lists.

ParameterRequiredDescription
actionRequiredThe action to perform ("create", "update", "delete", "clear_completed").
task_list_idOptionalThe ID of the task list (required for "update", "delete", and "clear_completed").
titleOptionalThe title for the task list (required for "create" and "update").

Google Contacts MCP

People API contact and group workflows.

Source: gcontacts/contacts_tools.py

search_contacts

Core

Search by name, email, and phone.

ParameterRequiredDescription
queryRequiredSearch query string (searches names, emails, phone numbers).
page_sizeOptionalMaximum number of results to return (default: 30, max: 30).

get_contact

Core

Retrieve detailed contact profiles.

ParameterRequiredDescription
contact_idRequiredThe contact ID (e.g., "c1234567890" or full resource name "people/c1234567890").

list_contacts

Core

List contacts with pagination.

ParameterRequiredDescription
page_sizeOptionalMaximum number of contacts to return (default: 100, max: 1000).
page_tokenOptionalToken for pagination.
sort_orderOptionalSort order: "LAST_MODIFIED_ASCENDING", "LAST_MODIFIED_DESCENDING", "FIRST_NAME_ASCENDING", or "LAST_NAME_ASCENDING".

manage_contact

Core

Create, update, or delete contacts.

ParameterRequiredDescription
actionRequiredThe action to perform: "create", "update", or "delete".
contact_idOptionalThe contact ID (required for "update" and "delete").
given_nameOptionalFirst name (for create/update).
family_nameOptionalLast name (for create/update).
emailOptionalEmail address (for create/update).
phoneOptionalPhone number (for create/update).
organizationOptionalCompany/organization name (for create/update).
job_titleOptionalJob title (for create/update).
notesOptionalAdditional notes (for create/update).

list_contact_groups

Extended

List contact groups.

ParameterRequiredDescription
page_sizeOptionalMaximum number of groups to return (default: 100, max: 1000).
page_tokenOptionalToken for pagination.

get_contact_group

Extended

Retrieve group details and members.

ParameterRequiredDescription
group_idRequiredThe contact group ID.
max_membersOptionalMaximum number of members to return (default: 100, max: 1000).

manage_contacts_batch

Complete

Batch create, update, or delete contacts.

ParameterRequiredDescription
actionRequiredThe action to perform: "create", "update", or "delete".
contactsOptionalList of contact dicts for "create" action.
updatesOptionalList of update dicts for "update" action.
contact_idsOptionalList of contact IDs for "delete" action.

manage_contact_group

Complete

Create, update, delete groups, and manage membership.

ParameterRequiredDescription
actionRequiredThe action to perform: "create", "update", "delete", or "modify_members".
group_idOptionalThe contact group ID (required for "update", "delete", and "modify_members").
nameOptionalGroup name (required for "create", optional for "update").
delete_contactsOptionalWhether to delete contacts when deleting group.
add_contact_idsOptionalContact IDs to add to group.
remove_contact_idsOptionalContact IDs to remove from group.

Google Chat MCP

Space messaging, reactions, search, and attachment download.

Source: gchat/chat_tools.py

get_messages

Core

Retrieve messages in a space.

ParameterRequiredDescription
space_idRequiredThe ID of the space to retrieve messages from.
page_sizeOptionalMaximum number of messages to return.
order_byOptionalHow to order the messages.

send_message

Core

Send messages to spaces.

ParameterRequiredDescription
space_idRequiredThe ID of the space to send the message to.
message_textRequiredThe text content of the message.
thread_keyOptionalReply in a thread by app-defined key (creates thread if not found).
thread_nameOptionalReply in an existing thread by its resource name (e.g. spaces/X/threads/Y).

search_messages

Core

Search chat history.

ParameterRequiredDescription
queryRequiredThe search query.
space_idOptionalOptional space ID to limit search to.
page_sizeOptionalMaximum number of results to return.

create_reaction

Core

Add emoji reactions to messages.

ParameterRequiredDescription
message_idRequiredThe message resource name (e.g. spaces/X/messages/Y).
emoji_unicodeRequiredThe emoji character to react with (e.g. 👍).

list_spaces

Extended

List spaces and DMs.

ParameterRequiredDescription
page_sizeOptionalMaximum number of spaces to return.
space_typeOptionalFilter by space type.

download_chat_attachment

Extended

Download chat attachments.

ParameterRequiredDescription
message_idRequiredThe message resource name (e.g. spaces/X/messages/Y).
attachment_indexOptionalZero-based index of the attachment to download (default 0).

Google Apps Script MCP

Create, execute, and manage Apps Script projects and deployments.

Source: gappsscript/apps_script_tools.py

list_script_projects

Core

List available script projects.

ParameterRequiredDescription
page_sizeOptionalNumber of results per page (default: 50).
page_tokenOptionalToken for pagination (optional).

get_script_project

Core

Retrieve full project structure and files.

ParameterRequiredDescription
script_idRequiredThe script project ID.

get_script_content

Core

Read a script file from a project.

ParameterRequiredDescription
script_idRequiredThe script project ID.
file_nameRequiredName of the file to retrieve.

create_script_project

Core

Create standalone or bound script projects.

ParameterRequiredDescription
titleRequiredProject title.
parent_idOptionalOptional Drive folder ID or bound container ID.

update_script_content

Core

Create or update script files.

ParameterRequiredDescription
script_idRequiredThe script project ID.
filesRequiredList of file objects with name, type, and source.

run_script_function

Core

Execute deployed script functions with args.

ParameterRequiredDescription
script_idRequiredThe script project ID.
function_nameRequiredName of function to execute.
parametersOptionalOptional list of parameters to pass.
dev_modeOptionalWhether to run latest code vs deployed version.

generate_trigger_code

Core

Generate Apps Script code for time-driven and event triggers.

ParameterRequiredDescription
trigger_typeRequiredThe kind of trigger to generate code for.
function_nameRequiredFunction the trigger should invoke.
scheduleOptionalSchedule expression for time-driven triggers.

list_deployments

Extended

List deployments for a project.

ParameterRequiredDescription
script_idRequiredThe script project ID.

manage_deployment

Extended

Create, update, or delete deployments.

ParameterRequiredDescription
actionRequiredAction to perform - "create", "update", or "delete".
script_idRequiredThe script project ID.
deployment_idOptionalThe deployment ID (required for update and delete).
descriptionOptionalDeployment description (required for create and update).
version_descriptionOptionalOptional version description (for create only).

list_versions

Extended

List saved versions of a script project.

ParameterRequiredDescription
script_idRequiredThe script project ID.

create_version

Extended

Create an immutable version from the current project state.

ParameterRequiredDescription
script_idRequiredThe script project ID.
descriptionOptionalOptional version description.

get_version

Extended

Retrieve details for a specific version.

ParameterRequiredDescription
script_idRequiredThe script project ID.
version_numberRequiredThe version number to retrieve.

delete_script_project

Extended

Permanently delete a script project (cannot be undone).

ParameterRequiredDescription
script_idRequiredThe script project ID.

list_script_processes

Extended

Inspect recent executions and status.

ParameterRequiredDescription
page_sizeOptionalNumber of results (default: 50).
script_idOptionalOptional filter by script ID.

get_script_metrics

Extended

Retrieve execution metrics for a script project.

ParameterRequiredDescription
script_idRequiredThe script project ID.
metrics_granularityOptionalGranularity of metrics data (default: "DAILY").