Google Sheets MCP Server
Range-level spreadsheet access with real formatting control.
The Sheets service works the way spreadsheet people think: in ranges. read_sheet_values and modify_sheet_values operate on A1-notation ranges, so an assistant can pull a pipeline tab, update a forecast column, or clear a staging area without touching the rest of the workbook.
It goes beyond values — format_sheet_range applies number and text formats, and manage_conditional_formatting adds, updates, or removes rules, which is the difference between dumping data and producing a sheet someone can actually read.
What you can ask
- “Read the pipeline tab and tell me which deals slipped since last month”
- “Append these survey results and highlight any satisfaction score below 7 in red”
- “Create a release-checklist spreadsheet with one tab per milestone”
All 15 Google Sheets MCP tools
Expand any tool for its full parameter list. Tiers control how many tools the server
registers: start lean with --tool-tier core and step up to extended or complete when a workflow needs more.
list_spreadsheet_comments Complete List comments on spreadsheets. —manage_spreadsheet_comment Complete Create, reply, and resolve spreadsheet comments. —Every service in one reference: full API documentation →
OAuth scopes
The server requests only the scopes for the services you enable. In read-only mode it requests just the readonly variants and skips registering write tools entirely.
spreadsheets.readonlyread values and metadataspreadsheetswrite values, formatting, and structure
Google Sheets MCP questions
- Does it understand ranges or just whole sheets?
- Ranges, in standard A1 notation. read_sheet_values and modify_sheet_values both take ranges like Sheet2!B2:E50, so operations touch exactly the cells intended — important when an agent edits a spreadsheet other people are working in.
- Can it format cells, or only write raw values?
- format_sheet_range applies text styling and number/date/currency formats to a range, and manage_conditional_formatting manages rule-based highlighting. An assistant can deliver a readable report, not a wall of unformatted numbers.
- Can it add a tab to an existing workbook instead of creating a new file?
- Yes — create_sheet adds sheets to existing spreadsheets, while create_spreadsheet makes a new file. get_spreadsheet_info reports the tabs already present so the assistant knows what exists first.
Works alongside
All services: Gmail MCP Google Drive MCP Google Calendar MCP Google Docs MCP Google Sheets MCP Google Slides MCP Google Forms MCP Google Tasks MCP Google Contacts MCP Google Chat MCP Google Custom Search MCP Google Apps Script MCP