Google Sheets MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GOOGLE_SPREADSHEET_ID | No | The ID of the Google Sheet to interact with. | |
| GOOGLE_APPLICATION_CREDENTIALS | No | Path to the service account JSON key file. |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| sheets_list_tabsA | List all sheet tabs in the connected Google Spreadsheet. Use this to discover available sheets before reading or writing data. |
| sheets_read_rangeA | Read data from a Google Sheet range. Range format: 'SheetName!A1:Z100' or just 'SheetName' for the whole sheet. First row is treated as headers and data is returned as an array of objects. |
| sheets_get_sheetB | Get spreadsheet metadata: title, URL, locale, and all tabs with row/column counts. |
| sheets_write_rangeA | Write values to a Google Sheet range. Values should be a 2D array: each inner array is a row. Example: [['name','age'],['Anton','30']] |
| sheets_create_tabB | Create a new sheet tab in the spreadsheet. |
| sheets_append_rowA | Append a row to a sheet. The row is a JSON object with column names as keys. The tool automatically reads the header row to align columns. Example: {"name": "Anton", "email": "anton@example.com"} |
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 6 tools
Each tool targets a distinct operation: appending rows, creating tabs, getting metadata, listing tabs, reading ranges, and writing ranges. No two tools overlap in purpose.
All tools follow a consistent 'sheets_verb_noun' pattern (e.g., sheets_append_row, sheets_read_range), making it easy for agents to predict tool names.
With 6 tools, the set is well-scoped for a Google Sheets MCP server. It covers core operations without being bloated or overly minimal.
The tool surface covers basic CRUD for rows and tabs, and metadata retrieval, but lacks deletion operations (remove tab, delete row) and cell-level editing. Minor gaps for a typical spreadsheet workflow.