Skip to content

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