Skip to content

Tool Reference

127 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?, local_path?
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
duplicate_sheet Duplicate a sheet tab within the same spreadsheet. spreadsheet_id, sheet, new_name?, insert_index?
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?
hide_rows Hide rows in a sheet from view. spreadsheet_id, sheet, start_row, end_row?
unhide_rows Unhide previously hidden rows in a sheet. spreadsheet_id, sheet, start_row, end_row?
hide_columns Hide columns in a sheet from view. spreadsheet_id, sheet, start_column, end_column?
unhide_columns Unhide previously hidden columns in a sheet. spreadsheet_id, sheet, start_column, end_column?
resize_rows Set an explicit pixel height for rows, or auto-fit them to content. spreadsheet_id, sheet, start_row, end_row?, pixel_size?, auto_resize?
resize_columns Set an explicit pixel width for columns, or auto-fit them to content. spreadsheet_id, sheet, start_column, end_column?, pixel_size?, auto_resize?
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?
update_borders Apply or clear borders on the edges of a cell range. spreadsheet_id, sheet, range, top?, bottom?, left?, right?, inner_horizontal?, inner_vertical?
add_data_validation Set a data validation rule on a cell range — dropdown lists, checkboxes, or date/number/text constraints. spreadsheet_id, sheet, range, condition_type, values?, input_message?, strict?, show_custom_ui?
get_data_validation Read existing data validation rules for a cell range. spreadsheet_id, sheet, range
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?
update_sheet_properties Update sheet-level display properties: tab color, gridline visibility, right-to-left layout. spreadsheet_id, sheet, tab_color?, show_gridlines?, right_to_left?
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?
import_csv_to_sheet Create a new Google Spreadsheet populated from a local CSV file. local_path, title, folder_id?, sheet_name?
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?
create_shortcut Create a Drive shortcut pointing to an existing file. target_file_id, folder_id?, name?
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
star_file Mark a file or folder as starred in Google Drive, for easy retrieval later. file_id
unstar_file Remove a file or folder's starred marker in Google Drive. file_id
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?
restore_file Restore a trashed file or folder back to its original location — undoes delete_file when it was called without permanent=True. Raises an API error (does not silently no-op) if the file was permanently deleted or otherwise no longer exists — permanent deletion can't be recovered from. file_id
empty_trash Permanently delete every trashed file in a single trash. This cannot be undone — unlike delete_file's default (recoverable) trash behavior, there is no restoring a file after this. drive_id?

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?, convert?
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?, convert?
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?, convert_markdown?, use_checksum?, skip_system_files?, dry_run?, recursive?, result_local_path?

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
transfer_ownership Transfer ownership of a file or folder to another user. file_id, new_owner_email, send_notification?
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?, autolink_urls?, revoke_sharing?, auto_downscale?
create_doc_from_file Create a Google Doc from a local .md or .html file. local_path, title?, folder_id?, autolink_urls?, revoke_sharing?, auto_downscale?
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?, autolink_urls?, revoke_sharing?, auto_downscale?
update_doc_from_file Replace an existing Google Doc's content in place from a local .md or .html file. doc_id, local_path, content_format?, autolink_urls?, revoke_sharing?, auto_downscale?
get_doc_structure Return the full structural map of a Google Doc body with element indices. doc_id
find_in_doc Search a Google Doc's text and return match locations as document character offsets. doc_id, query, regex?, case_sensitive?, max_results?, local_path?
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_page_break Insert an explicit page break at a specific index in a Google Doc. doc_id, index
insert_softbreak_paragraph Insert a single paragraph built from multiple lines joined by soft line breaks (Shift+Enter in the Docs UI), with the paragraph's style set explicitly rather than inherited from whatever is at index. doc_id, index, lines, named_style_type?
insert_inline_image Insert an inline image at a specific index in a Google Doc. doc_id, index, uri?, drive_file_id?, width?, height?, auto_downscale?
insert_local_images Upload local image files to Drive and swap each into a Google Doc at a plain-text marker, in one call. doc_id, images, folder_id?, revoke_sharing?, auto_downscale?
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?
merge_table_cells Merge a rectangular range of cells in an existing table into one cell. doc_id, table_start_index, row_index, column_index, row_span?, column_span?
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
create_paragraph_bullets Turn one or more paragraph ranges into a bulleted or numbered list, with explicit nesting depth. doc_id, ranges
delete_paragraph_bullets Remove list membership (bullets/numbering) from one or more paragraph ranges, leaving each paragraph's text and other styling untouched. doc_id, ranges
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?
list_doc_comments List comments (and their replies) on a Google Doc via the Drive comments resource. doc_id, page_size?, page_token?, include_deleted?
add_doc_comment Add a comment to a Google Doc via the Drive comments resource. doc_id, content, quoted_text?
resolve_doc_comment Mark a comment on a Google Doc as resolved, by posting a reply with a "resolve" action via the Drive comments resource. doc_id, comment_id, reply_content?
create_named_range Create a named range over a span of content in a Google Doc. doc_id, name, start_index, end_index
create_bookmark Create a lightweight, named anchor point at a single position in a Google Doc. doc_id, name, index
get_doc_as_markdown Export a Google Doc's content as GitHub-flavored Markdown. doc_id, include_comments?, local_path?

write_doc_content and create_doc accept either HTML or Markdown (content_format='markdown') and convert it to Docs API requests via the HTML→AST→emitter pipeline — Markdown is converted to HTML first. See Docs AST Pipeline for the design and Markdown Support for the full Markdown→Docs mapping table.

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
create_calendar Create a new secondary calendar owned by the authenticated user. summary, description?, timezone?
update_calendar Update fields on an existing calendar using patch semantics. Only the fields you provide are changed; omitted fields are left as-is. calendar_id, summary?, description?, timezone?, color_id?
delete_calendar Permanently delete a calendar. For calendars you own, this deletes the calendar entirely for all users it is shared with — use with caution. To only stop seeing a calendar in your own list, use remove_calendar_from_list instead. calendar_id
add_calendar_to_list Subscribe the authenticated user (or service account) to a calendar, adding it to their calendar list so it appears in list_calendars. calendar_id, color_id?
remove_calendar_from_list Unsubscribe from a calendar, removing it from the authenticated user's calendar list. The calendar itself is not deleted and is unaffected for any other user it's shared with — use delete_calendar to permanently delete a calendar you own. calendar_id
list_calendar_acl List the access control rules (sharing entries) on a calendar. calendar_id
add_calendar_acl Grant access to a calendar by adding an access control rule. calendar_id, role, scope_type?, scope_value?, send_notifications?
remove_calendar_acl Revoke an access control rule from a calendar. calendar_id, rule_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?
list_all_events List events across multiple calendars in one call, fanning out to each calendar in parallel instead of requiring one list_events call per calendar. time_min?, time_max?, query?, calendar_ids?, max_results_per_calendar?, expand_recurring?, group_by_calendar?

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
get_cache_ttl Read the cache TTL currently in effect for this running process.
set_cache_ttl Change the cache time-to-live at runtime, without restarting the server. ttl_seconds
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