Google Sheets MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_spreadsheetC | Create a new Google Spreadsheet |
| get_spreadsheetB | Get metadata about a spreadsheet including all sheet names |
| read_rangeA | Read data from a range of cells in a spreadsheet |
| write_rangeB | Write data to a range of cells in a spreadsheet |
| append_rowsC | Append rows to the end of a sheet |
| clear_rangeB | Clear values from a range of cells |
| add_sheetB | Add a new sheet to an existing spreadsheet |
| delete_sheetB | Delete a sheet from a spreadsheet |
| format_cellsC | Apply formatting to a range of cells |
| batch_updateC | Perform multiple updates in a single request |
| read_formulasB | Read formulas from cells (not just their calculated values) |
| write_formulasC | Write formulas to cells |
| create_named_rangeB | Create a named range in the spreadsheet |
| list_named_rangesA | List all named ranges in a spreadsheet |
| delete_named_rangeC | Delete a named range |
| format_cells_advancedB | Apply advanced formatting including alignment, fonts, borders, and number formats |
| set_data_validationB | Set data validation rules for cells (e.g., dropdown lists, number ranges) |
| insert_dimensionC | Insert columns or rows |
| delete_dimensionC | Delete columns or rows |
| auto_resize_dimensionsC | Auto-resize columns or rows to fit content |
| find_replaceC | Find and replace text in a sheet |
| duplicate_sheet | Duplicate an existing sheet |
| sort_rangeB | Sort a range by one or more columns |
| merge_cellsC | Merge cells in a range |
| unmerge_cellsC | Unmerge cells in a range |
| create_chartC | Create a chart in a spreadsheet |
| update_chartB | Update an existing chart in a spreadsheet |
| delete_chartA | Delete a chart from a spreadsheet |
| list_chartsC | List all charts in a spreadsheet |
| create_tableB | Create a native Google Sheets table with defined range, columns, and formatting |
| get_table | Retrieve information about a specific table |
| update_table | Update properties of an existing table |
| delete_table | Delete a table from the spreadsheet |
| list_tables | List all tables in a spreadsheet |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 29 tools
Each tool targets a distinct operation (e.g., read vs write, create vs delete, add vs delete sheet) with no overlapping purposes. Even similar tools like format_cells and format_cells_advanced are clearly differentiated by scope.
Most tools follow a verb_noun pattern (e.g., create_spreadsheet, delete_sheet, merge_cells). Minor deviations like format_cells_advanced (adjective appended) and auto_resize_dimensions (prefix) are present but do not cause confusion.
29 tools is high but justified by the rich feature set of Google Sheets. Each tool serves a clear purpose, and while some users might prefer fewer, the count is not excessive for comprehensive coverage.
Covers core operations (CRUD for sheets, ranges, charts, named ranges) but missing advanced features like conditional formatting, data filtering, or pivot tables. Agents can accomplish most tasks but may encounter gaps.