Tool Reference¶
84 tools. All tool names are lowercase with underscores — use these exact strings with ENABLED_TOOLS or --include-tools.
Sheets — data¶
| Tool | Description | Key parameters |
|---|---|---|
get_sheet_data |
Get data from a specific sheet in a Google Spreadsheet. | spreadsheet_id, sheet, range?, include_grid_data?, local_path? |
get_sheet_formulas |
Get formulas from a specific sheet in a Google Spreadsheet. | spreadsheet_id, sheet, range? |
get_multiple_sheet_data |
Get data from multiple specific ranges in Google Spreadsheets. | queries, local_path? |
get_multiple_spreadsheet_summary |
Get a summary of multiple Google Spreadsheets, including sheet names, headers, and the first few rows of data for each sheet. | spreadsheet_ids, rows_to_fetch? |
find_in_spreadsheet |
Find cells containing a specific value in a Google Spreadsheet. | spreadsheet_id, query, sheet?, case_sensitive?, max_results?, local_path? |
clear_values |
Clear cell content in a range without touching formatting. | spreadsheet_id, sheet, range? |
update_cells |
Update cells in a Google Spreadsheet. | spreadsheet_id, sheet, range, data |
batch_update_cells |
Batch update multiple ranges in a Google Spreadsheet. | spreadsheet_id, sheet, ranges |
batch_update |
Execute a batch update on a Google Spreadsheet using the full batchUpdate endpoint. This provides access to all batchUpdate operations including adding sheets, updating properties, inserting/deleting dimensions, formatting, and more. | spreadsheet_id, requests |
batch_update is the escape hatch for anything not covered by a named tool (formatting, conditional formatting, dimension properties, etc.).
Sheets — structure¶
| Tool | Description | Key parameters |
|---|---|---|
list_sheets |
List all sheets in a Google Spreadsheet. | spreadsheet_id |
copy_sheet |
Copy a sheet from one spreadsheet to another. | src_spreadsheet, src_sheet, dst_spreadsheet, dst_sheet |
rename_sheet |
Rename a sheet in a Google Spreadsheet. | spreadsheet, sheet, new_name |
create_sheet |
Create a new sheet tab in an existing Google Spreadsheet. | spreadsheet_id, title |
add_rows |
Add rows to a sheet in a Google Spreadsheet. | spreadsheet_id, sheet, count, start_row? |
add_columns |
Add columns to a sheet in a Google Spreadsheet. | spreadsheet_id, sheet, count, start_column? |
delete_sheet |
Delete a sheet tab from a Google Spreadsheet. | spreadsheet_id, sheet |
delete_rows |
Delete rows from a sheet. | spreadsheet_id, sheet, start_row, end_row? |
delete_columns |
Delete columns from a sheet. | spreadsheet_id, sheet, start_column, end_column? |
format_cells |
Apply formatting to a cell range (background color, font, alignment, number format). | spreadsheet_id, sheet, range, bold?, italic?, strikethrough?, font_size?, font_color?, background_color?, horizontal_alignment?, vertical_alignment?, number_format_type?, number_format_pattern? |
merge_cells |
Merge a range of cells into one cell. | spreadsheet_id, sheet, range, merge_type? |
unmerge_cells |
Unmerge all merged cells in a range. | spreadsheet_id, sheet, range |
freeze |
Freeze rows and/or columns in a sheet. | spreadsheet_id, sheet, rows?, columns? |
sort_range |
Sort a range by one or more columns. | spreadsheet_id, sheet, range, sort_order? |
add_chart |
Add a chart to a Google Spreadsheet. | spreadsheet_id, sheet, chart_type, data_range, title?, x_axis_label?, y_axis_label?, position_x?, position_y?, width?, height? |
add_chart supports types: COLUMN, BAR, LINE, AREA, PIE, SCATTER, COMBO, HISTOGRAM.
Spreadsheets (Drive-level)¶
| Tool | Description | Key parameters |
|---|---|---|
create_spreadsheet |
Create a new Google Spreadsheet. | title, folder_id? |
list_spreadsheets |
List all spreadsheets in the specified Google Drive folder. If no folder is specified, uses the configured default folder or lists from 'My Drive'. | folder_id? |
search_spreadsheets |
Search for spreadsheets in Google Drive by name or content. | query, max_results? |
create_spreadsheet cannot create files in a personal Drive when using service account auth — use OAuth or a Shared Drive.
Drive — files¶
| Tool | Description | Key parameters |
|---|---|---|
list_folders |
List all folders in the specified Google Drive folder. If no parent folder is specified, lists folders from 'My Drive' root. | parent_folder_id? |
list_drives |
List shared (Team) Drives accessible to the authenticated account. | query?, max_results? |
list_files |
List files in a Google Drive folder, optionally filtered by MIME type. | folder_id, mime_type?, max_results? |
search_files |
Search for files in Google Drive by name or content. | query, mime_type?, folder_id?, max_results? |
get_file_metadata |
Get metadata for any file or folder in Google Drive. | file_id |
create_folder |
Create a new folder in Google Drive. | name, parent_folder_id? |
copy_file |
Copy a file in Google Drive. | file_id, new_name?, folder_id? |
move_file |
Move a file or folder to a different folder in Google Drive. | file_id, destination_folder_id |
rename_file |
Rename a file or folder in Google Drive. | file_id, new_name |
list_shared_with_me |
List files explicitly shared with the authenticated user. | mime_type?, max_results? |
list_recent_files |
List recently modified files in Drive, newest first. | max_results?, days?, mime_type? |
get_storage_quota |
Get Drive storage usage and limits for the authenticated account. | — |
delete_file |
Move a file to the trash or permanently delete it. | file_id, permanent? |
Drive — transfer¶
| Tool | Description | Key parameters |
|---|---|---|
export_file |
Export or download a file from Google Drive. | file_id, export_format |
list_revisions |
List available revisions for a Google Drive file (Sheets, Docs, or any file). | file_id |
export_revision |
Export a historical revision of a Google Sheets file and return its cell data. | file_id, revision_id, range?, sheet? |
upload_file |
Upload a text file to Google Drive, optionally converting it to a Google Doc. | name, content, source_format?, folder_id?, convert_to_doc? |
upload_local_file |
Upload a file from the local filesystem to a Google Drive folder. Handles binary and text files (images, PDFs, DOCX, XLSX, scripts, etc.). | local_path, parent_folder_id, name?, skip_if_exists? |
upload_local_folder |
Upload all files in a local directory (non-recursive) to a Google Drive folder. | local_path, parent_folder_id, skip_if_exists?, skip_system_files? |
download_file |
Download a file from Google Drive to the local filesystem. | file_id, local_path, export_format? |
download_folder |
Download all files in a Google Drive folder (non-recursive) to a local directory. | folder_id, local_path, export_format?, mime_type_filter?, skip_if_exists? |
sync_folder |
Sync files between a Google Drive folder and a local directory. | folder_id, local_path, direction?, export_format?, skip_system_files?, dry_run? |
Drive — sharing¶
| Tool | Description | Key parameters |
|---|---|---|
share_spreadsheet |
Share a Google Spreadsheet with multiple users via email, assigning specific roles. | spreadsheet_id, recipients, send_notification? |
list_permissions |
List all permissions on a file or folder in Google Drive. | file_id |
update_permission |
Change the role on an existing permission for a file or folder. | file_id, permission_id, role |
remove_permission |
Revoke a permission on a file or folder. | file_id, permission_id |
share_file |
Share any file or folder with one or more principals. | file_id, permissions, send_notification? |
share_spreadsheet's recipients is a list of {email_address, role} objects. Valid roles: reader, commenter, writer, owner.
share_file's permissions is a list of {type, role, ...} objects — type is user, group, domain, or anyone; user/group also need email_address, domain needs domain. Valid roles: reader, commenter, writer.
Drive — activity¶
| Tool | Description | Key parameters |
|---|---|---|
list_file_activity |
Return the activity timeline for a Google Drive file. | file_id, page_size?, page_token? |
Requires the drive.activity.readonly scope; uses the Drive Activity API v2.
Docs¶
| Tool | Description | Key parameters |
|---|---|---|
create_doc |
Create a new Google Doc, optionally with initial content. | title, content?, folder_id?, content_format? |
create_doc_from_file |
Create a Google Doc from a local .md or .html file. | local_path, title?, folder_id? |
get_doc_content |
Get the plain text content of a Google Doc. | file_id, local_path? |
write_doc_content |
Replace the full content of an existing Google Doc. | doc_id, content, content_format? |
get_doc_structure |
Return the full structural map of a Google Doc body with element indices. | doc_id |
insert_doc_text |
Insert text at one or more positions in a Google Doc. | doc_id, insertions |
delete_doc_range |
Delete one or more content ranges from a Google Doc. | doc_id, deletions |
insert_inline_image |
Insert an inline image at a specific index in a Google Doc. | doc_id, index, uri?, drive_file_id?, width?, height? |
insert_doc_table |
Insert an empty table at a specific position in a Google Doc. | doc_id, index, rows, columns |
insert_table_row |
Insert a row into an existing table in a Google Doc. | doc_id, table_start_index, row_index, insert_below? |
delete_table_row |
Delete a row from an existing table in a Google Doc. | doc_id, table_start_index, row_index |
insert_table_column |
Insert a column into an existing table in a Google Doc. | doc_id, table_start_index, column_index, insert_right? |
delete_table_column |
Delete a column from an existing table in a Google Doc. | doc_id, table_start_index, column_index |
style_doc_range |
Apply paragraph and/or text styles to one or more index ranges in a Google Doc. | doc_id, ranges |
style_doc_table_cells |
Apply border, padding, and background styles to table cells in a Google Doc. | doc_id, table_start_index, cells |
get_doc_theme |
Derive a theme dict from a Google Doc's actual paragraph styles. | doc_id |
get_doc_named_styles |
Read a Google Doc's named style defaults and return them as a theme dict. | doc_id |
apply_theme |
Apply a theme dict to a Google Doc by updating its named style definitions. | doc_id, theme, overwrite? |
create_header |
Add a page header to a Google Doc. | doc_id, header_type?, content? |
create_footer |
Add a page footer to a Google Doc. | doc_id, footer_type?, content? |
write_doc_content accepts HTML and converts it to Docs API requests via the HTML→AST→emitter pipeline. See Docs AST Pipeline for the design.
create_doc cannot create files in a personal Drive when using service account auth — see Authentication.
Calendar¶
| Tool | Description | Key parameters |
|---|---|---|
list_calendars |
List all calendars accessible to the authenticated user. | — |
get_calendar |
Fetch metadata for a single calendar. | calendar_id |
list_events |
List events in a calendar. | calendar_id, time_min?, time_max?, query?, max_results?, expand_recurring? |
get_event |
Fetch a single event by calendar ID and event ID. | calendar_id, event_id |
create_event |
Create a new event in a calendar. | calendar_id, summary, start, end, description?, location?, attendees?, timezone?, recurrence? |
update_event |
Update fields on an existing event using a partial update (patch semantics). Only the fields you provide are changed; omitted fields are left as-is. | calendar_id, event_id, summary?, start?, end?, description?, location?, attendees?, timezone?, recurrence? |
delete_event |
Delete or cancel an event. | calendar_id, event_id |
find_free_slots |
Query busy times for a list of calendars and return free slots within the window. | calendar_ids, time_min, time_max, timezone? |
Note: when using service account auth, calendars must be explicitly shared with the service account. The service account must also subscribe to shared calendars via calendarList().insert() before they appear in list_calendars.
Cache¶
| Tool | Description | Key parameters |
|---|---|---|
refresh_cache |
Invalidate caches, forcing a fresh fetch on next use. | spreadsheet_id?, doc_id?, folder_id?, calendar_id? |
Omit all parameters to flush the entire cache. See Configuration for TTL and path settings.
MCP resources¶
Two resources are available (read-only, not tools):
| Resource | Description |
|---|---|
server://auth-status |
Active auth method and Drive capability limits |
spreadsheet://{spreadsheet_id}/info |
Sheet list and grid properties for a spreadsheet |