Read, write, and format spreadsheet data. Manage sheets, run formulas, and collaborate on structured data in real time.
Drift inferred · capture-to-capture
- MEDIUM gained untrusted · 1 tool changed permissions
- LOW gained verified
tool count over time
tools
-
GOOGLESHEETS_ADD_SHEET
Adds a new sheet (worksheet) to a spreadsheet. Use this tool to create a new tab within an existing Google Sheet, optionally specifying its title, index, size, and other properties. IMPORTANT: - Always provide the spreadsheetId. Use 'Search Spreadsheets' action if you need to find it by name - Sheet names must be unique within the spreadsheet - For tab colors, use EITHER rgbColor OR themeColor, never both - Index must be less than or equal to the current number of sheets - CONCURRENCY WARNING: Do not use 'index' when creating multiple sheets in parallel - this causes 'index is too high' errors. For parallel creation, omit the index field and let sheets be added at the end Common use cases: - Add a new sheet with a specific name - Insert a sheet at a specific position - Create a sheet with custom colors and formatting
in ▸ properties spreadsheetId
-
GOOGLESHEETS_AGGREGATE_COLUMN_DATA
Searches for rows where a specific column matches a value and performs mathematical operations on data from another column.
in ▸ operation sheet_name search_value search_column target_column case_sensitive has_header_row spreadsheet_id percentage_total
-
GOOGLESHEETS_APPEND_DIMENSION
Tool to append new rows or columns to a sheet, increasing its size. Use when you need to add empty rows or columns to an existing sheet.
in ▸ length sheet_id dimension spreadsheet_id
-
GOOGLESHEETS_BATCH_GET
Retrieves data from specified cell ranges in a Google Spreadsheet.
in ▸ ranges spreadsheet_id valueRenderOption dateTimeRenderOption
-
GOOGLESHEETS_BATCH_UPDATE
Updates a specified range in a Google Sheet with given values, or appends them as new rows if `first_cell_location` is omitted. Auto-expands grid for large datasets, preventing range errors. Requirements: Target sheet must exist and spreadsheet must contain at least one worksheet.
in ▸ values sheet_name spreadsheet_id valueInputOption first_cell_location includeValuesInResponse
-
GOOGLESHEETS_BATCH_UPDATE_VALUES_BY_DATA_FILTER
Tool to update values in ranges matching data filters. Use when you need to update specific data in a Google Sheet based on criteria rather than fixed cell ranges.
in ▸ data spreadsheetId valueInputOption includeValuesInResponse responseValueRenderOption responseDateTimeRenderOption
-
GOOGLESHEETS_CLEAR_BASIC_FILTER
Tool to clear the basic filter from a sheet. Use when you need to remove an existing basic filter from a specific sheet within a Google Spreadsheet.
in ▸ sheet_id spreadsheet_id
-
GOOGLESHEETS_CLEAR_VALUES
Clears cell content (preserving formatting and notes) from a specified A1 notation range in a Google Spreadsheet; the range must correspond to an existing sheet and cells.
in ▸ range spreadsheet_id
-
GOOGLESHEETS_CREATE_CHART
Create a chart in a Google Sheets spreadsheet using the specified data range and chart type. Conditional requirements: - Provide either a simple chart via chart_type + data_range (basicChart), OR supply a full chart_spec supporting all chart types. Exactly one approach should be used. - When using chart_spec, set exactly one of the union fields (basicChart | pieChart | bubbleChart | candlestickChart | histogramChart | waterfallChart | treemapChart | orgChart | scorecardChart).
in ▸ title sheet_id subtitle chart_spec chart_type data_range x_axis_title y_axis_title background_red spreadsheet_id background_blue legend_position background_green
-
GOOGLESHEETS_CREATE_GOOGLE_SHEET1
Creates a new Google Spreadsheet in Google Drive using the provided title.
in ▸ title
-
GOOGLESHEETS_CREATE_SPREADSHEET_COLUMN
Creates a new column in a Google Spreadsheet, requiring a valid `spreadsheet_id` and an existing `sheet_id`; an out-of-bounds `insert_index` may append/prepend the column.
in ▸ sheet_id insert_index spreadsheet_id inherit_from_before
-
GOOGLESHEETS_CREATE_SPREADSHEET_ROW
Inserts a new, empty row into a specified sheet of a Google Spreadsheet at a given index, optionally inheriting formatting from the row above.
in ▸ sheet_id insert_index spreadsheet_id inherit_from_before
-
GOOGLESHEETS_DELETE_DIMENSION
Tool to delete specified rows or columns from a sheet in a Google Spreadsheet. Use when you need to remove a range of rows or columns.
in ▸ spreadsheet_id response_ranges delete_dimension_request response_include_grid_data include_spreadsheet_in_response
-
GOOGLESHEETS_DELETE_SHEET
Tool to delete a sheet (worksheet) from a spreadsheet. Use when you need to remove a specific sheet from a Google Sheet document.
in ▸ sheet_id spreadsheetId
-
GOOGLESHEETS_EXECUTE_SQL
Execute SQL queries against Google Sheets tables. Supports SELECT, INSERT, UPDATE, and DELETE operations with familiar SQL syntax. Tables are automatically detected and mapped from the spreadsheet structure.
in ▸ sql dry_run delete_method spreadsheet_id
-
GOOGLESHEETS_FIND_REPLACE
Tool to find and replace text in a Google Spreadsheet. Use when you need to fix formula errors, update values, or perform bulk text replacements across cells. Common use cases: - Fix #ERROR! cells by replacing with empty string or correct formula - Update old values with new ones across multiple cells - Fix formula references or patterns - Clean up data formatting issues
in ▸ find range sheetId allSheets matchCase replacement searchByRegex spreadsheetId matchEntireCell
-
GOOGLESHEETS_FIND_WORKSHEET_BY_TITLE
Finds a worksheet by its exact, case-sensitive title within a Google Spreadsheet; returns a boolean indicating if found and the complete metadata of the entire spreadsheet, regardless of whether the target worksheet is found.
in ▸ title spreadsheet_id
-
GOOGLESHEETS_FORMAT_CELL
Applies text and background cell formatting to a specified range in a Google Sheets worksheet.
in ▸ red blue bold green range italic fontSize underline worksheet_id end_row_index strikethrough spreadsheet_id start_row_index end_column_index start_column_index
-
GOOGLESHEETS_GET_SHEET_NAMES
Lists all worksheet names from a specified Google Spreadsheet (which must exist), useful for discovering sheets before further operations.
in ▸ spreadsheet_id
-
GOOGLESHEETS_GET_SPREADSHEET_BY_DATA_FILTER
Returns the spreadsheet at the given ID, filtered by the specified data filters. Use this tool when you need to retrieve specific subsets of data from a Google Sheet based on criteria like A1 notation, developer metadata, or grid ranges.
in ▸ dataFilters spreadsheetId includeGridData excludeTablesInBandedRanges
-
GOOGLESHEETS_GET_SPREADSHEET_INFO
Retrieves comprehensive metadata for a Google Spreadsheet using its ID, excluding cell data.
in ▸ spreadsheet_id
-
GOOGLESHEETS_GET_TABLE_SCHEMA
This action is used to get the schema of a table in a Google Spreadsheet, call this action to get the schema of a table in a spreadsheet BEFORE YOU QUERY THE TABLE. Analyze table structure and infer column names, types, and constraints. Uses statistical analysis of sample data to determine the most likely data type for each column. Call this action after calling the LIST_TABLES action to get the schema of a table in a spreadsheet.
in ▸ sheet_name table_name sample_size spreadsheet_id
-
GOOGLESHEETS_INSERT_DIMENSION
Tool to insert new rows or columns into a sheet at a specified location. Use when you need to add empty rows or columns within an existing Google Sheet.
in ▸ spreadsheet_id response_ranges insert_dimension response_include_grid_data include_spreadsheet_in_response
-
GOOGLESHEETS_LIST_TABLES
This action is used to list all tables in a Google Spreadsheet, call this action to get the list of tables in a spreadsheet. Discover all tables in a Google Spreadsheet by analyzing sheet structure and detecting data patterns. Uses heuristic analysis to find header rows, data boundaries, and table structures.
in ▸ min_rows min_columns min_confidence spreadsheet_id
-
GOOGLESHEETS_LOOKUP_SPREADSHEET_ROW
Finds the first row in a Google Spreadsheet where a cell's entire content exactly matches the query string, searching within a specified A1 notation range or the first sheet by default.
in ▸ query range case_sensitive spreadsheet_id
-
GOOGLESHEETS_QUERY_TABLE
This action is used to query a table in a Google Spreadsheet, call this action to query a table in a spreadsheet. Execute SQL-like SELECT queries against spreadsheet tables. Supports WHERE conditions, ORDER BY, LIMIT clauses. Call this action after calling the GET_TABLE_SCHEMA action to query a table in a spreadsheet.
in ▸ sql spreadsheet_id include_formulas
-
GOOGLESHEETS_SEARCH_DEVELOPER_METADATA
Tool to search for developer metadata in a spreadsheet. Use when you need to find specific metadata entries based on filters.
in ▸ dataFilters spreadsheetId
-
GOOGLESHEETS_SEARCH_SPREADSHEETS
Search for Google Spreadsheets using various filters including name, content, date ranges, and more.
in ▸ query order_by max_results starred_only created_after modified_after shared_with_me include_trashed
-
GOOGLESHEETS_SET_BASIC_FILTER
Tool to set a basic filter on a sheet in a Google Spreadsheet. Use when you need to filter or sort data within a specific range on a sheet.
in ▸ filter spreadsheetId
-
GOOGLESHEETS_SHEET_FROM_JSON
Creates a new Google Spreadsheet and populates its first worksheet from `sheet_json`, which must be non-empty as its first item's keys establish the headers.
in ▸ title sheet_json sheet_name
-
GOOGLESHEETS_SPREADSHEETS_SHEETS_COPY_TO
Tool to copy a single sheet from a spreadsheet to another spreadsheet. Use when you need to duplicate a sheet into a different spreadsheet.
in ▸ sheet_id spreadsheet_id destination_spreadsheet_id
-
GOOGLESHEETS_SPREADSHEETS_VALUES_APPEND
Tool to append values to a spreadsheet. Use when you need to add new data to the end of an existing table in a Google Sheet.
in ▸ range values spreadsheetId majorDimension insertDataOption valueInputOption includeValuesInResponse responseValueRenderOption responseDateTimeRenderOption
-
GOOGLESHEETS_SPREADSHEETS_VALUES_BATCH_CLEAR
Tool to clear one or more ranges of values from a spreadsheet. Use when you need to remove data from specific cells or ranges while keeping formatting and other properties intact.
in ▸ ranges spreadsheet_id
-
GOOGLESHEETS_SPREADSHEETS_VALUES_BATCH_CLEAR_BY_DATA_FILTER
Clears one or more ranges of values from a spreadsheet using data filters. The caller must specify the spreadsheet ID and one or more DataFilters. Ranges matching any of the specified data filters will be cleared. Only values are cleared -- all other properties of the cell (such as formatting, data validation, etc..) are kept.
in ▸ dataFilters spreadsheetId
-
GOOGLESHEETS_SPREADSHEETS_VALUES_BATCH_GET_BY_DATA_FILTER
Tool to return one or more ranges of values from a spreadsheet that match the specified data filters. Use when you need to retrieve specific data sets based on filtering criteria rather than entire sheets or fixed ranges.
in ▸ dataFilters spreadsheetId majorDimension valueRenderOption dateTimeRenderOption
-
GOOGLESHEETS_UPDATE_SHEET_PROPERTIES
Tool to update properties of a sheet (worksheet) within a Google Spreadsheet, such as its title, index, visibility, tab color, or grid properties. Use this when you need to modify the metadata or appearance of a specific sheet.
in ▸ spreadsheetId updateSheetProperties
-
GOOGLESHEETS_UPDATE_SPREADSHEET_PROPERTIES
Tool to update properties of a spreadsheet, such as its title, locale, or auto-recalculation settings. Use when you need to modify the overall configuration of a Google Sheet.
in ▸ fields properties spreadsheetId
-
GOOGLESHEETS_UPSERT_ROWS
Upsert rows - update existing rows by key, append new ones. Automatically handles column mapping and partial updates. Use for: CRM syncs (match Lead ID), transaction imports (match Transaction ID), inventory updates (match SKU), calendar syncs (match Event ID). Features: - Auto-adds missing columns to sheet - Partial column updates (only update Phone + Status, preserve other columns) - Column order doesn't matter (auto-maps by header name) - Prevents duplicates by matching key column Example inputs: - Contact update: keyColumn='Email', headers=['Email','Phone','Status'], data=[['john@ex.com','555-0101','Active']] - Inventory sync: keyColumn='SKU', headers=['SKU','Stock','Price'], data=[['WIDGET-001',50,9.99],['GADGET-002',30,19.99]] - CRM lead update: keyColumn='Lead ID', headers=['Lead ID','Score','Status'], data=[['L-12345',85,'Hot']] - Partial update: keyColumn='Email', headers=['Email','Phone'] (only updates Phone, preserves Name/Address/etc)
in ▸ data headers keyColumn sheetName tableStart spreadsheetId
This server hasn't been statically analyzed yet (npm/PyPI artifacts only).