Google Workspace MCP 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.
| Parameter | Required | Description |
|---|---|---|
MCP_ENABLE_OAUTH21 | Required | Set to `true` to enable OAuth 2.1 mode. |
--transport streamable-http | Required | Required 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.
| Parameter | Required | Description |
|---|---|---|
--single-user | Optional | Legacy single-user flow; mutually exclusive with OAuth 2.1. |
OAUTHLIB_INSECURE_TRANSPORT | Optional | Set 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.
| Parameter | Required | Description |
|---|---|---|
WORKSPACE_MCP_STATELESS_MODE | Required | Set 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.
| Parameter | Required | Description |
|---|---|---|
EXTERNAL_OAUTH21_PROVIDER | Required | Set to `true` with `MCP_ENABLE_OAUTH21=true`. |
OAuth Proxy Storage Backends
Select proxy storage backend for OAuth state in distributed deployments.
| Parameter | Required | Description |
|---|---|---|
WORKSPACE_MCP_OAUTH_PROXY_STORAGE_BACKEND | Optional | One of `memory`, `disk`, or `valkey`. |
WORKSPACE_MCP_OAUTH_PROXY_DISK_DIRECTORY | Optional | Disk backend path. |
WORKSPACE_MCP_OAUTH_PROXY_VALKEY_HOST | Optional | Valkey/Redis host for distributed storage. |
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.
| Parameter | Required | Description |
|---|---|---|
--cli list --json | Optional | List tools for scripting and automation. |
--cli <tool> --args <json> | Optional | Invoke a specific tool with JSON args. |
Tool Tiers
Three cumulative tiers for simplified deployments: `core`, `extended`, `complete`.
| Parameter | Required | Description |
|---|---|---|
--tool-tier core|extended|complete | Optional | Scope 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.
| Parameter | Required | Description |
|---|---|---|
--read-only | Optional | Requests readonly scopes and filters write tools. |
--permissions service:level | Optional | Per-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.
| Parameter | Required | Description |
|---|---|---|
WORKSPACE_EXTERNAL_URL | Optional | Sets a public base URL for OAuth-related endpoints. |
GOOGLE_OAUTH_REDIRECT_URI | Optional | Override only the OAuth callback URL. |
OAUTH_CUSTOM_REDIRECT_URIS | Optional | Comma-separated additional redirect URIs. |
OAUTH_ALLOWED_ORIGINS | Optional | Comma-separated additional CORS origins. |
Attachment Storage
Downloaded Gmail/Drive attachments are stored in persistent local storage and exposed by URL in HTTP mode.
| Parameter | Required | Description |
|---|---|---|
WORKSPACE_ATTACHMENT_DIR | Optional | Override the default `~/.workspace-mcp/attachments/` location. |
Google Calendar MCP
Calendar operations with consolidated event management 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.
| Parameter | Required | Description |
|---|---|---|
calendar_id | Optional | Defaults to `primary`. |
time_min | Optional | RFC3339 or date. |
time_max | Optional | RFC3339 or date. |
max_results | Optional | Maximum events to return. |
manage_event
[Core] Consolidated create, update, and delete event operations.
| Parameter | Required | Description |
|---|---|---|
action | Required | `create`, `update`, or `delete`. |
event_id | Optional | Required for `update` and `delete`. |
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.
| Parameter | Required | Description |
|---|---|---|
query | Required | The search query string. Supports Google Drive search operators. |
page_size | Optional | The maximum number of files to return. Defaults to 10. |
page_token | Optional | Page token from a previous response's nextPageToken. |
drive_id | Optional | ID of the shared drive to search. |
file_type | Optional | Restrict results to specific file type (e.g., 'folder', 'document', 'pdf'). |
get_drive_file_content
[Core] Read file content with export support.
| Parameter | Required | Description |
|---|---|---|
file_id | Required | Drive file ID. |
get_drive_file_download_url
[Core] Download Drive files via local path or HTTP attachment URL.
| Parameter | Required | Description |
|---|---|---|
file_id | Required | The Google Drive file ID to download. |
export_format | Optional | Optional export format for Google native files. |
create_drive_file
[Core] Create files from inline content or source URLs.
| Parameter | Required | Description |
|---|---|---|
file_name | Required | The name for the new file. |
content | Optional | Text content to write to the file. |
folder_id | Optional | The ID of the parent folder. Defaults to 'root'. |
mime_type | Optional | The MIME type of the file. Defaults to 'text/plain'. |
fileUrl | Optional | If provided, fetches file content from this URL (file://, http://, https://). |
create_drive_folder
[Core] Create folders in My Drive or shared drives.
| Parameter | Required | Description |
|---|---|---|
folder_name | Required | The name for the new folder. |
parent_folder_id | Optional | The ID of the parent folder. Defaults to 'root'. |
import_to_google_doc
[Core] Import files (Markdown, DOCX, HTML, etc.) into Google Docs.
| Parameter | Required | Description |
|---|---|---|
file_name | Required | The name for the new Google Doc (extension will be ignored). |
content | Optional | Text content for text-based formats (MD, TXT, HTML). |
file_path | Optional | Local file path for binary formats (DOCX, ODT). |
file_url | Optional | Remote URL to fetch the file from (http/https). |
source_format | Optional | Source format hint ('md', 'markdown', 'docx', 'txt', 'html', 'rtf', 'odt'). |
get_drive_shareable_link
[Core] Generate shareable links for files.
| Parameter | Required | Description |
|---|---|---|
file_id | Required | The ID of the file or folder to get the shareable link for. |
list_drive_items
[Extended] List folder contents.
| Parameter | Required | Description |
|---|---|---|
folder_id | Optional | The ID of the Google Drive folder. Defaults to 'root'. |
page_size | Optional | The maximum number of items to return. Defaults to 100. |
page_token | Optional | Page token for pagination. |
file_type | Optional | Restrict results to specific file type. |
copy_drive_file
[Extended] Copy existing Drive files with optional renaming.
| Parameter | Required | Description |
|---|---|---|
file_id | Required | The ID of the file to copy. |
new_name | Optional | New name for the copied file. If not provided, uses "Copy of [original name]". |
parent_folder_id | Optional | The ID of the folder where the copy should be created. Defaults to 'root'. |
update_drive_file
[Extended] Update metadata and move files between folders.
| Parameter | Required | Description |
|---|---|---|
file_id | Required | The ID of the file to update. |
name | Optional | New name for the file. |
description | Optional | New description for the file. |
add_parents | Optional | Comma-separated folder IDs to add as parents. |
remove_parents | Optional | Comma-separated folder IDs to remove from parents. |
manage_drive_access
[Extended] Grant, update, revoke permissions, and transfer ownership.
| Parameter | Required | Description |
|---|---|---|
file_id | Required | The ID of the file or folder. |
action | Required | The access management action to perform ('grant', 'revoke', 'update', 'transfer_ownership'). |
share_with | Optional | Email address (user/group) or domain name. |
role | Optional | Permission role ('reader', 'writer', 'commenter', 'owner'). |
permission_id | Optional | Permission ID for revoke/update actions. |
set_drive_file_permissions
[Extended] Configure link sharing and file-level sharing.
| Parameter | Required | Description |
|---|---|---|
file_id | Required | The ID of the file or folder. |
link_sharing | Optional | Control "anyone with the link" access for the file. |
writers_can_share | Optional | Whether editors can change permissions and share. |
get_drive_file_permissions
[Complete] Retrieve detailed file permission entries.
| Parameter | Required | Description |
|---|---|---|
file_id | Required | The ID of the file to check permissions for. |
check_drive_file_public_access
[Complete] Check whether a file is publicly accessible.
| Parameter | Required | Description |
|---|---|---|
file_name | Required | The 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.
| Parameter | Required | Description |
|---|---|---|
query | Required | The search query. Supports standard Gmail search operators. |
page_size | Optional | The maximum number of messages to return. Defaults to 10. |
page_token | Optional | Token for retrieving the next page of results. |
get_gmail_message_content
[Core] Retrieve full message content.
| Parameter | Required | Description |
|---|---|---|
message_id | Required | The unique ID of the Gmail message to retrieve. |
get_gmail_messages_content_batch
[Core] Batch fetch message content.
| Parameter | Required | Description |
|---|---|---|
message_ids | Required | List of Gmail message IDs to retrieve (max 25 per batch). |
format | Optional | Message format. "full" includes body, "metadata" only headers. |
send_gmail_message
[Core] Send email messages (supports replies and attachments).
| Parameter | Required | Description |
|---|---|---|
to | Required | Recipient email address. |
subject | Required | Email subject. |
body | Required | Email body content. |
body_format | Optional | Email body format ('plain' or 'html'). Defaults to 'plain'. |
cc | Optional | Optional CC email address. |
bcc | Optional | Optional BCC email address. |
thread_id | Optional | Thread ID to reply within. |
attachments | Optional | Optional list of attachments (path or base64 content). |
get_gmail_thread_content
[Extended] Retrieve full thread content.
| Parameter | Required | Description |
|---|---|---|
thread_id | Required | The unique ID of the Gmail thread to retrieve. |
modify_gmail_message_labels
[Extended] Add/remove labels on a message.
| Parameter | Required | Description |
|---|---|---|
message_id | Required | The ID of the message to modify. |
add_label_ids | Optional | List of label IDs to add to the message. |
remove_label_ids | Optional | List 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.
| Parameter | Required | Description |
|---|---|---|
action | Required | Action to perform on the label ('create', 'update', 'delete'). |
name | Optional | Label name. Required for create, optional for update. |
label_id | Optional | Label ID. Required for update and delete operations. |
manage_gmail_filter
[Extended] Create/delete Gmail filters.
| Parameter | Required | Description |
|---|---|---|
action | Required | Action to perform - "create" or "delete". |
criteria | Optional | Filter criteria object (required for create). |
filter_action | Optional | Filter action object (required for create). |
filter_id | Optional | ID of the filter to delete (required for delete). |
draft_gmail_message
[Extended] Create Gmail drafts.
| Parameter | Required | Description |
|---|---|---|
subject | Required | Email subject. |
body | Required | Email body (plain text). |
to | Optional | Optional recipient email address. |
cc | Optional | Optional CC email address. |
attachments | Optional | Optional list of attachments. |
get_gmail_threads_content_batch
[Complete] Batch fetch thread content.
| Parameter | Required | Description |
|---|---|---|
thread_ids | Required | A list of Gmail thread IDs to retrieve. |
batch_modify_gmail_message_labels
[Complete] Batch label modifications.
| Parameter | Required | Description |
|---|---|---|
message_ids | Required | A list of message IDs to modify. |
add_label_ids | Optional | List of label IDs to add to the messages. |
remove_label_ids | Optional | List of label IDs to remove from the messages. |
get_gmail_attachment_content
[Complete] Download Gmail attachments to persistent attachment storage.
| Parameter | Required | Description |
|---|---|---|
message_id | Required | The ID of the Gmail message containing the attachment. |
attachment_id | Required | The ID of the attachment to download. |
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.
| Parameter | Required | Description |
|---|---|---|
document_id | Required | ID of the document to retrieve. |
create_doc
[Core] Create new documents.
| Parameter | Required | Description |
|---|---|---|
title | Required | The title for the new document. |
content | Optional | Initial text content for the document. |
modify_doc_text
[Core] Modify document text with formatting and links.
| Parameter | Required | Description |
|---|---|---|
document_id | Required | ID of the document to update. |
start_index | Required | Start position for operation (0-based). |
end_index | Optional | End position for text replacement/formatting (if not provided with text, text is inserted). |
text | Optional | New text to insert or replace with (optional - can format existing text without changing it). |
bold | Optional | Whether to make text bold (True/False/None to leave unchanged). |
italic | Optional | Whether to make text italic (True/False/None to leave unchanged). |
underline | Optional | Whether to underline text (True/False/None to leave unchanged). |
font_size | Optional | Font size in points. |
font_family | Optional | Font family name (e.g., "Arial", "Times New Roman"). |
text_color | Optional | Foreground text color (#RRGGBB). |
background_color | Optional | Background/highlight color (#RRGGBB). |
link_url | Optional | Hyperlink URL (http/https). |
search_docs
[Extended] Search docs by name.
| Parameter | Required | Description |
|---|---|---|
query | Required | Search query to find documents by name. |
page_size | Optional | Maximum number of results to return. |
find_and_replace_doc
[Extended] Find and replace text.
| Parameter | Required | Description |
|---|---|---|
document_id | Required | ID of the document to update. |
find_text | Required | Text to search for. |
replace_text | Required | Text to replace with. |
match_case | Optional | Whether to match case exactly. |
list_docs_in_folder
[Extended] List docs in a Drive folder.
| Parameter | Required | Description |
|---|---|---|
folder_id | Optional | The ID of the folder. Defaults to root. |
page_size | Optional | Maximum number of documents to return. |
insert_doc_elements
[Extended] Insert tables, lists, and page breaks.
| Parameter | Required | Description |
|---|---|---|
document_id | Required | ID of the document to update. |
element_type | Required | Type of element to insert ("table", "list", "page_break"). |
index | Required | Position to insert element (0-based). |
rows | Optional | Number of rows for table (required for table). |
columns | Optional | Number of columns for table (required for table). |
list_type | Optional | Type of list ("UNORDERED", "ORDERED") (required for list). |
text | Optional | Initial text content for list items. |
update_paragraph_style
[Extended] Apply heading and paragraph styles, including nested lists.
| Parameter | Required | Description |
|---|---|---|
document_id | Required | Document ID to modify. |
start_index | Required | Start position (1-based). |
end_index | Required | End position (exclusive) - should cover the entire paragraph. |
heading_level | Optional | Heading level 0-6 (0 = NORMAL_TEXT, 1 = H1, 2 = H2, etc.). |
alignment | Optional | Text alignment. |
line_spacing | Optional | Line spacing value. |
list_type | Optional | List type for creating lists. |
list_nesting_level | Optional | Nesting level for lists. |
get_doc_as_markdown
[Extended] Export a document as formatted Markdown.
| Parameter | Required | Description |
|---|---|---|
document_id | Required | ID of the Google Doc (or full URL). |
include_comments | Optional | Whether to include comments (default: True). |
comment_mode | Optional | How to display comments. |
include_resolved | Optional | Whether to include resolved comments (default: False). |
export_doc_to_pdf
[Extended] Export a doc to PDF.
| Parameter | Required | Description |
|---|---|---|
document_id | Required | ID of the Google Doc to export. |
pdf_filename | Optional | Name for the PDF file (optional - if not provided, uses original name + "_PDF"). |
folder_id | Optional | Drive folder ID to save PDF in (optional - if not provided, saves in root). |
insert_doc_image
[Complete] Insert images from Drive or URLs.
| Parameter | Required | Description |
|---|---|---|
document_id | Required | ID of the document to update. |
image_source | Required | Drive file ID or public image URL. |
index | Required | Position to insert image (0-based). |
width | Optional | Image width in points (optional). |
height | Optional | Image height in points (optional). |
update_doc_headers_footers
[Complete] Update headers and footers.
| Parameter | Required | Description |
|---|---|---|
document_id | Required | ID of the document to update. |
section_type | Required | Type of section to update ("header" or "footer"). |
content | Required | Text content for the header/footer. |
header_footer_type | Optional | Type of header/footer ("DEFAULT", "FIRST_PAGE_ONLY", "EVEN_PAGE"). |
batch_update_doc
[Complete] Execute multiple doc operations in one call.
| Parameter | Required | Description |
|---|---|---|
document_id | Required | ID of the document to update. |
operations | Required | List of operation dictionaries. |
inspect_doc_structure
[Complete] Inspect structural document elements.
| Parameter | Required | Description |
|---|---|---|
document_id | Required | ID of the document to inspect. |
detailed | Optional | Whether to return detailed structure information. |
create_table_with_data
[Complete] Create populated tables.
| Parameter | Required | Description |
|---|---|---|
document_id | Required | ID of the document to update. |
table_data | Required | 2D list of strings - EXACT format: [["col1", "col2"], ["row1col1", "row1col2"]]. |
index | Required | Document position (get from inspect_doc_structure 'total_length'). |
bold_headers | Optional | Whether to make first row bold (default: true). |
debug_table_structure
[Complete] Debug table structures.
| Parameter | Required | Description |
|---|---|---|
document_id | Required | ID of the document to inspect. |
table_index | Optional | Which table to debug (0 = first table, 1 = second table, etc.). |
list_document_comments
[Complete] List all document comments.
manage_document_comment
[Complete] Create, reply, or resolve comments.
Google Sheets MCP
Spreadsheet reads/writes, formatting, comments, and conditional formatting.
Source: gsheets/sheets_tools.py
read_sheet_values
[Core] Read values from ranges.
| Parameter | Required | Description |
|---|---|---|
spreadsheet_id | Required | The ID of the spreadsheet. |
range_name | Optional | The range to read (e.g., "Sheet1!A1:D10", "A1:D10"). Defaults to "A1:Z1000". |
include_hyperlinks | Optional | If True, also fetch hyperlink metadata for the range. |
modify_sheet_values
[Core] Write, update, and clear range values.
| Parameter | Required | Description |
|---|---|---|
spreadsheet_id | Required | The ID of the spreadsheet. |
range_name | Required | The range to modify (e.g., "Sheet1!A1:D10", "A1:D10"). |
values | Optional | 2D array of values to write/update. Can be a JSON string or Python list. Required unless clear_values=True. |
value_input_option | Optional | How to interpret input values ("RAW" or "USER_ENTERED"). Defaults to "USER_ENTERED". |
clear_values | Optional | If True, clears the range instead of writing values. Defaults to False. |
create_spreadsheet
[Core] Create spreadsheets.
| Parameter | Required | Description |
|---|---|---|
title | Required | The title of the new spreadsheet. |
sheet_names | Optional | List of sheet names to create. If not provided, creates one sheet with default name. |
list_spreadsheets
[Extended] List available spreadsheets.
| Parameter | Required | Description |
|---|---|---|
max_results | Optional | Maximum number of spreadsheets to return. Defaults to 25. |
get_spreadsheet_info
[Extended] Read spreadsheet metadata and sheet info.
| Parameter | Required | Description |
|---|---|---|
spreadsheet_id | Required | The ID of the spreadsheet to get info for. |
format_sheet_range
[Extended] Apply styling and number/text formats to ranges.
| Parameter | Required | Description |
|---|---|---|
spreadsheet_id | Required | The ID of the spreadsheet. |
range_name | Required | A1-style range (optionally with sheet name). |
background_color | Optional | Hex background color (e.g., "#FFEECC"). |
text_color | Optional | Hex text color (e.g., "#000000"). |
number_format_type | Optional | Sheets number format type (e.g., "DATE"). |
number_format_pattern | Optional | Custom pattern for the number format. |
wrap_strategy | Optional | Text wrap strategy (WRAP, OVERFLOW_CELL, CLIP). |
horizontal_alignment | Optional | Horizontal alignment. |
vertical_alignment | Optional | Vertical alignment. |
bold | Optional | Whether to make text bold. |
italic | Optional | Whether to make text italic. |
font_size | Optional | Font size. |
create_sheet
[Complete] Add sheets to existing spreadsheets.
| Parameter | Required | Description |
|---|---|---|
spreadsheet_id | Required | The ID of the spreadsheet. |
sheet_name | Required | The name of the new sheet. |
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.
| Parameter | Required | Description |
|---|---|---|
spreadsheet_id | Required | The ID of the spreadsheet. |
action | Required | The operation to perform ("add", "update", "remove"). |
range_name | Optional | Range to apply conditional formatting to. |
condition_type | Optional | Type of condition. |
condition_values | Optional | Values for the condition. |
background_color | Optional | Background color for formatting. |
text_color | Optional | Text color for formatting. |
rule_index | Optional | Index of rule to update/remove. |
gradient_points | Optional | Gradient points for gradient formatting. |
sheet_name | Optional | Sheet name for the range. |
Google Slides MCP
Presentations, page retrieval, thumbnails, and comment management.
Source: gslides/slides_tools.py
create_presentation
[Core] Create presentations.
| Parameter | Required | Description |
|---|---|---|
title | Optional | The title for the new presentation. Defaults to "Untitled Presentation". |
get_presentation
[Core] Retrieve presentation details.
| Parameter | Required | Description |
|---|---|---|
presentation_id | Required | The ID of the presentation to retrieve. |
batch_update_presentation
[Extended] Apply multiple slide updates in one request.
| Parameter | Required | Description |
|---|---|---|
presentation_id | Required | The ID of the presentation to update. |
requests | Required | List of update requests to apply. |
get_page
[Extended] Retrieve a specific page/slide.
| Parameter | Required | Description |
|---|---|---|
presentation_id | Required | The ID of the presentation. |
page_object_id | Required | The object ID of the page/slide to retrieve. |
get_page_thumbnail
[Extended] Generate slide thumbnails.
| Parameter | Required | Description |
|---|---|---|
presentation_id | Required | The ID of the presentation. |
page_object_id | Required | The object ID of the page/slide. |
thumbnail_size | Optional | Size 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.
| Parameter | Required | Description |
|---|---|---|
title | Required | The title of the form. |
description | Optional | The description of the form. |
document_title | Optional | The document title (shown in browser tab). |
get_form
[Core] Retrieve form metadata and URLs.
| Parameter | Required | Description |
|---|---|---|
form_id | Required | The ID of the form to retrieve. |
list_form_responses
[Extended] List responses with pagination.
| Parameter | Required | Description |
|---|---|---|
form_id | Required | The ID of the form. |
page_size | Optional | Maximum number of responses to return. Defaults to 10. |
page_token | Optional | Token for retrieving next page of results. |
set_publish_settings
[Complete] Configure publish and auth settings.
| Parameter | Required | Description |
|---|---|---|
form_id | Required | The ID of the form to update publish settings for. |
publish_as_template | Optional | Whether to publish as a template. Defaults to False. |
require_authentication | Optional | Whether to require authentication to view/submit. Defaults to False. |
get_form_response
[Complete] Retrieve an individual response.
| Parameter | Required | Description |
|---|---|---|
form_id | Required | The ID of the form. |
response_id | Required | The ID of the response to retrieve. |
batch_update_form
[Complete] Apply batch updates to form structure/settings.
| Parameter | Required | Description |
|---|---|---|
form_id | Required | The ID of the form to update. |
requests | Required | List 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.
| Parameter | Required | Description |
|---|---|---|
task_list_id | Required | The ID of the task list to retrieve tasks from. |
max_results | Optional | Maximum number of tasks to return (default: 20, max: 10000). |
page_token | Optional | Token for pagination. |
show_completed | Optional | Whether to include completed tasks (default: True). |
show_deleted | Optional | Whether to include deleted tasks (default: False). |
show_hidden | Optional | Whether to include hidden tasks (default: False). |
show_assigned | Optional | Whether to include assigned tasks (default: False). |
completed_max | Optional | Upper bound for completion date (RFC 3339 timestamp). |
completed_min | Optional | Lower bound for completion date (RFC 3339 timestamp). |
due_max | Optional | Upper bound for due date (RFC 3339 timestamp). |
due_min | Optional | Lower bound for due date (RFC 3339 timestamp). |
updated_min | Optional | Lower bound for last modification time (RFC 3339 timestamp). |
get_task
[Core] Retrieve task details.
| Parameter | Required | Description |
|---|---|---|
task_list_id | Required | The ID of the task list containing the task. |
task_id | Required | The ID of the task to retrieve. |
manage_task
[Core] Consolidated create, update, delete, and move task operations.
| Parameter | Required | Description |
|---|---|---|
action | Required | The action to perform ("create", "update", "delete", "move"). |
task_list_id | Required | The ID of the task list. |
task_id | Optional | The ID of the task (required for "update", "delete", and "move"). |
title | Optional | The title of the task (required for "create", optional for "update"). |
notes | Optional | Notes/description for the task. |
status | Optional | Task status ("needsAction" or "completed"). |
due | Optional | Due date in RFC 3339 format. |
parent | Optional | Parent task ID (for subtasks). |
previous | Optional | Previous sibling task ID (for positioning). |
destination_task_list | Optional | Destination task list ID (for moving between lists). |
list_task_lists
[Complete] List task lists.
| Parameter | Required | Description |
|---|---|---|
max_results | Optional | Maximum number of task lists to return (default: 1000, max: 1000). |
page_token | Optional | Token for pagination. |
get_task_list
[Complete] Retrieve task-list details.
| Parameter | Required | Description |
|---|---|---|
task_list_id | Required | The ID of the task list to retrieve. |
manage_task_list
[Complete] Consolidated create/update/delete/clear-completed for task lists.
| Parameter | Required | Description |
|---|---|---|
action | Required | The action to perform ("create", "update", "delete", "clear_completed"). |
task_list_id | Optional | The ID of the task list (required for "update", "delete", and "clear_completed"). |
title | Optional | The 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.
| Parameter | Required | Description |
|---|---|---|
query | Required | Search query string (searches names, emails, phone numbers). |
page_size | Optional | Maximum number of results to return (default: 30, max: 30). |
get_contact
[Core] Retrieve detailed contact profiles.
| Parameter | Required | Description |
|---|---|---|
contact_id | Required | The contact ID (e.g., "c1234567890" or full resource name "people/c1234567890"). |
list_contacts
[Core] List contacts with pagination.
| Parameter | Required | Description |
|---|---|---|
page_size | Optional | Maximum number of contacts to return (default: 100, max: 1000). |
page_token | Optional | Token for pagination. |
sort_order | Optional | Sort order: "LAST_MODIFIED_ASCENDING", "LAST_MODIFIED_DESCENDING", "FIRST_NAME_ASCENDING", or "LAST_NAME_ASCENDING". |
manage_contact
[Core] Create, update, or delete contacts.
| Parameter | Required | Description |
|---|---|---|
action | Required | The action to perform: "create", "update", or "delete". |
contact_id | Optional | The contact ID (required for "update" and "delete"). |
given_name | Optional | First name (for create/update). |
family_name | Optional | Last name (for create/update). |
email | Optional | Email address (for create/update). |
phone | Optional | Phone number (for create/update). |
organization | Optional | Company/organization name (for create/update). |
job_title | Optional | Job title (for create/update). |
notes | Optional | Additional notes (for create/update). |
list_contact_groups
[Extended] List contact groups.
| Parameter | Required | Description |
|---|---|---|
page_size | Optional | Maximum number of groups to return (default: 100, max: 1000). |
page_token | Optional | Token for pagination. |
get_contact_group
[Extended] Retrieve group details and members.
| Parameter | Required | Description |
|---|---|---|
group_id | Required | The contact group ID. |
max_members | Optional | Maximum number of members to return (default: 100, max: 1000). |
manage_contacts_batch
[Complete] Batch create, update, or delete contacts.
| Parameter | Required | Description |
|---|---|---|
action | Required | The action to perform: "create", "update", or "delete". |
contacts | Optional | List of contact dicts for "create" action. |
updates | Optional | List of update dicts for "update" action. |
contact_ids | Optional | List of contact IDs for "delete" action. |
manage_contact_group
[Complete] Create, update, delete groups, and manage membership.
| Parameter | Required | Description |
|---|---|---|
action | Required | The action to perform: "create", "update", "delete", or "modify_members". |
group_id | Optional | The contact group ID (required for "update", "delete", and "modify_members"). |
name | Optional | Group name (required for "create", optional for "update"). |
delete_contacts | Optional | Whether to delete contacts when deleting group. |
add_contact_ids | Optional | Contact IDs to add to group. |
remove_contact_ids | Optional | Contact 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.
| Parameter | Required | Description |
|---|---|---|
space_id | Required | The ID of the space to retrieve messages from. |
page_size | Optional | Maximum number of messages to return. |
order_by | Optional | How to order the messages. |
send_message
[Core] Send messages to spaces.
| Parameter | Required | Description |
|---|---|---|
space_id | Required | The ID of the space to send the message to. |
message_text | Required | The text content of the message. |
thread_key | Optional | Reply in a thread by app-defined key (creates thread if not found). |
thread_name | Optional | Reply in an existing thread by its resource name (e.g. spaces/X/threads/Y). |
search_messages
[Core] Search chat history.
| Parameter | Required | Description |
|---|---|---|
query | Required | The search query. |
space_id | Optional | Optional space ID to limit search to. |
page_size | Optional | Maximum number of results to return. |
create_reaction
[Core] Add emoji reactions to messages.
| Parameter | Required | Description |
|---|---|---|
message_id | Required | The message resource name (e.g. spaces/X/messages/Y). |
emoji_unicode | Required | The emoji character to react with (e.g. 👍). |
list_spaces
[Extended] List spaces and DMs.
| Parameter | Required | Description |
|---|---|---|
page_size | Optional | Maximum number of spaces to return. |
space_type | Optional | Filter by space type. |
download_chat_attachment
[Extended] Download chat attachments.
| Parameter | Required | Description |
|---|---|---|
message_id | Required | The message resource name (e.g. spaces/X/messages/Y). |
attachment_index | Optional | Zero-based index of the attachment to download (default 0). |
Google Custom Search
Programmable Search Engine queries and metadata.
Source: gsearch/search_tools.py
search_custom
[Core] Run custom search queries with optional site restrictions.
| Parameter | Required | Description |
|---|---|---|
q | Required | The search query. |
num | Optional | Number of results to return (1-10). Defaults to 10. |
start | Optional | The index of the first result to return (1-based). Defaults to 1. |
safe | Optional | Safe search level. Defaults to "off". |
search_type | Optional | Search for images if set to "image". |
site_search | Optional | Restrict search to a specific site/domain. |
site_search_filter | Optional | Exclude ("e") or include ("i") site_search results. |
date_restrict | Optional | Restrict results by date (e.g., "d5" for past 5 days, "m3" for past 3 months). |
file_type | Optional | Filter by file type (e.g., "pdf", "doc"). |
language | Optional | Language code for results (e.g., "lang_en"). |
country | Optional | Country code for results (e.g., "countryUS"). |
sites | Optional | List of sites/domains to restrict search to (e.g., ["example.com", "docs.example.com"]). |
get_search_engine_info
[Complete] Retrieve search engine configuration metadata.
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.
| Parameter | Required | Description |
|---|---|---|
page_size | Optional | Number of results per page (default: 50). |
page_token | Optional | Token for pagination (optional). |
get_script_project
[Core] Retrieve full project structure and files.
| Parameter | Required | Description |
|---|---|---|
script_id | Required | The script project ID. |
get_script_content
[Core] Read a script file from a project.
| Parameter | Required | Description |
|---|---|---|
script_id | Required | The script project ID. |
file_name | Required | Name of the file to retrieve. |
create_script_project
[Core] Create standalone or bound script projects.
| Parameter | Required | Description |
|---|---|---|
title | Required | Project title. |
parent_id | Optional | Optional Drive folder ID or bound container ID. |
update_script_content
[Core] Create or update script files.
| Parameter | Required | Description |
|---|---|---|
script_id | Required | The script project ID. |
files | Required | List of file objects with name, type, and source. |
run_script_function
[Core] Execute deployed script functions with args.
| Parameter | Required | Description |
|---|---|---|
script_id | Required | The script project ID. |
function_name | Required | Name of function to execute. |
parameters | Optional | Optional list of parameters to pass. |
dev_mode | Optional | Whether to run latest code vs deployed version. |
list_deployments
[Extended] List deployments for a project.
| Parameter | Required | Description |
|---|---|---|
script_id | Required | The script project ID. |
manage_deployment
[Extended] Create, update, or delete deployments.
| Parameter | Required | Description |
|---|---|---|
action | Required | Action to perform - "create", "update", or "delete". |
script_id | Required | The script project ID. |
deployment_id | Optional | The deployment ID (required for update and delete). |
description | Optional | Deployment description (required for create and update). |
version_description | Optional | Optional version description (for create only). |
list_script_processes
[Extended] Inspect recent executions and status.
| Parameter | Required | Description |
|---|---|---|
page_size | Optional | Number of results (default: 50). |
script_id | Optional | Optional filter by script ID. |