Google Sheets
Read, write, and format spreadsheet data. Manage sheets, run formulas, and collaborate on structured data in real time.
https://googlesheets.run.tools
How to connect
-
Smithery (hosted)
1. Open https://smithery.ai/servers/googlesheets 2. Click Connect and complete OAuth in your MCP client (Claude, Cursor, VS Code, etc.) 3. MCP endpoint: https://googlesheets.run.tools
Tools (38)
-
GOOGLESHEETS_ADD_SHEETAdds 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: D
-
GOOGLESHEETS_AGGREGATE_COLUMN_DATASearches for rows where a specific column matches a value and performs mathematical operations on data from another column.
-
GOOGLESHEETS_APPEND_DIMENSIONTool 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.
-
GOOGLESHEETS_BATCH_GETRetrieves data from specified cell ranges in a Google Spreadsheet.
-
GOOGLESHEETS_BATCH_UPDATEUpdates 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.
-
GOOGLESHEETS_BATCH_UPDATE_VALUES_BY_DATA_FILTERTool 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.
-
GOOGLESHEETS_CLEAR_BASIC_FILTERTool 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.
-
GOOGLESHEETS_CLEAR_VALUESClears 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.
-
GOOGLESHEETS_CREATE_CHARTCreate 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).
-
GOOGLESHEETS_CREATE_GOOGLE_SHEET1Creates a new Google Spreadsheet in Google Drive using the provided title.
-
GOOGLESHEETS_CREATE_SPREADSHEET_COLUMNCreates 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.
-
GOOGLESHEETS_CREATE_SPREADSHEET_ROWInserts a new, empty row into a specified sheet of a Google Spreadsheet at a given index, optionally inheriting formatting from the row above.
-
GOOGLESHEETS_DELETE_DIMENSIONTool 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.
-
GOOGLESHEETS_DELETE_SHEETTool to delete a sheet (worksheet) from a spreadsheet. Use when you need to remove a specific sheet from a Google Sheet document.
-
GOOGLESHEETS_EXECUTE_SQLExecute 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.
-
GOOGLESHEETS_FIND_REPLACETool 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
-
GOOGLESHEETS_FIND_WORKSHEET_BY_TITLEFinds 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.
-
GOOGLESHEETS_FORMAT_CELLApplies text and background cell formatting to a specified range in a Google Sheets worksheet.
-
GOOGLESHEETS_GET_SHEET_NAMESLists all worksheet names from a specified Google Spreadsheet (which must exist), useful for discovering sheets before further operations.
-
GOOGLESHEETS_GET_SPREADSHEET_BY_DATA_FILTERReturns 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.
-
GOOGLESHEETS_GET_SPREADSHEET_INFORetrieves comprehensive metadata for a Google Spreadsheet using its ID, excluding cell data.
-
GOOGLESHEETS_GET_TABLE_SCHEMAThis 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.
-
GOOGLESHEETS_INSERT_DIMENSIONTool 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.
-
GOOGLESHEETS_LIST_TABLESThis 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.
-
GOOGLESHEETS_LOOKUP_SPREADSHEET_ROWFinds 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.
-
GOOGLESHEETS_QUERY_TABLEThis 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.
-
GOOGLESHEETS_SEARCH_DEVELOPER_METADATATool to search for developer metadata in a spreadsheet. Use when you need to find specific metadata entries based on filters.
-
GOOGLESHEETS_SEARCH_SPREADSHEETSSearch for Google Spreadsheets using various filters including name, content, date ranges, and more.
-
GOOGLESHEETS_SET_BASIC_FILTERTool 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.
-
GOOGLESHEETS_SHEET_FROM_JSONCreates 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.
-
GOOGLESHEETS_SPREADSHEETS_SHEETS_COPY_TOTool to copy a single sheet from a spreadsheet to another spreadsheet. Use when you need to duplicate a sheet into a different spreadsheet.
-
GOOGLESHEETS_SPREADSHEETS_VALUES_APPENDTool 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.
-
GOOGLESHEETS_SPREADSHEETS_VALUES_BATCH_CLEARTool 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.
-
GOOGLESHEETS_SPREADSHEETS_VALUES_BATCH_CLEAR_BY_DATA_FILTERClears 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.
-
GOOGLESHEETS_SPREADSHEETS_VALUES_BATCH_GET_BY_DATA_FILTERTool 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.
-
GOOGLESHEETS_UPDATE_SHEET_PROPERTIESTool 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.
-
GOOGLESHEETS_UPDATE_SPREADSHEET_PROPERTIESTool 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.
-
GOOGLESHEETS_UPSERT_ROWSUpsert 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 inp