Google Sheets Advanced MCP Server
Provides full control over Google Sheets—read/write, charts, pivot tables, formulas, formatting, and analytics via the Google Sheets API.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Google Sheets Advanced MCP Server Create a bar chart from sales data in Sheet1"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Google Sheets Advanced MCP Server
An MCP server that gives AI assistants full control over Google Sheets — not just read/write, but charts, pivot tables, formulas, formatting, and analytics.
What Makes This Different
Existing Google Sheets MCP servers only support basic CRUD (read cells, write cells). This server exposes the full Google Sheets API:
15 chart types — bar, line, pie, scatter, histogram, waterfall, and more
Pivot tables — group, aggregate, cross-tabulate
Conditional formatting — color scales, value-based rules, custom formulas
Data validation — dropdowns, number constraints, checkboxes
Server-side analytics — summary stats, trend analysis, duplicate detection
30 tools total — 9 free, 21 pro
Related MCP server: Google Sheets MCP Server
Installation
npx mcp-google-sheets-advancedOr install globally:
pnpm add -g mcp-google-sheets-advancedQuick Start
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"google-sheets-advanced": {
"command": "npx",
"args": ["-y", "mcp-google-sheets-advanced"],
"env": {
"GOOGLE_CLIENT_ID": "your-client-id",
"GOOGLE_CLIENT_SECRET": "your-secret"
}
}
}
}On first run, a browser window opens for Google OAuth authentication.
Available Tools
Free Tier (Read Operations)
Tool | Description |
| List accessible spreadsheets |
| Get spreadsheet metadata |
| Read cell values from a range |
| Batch read multiple ranges |
| Get formulas from a range |
| Get sheet properties |
| List named ranges |
| List charts |
| List filter views |
Pro Tier ($16/mo)
Tool | Description |
| Write values to a range |
| Batch write to multiple ranges |
| Append rows to a table |
| Clear values from a range |
| Add a new sheet |
| Delete a sheet |
| Create charts (15 types) |
| Modify existing charts |
| Remove charts |
| Create pivot tables |
| Add conditional formatting |
| Set data validation rules |
| Format cells (fonts, colors, borders) |
| Compute summary statistics |
| Find duplicate values |
| Analyze trends with linear regression |
| Create named ranges |
| Sort data |
| Apply/clear filters |
| Protect ranges |
| Find and replace |
Configuration
Required Environment Variables
Variable | Description |
| OAuth client ID from Google Cloud Console |
| OAuth client secret |
Optional
Variable | Description | Default |
| Path to store OAuth tokens |
|
Development
# Install dependencies
pnpm install
# Run in development mode
pnpm dev
# Build
pnpm build
# Run tests
pnpm test
# Type check
pnpm typecheck
# Test with MCP Inspector
pnpm inspectLicense
MIT
Available Tools
30 toolssheets_add_conditional_formattingCIdempotent
Adds a conditional formatting rule to a range in a spreadsheet
Inputs: range (required), rule_type (required), spreadsheet_id (required), format, +2 more.
sheets_analyze_trendsCRead-onlyIdempotent
Performs linear regression on a column to identify trends
Inputs: range (required), value_column (required), spreadsheet_id (required).
sheets_append_rowsBIdempotent
Appends rows of data after the last row with content in a range
Inputs: range (required), values (required), spreadsheet_id (required).
sheets_clear_rangeADestructive
Clears all values from a specified range while preserving formatting
Inputs: range (required), spreadsheet_id (required).
sheets_create_chartCIdempotent
Creates a chart in a Google Sheets spreadsheet
Inputs: chart_type (required), data_range (required), sheet_name (required), spreadsheet_id (required), +3 more.
sheets_create_named_rangeAIdempotent
Creates a named range in a spreadsheet
Inputs: name (required), range (required), spreadsheet_id (required).
sheets_create_pivot_tableCIdempotent
Creates a pivot table in a Google Sheets spreadsheet
Inputs: rows (required), values (required), destination (required), source_range (required), +2 more.
sheets_create_sheetCIdempotent
Creates a new sheet (tab) in an existing spreadsheet
Inputs: title (required), spreadsheet_id (required), row_count, column_count.
sheets_delete_chartCDestructive
Deletes an embedded chart from a Google Sheets spreadsheet
Inputs: chart_id (required), spreadsheet_id (required).
sheets_delete_sheetADestructive
Deletes a sheet (tab) from a spreadsheet by name
Inputs: sheet_name (required), spreadsheet_id (required).
sheets_find_duplicatesBRead-onlyIdempotent
Finds duplicate rows in a range based on specified columns
Inputs: range (required), spreadsheet_id (required), columns.
sheets_find_replaceBIdempotent
Finds and replaces text across a spreadsheet or within a specific range
Inputs: find (required), replacement (required), spreadsheet_id (required), range, +4 more.
sheets_format_cellsCIdempotent
Formats cells in a range with font, color, alignment, and number format options
Inputs: range (required), format (required), spreadsheet_id (required).
sheets_get_formulasBRead-onlyIdempotent
Gets all formulas from a specified range, returning cell references and formula text
Inputs: range (required), spreadsheet_id (required).
sheets_get_sheet_metadataBRead-onlyIdempotent
Gets metadata for a specific sheet within a spreadsheet
Inputs: sheet_name (required), spreadsheet_id (required).
sheets_get_spreadsheet_infoBRead-onlyIdempotent
Gets metadata about a spreadsheet including its sheets, properties, and named ranges
Inputs: spreadsheet_id (required).
sheets_list_chartsARead-onlyIdempotent
Lists all charts in a spreadsheet, optionally filtered by sheet name
Inputs: spreadsheet_id (required), sheet_name.
sheets_list_filter_viewsBRead-onlyIdempotent
Lists all filter views in a spreadsheet
Inputs: spreadsheet_id (required).
sheets_list_named_rangesARead-onlyIdempotent
Lists all named ranges in a spreadsheet with their A1 notation references
Inputs: spreadsheet_id (required).
sheets_list_spreadsheetsBRead-onlyIdempotent
Lists spreadsheets accessible to the authenticated user via Google Drive
Inputs: query, max_results.
sheets_protect_rangeBIdempotent
Protects a range from editing, optionally as a warning only
Inputs: range (required), spreadsheet_id (required), description, warning_only.
sheets_read_multiple_rangesARead-onlyIdempotent
Reads cell values from multiple ranges in a single batch request
Inputs: ranges (required), spreadsheet_id (required), value_render.
sheets_read_rangeCRead-onlyIdempotent
Reads cell values from a specified range in a spreadsheet
Inputs: range (required), spreadsheet_id (required), value_render.
sheets_set_basic_filterBIdempotent
Sets or clears a basic filter on a range
Inputs: range (required), spreadsheet_id (required), clear, criteria.
sheets_set_data_validationCIdempotent
Sets data validation rules on a range of cells
Inputs: range (required), spreadsheet_id (required), validation_type (required), strict, +1 more.
sheets_sort_rangeCIdempotent
Sorts a range of data by one or more columns
Inputs: range (required), sort_specs (required), spreadsheet_id (required).
sheets_summarize_rangeBRead-onlyIdempotent
Computes summary statistics for columns in a range, with optional grouping
Inputs: range (required), spreadsheet_id (required), group_by_column.
sheets_update_chartCIdempotent
Updates an existing chart in a Google Sheets spreadsheet
Inputs: chart_id (required), spreadsheet_id (required), title, chart_type, +1 more.
sheets_write_multiple_rangesBIdempotent
Writes values to multiple ranges in a single batch operation
Inputs: data (required), spreadsheet_id (required).
sheets_write_rangeCIdempotent
Writes values to a specified range in a Google Sheets spreadsheet
Inputs: range (required), values (required), spreadsheet_id (required), input_mode.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 30 tools
Each tool targets a fairly distinct action or resource, and descriptions clarify boundaries. Minor potential confusion exists between metadata getters (sheet vs spreadsheet) and between write variants (range vs multiple ranges vs append), but these are resolvable from context.
All tools use the same snake_case convention with a consistent sheets_ prefix and verb_noun structure. The pattern is predictable throughout the entire set.
30 tools exceeds the 25-tool threshold and feels heavy even for an advanced Google Sheets server. Many niche operations could be consolidated or collapsed into batch-style tools without losing core capability.
Core value read/write/append/clear and basic tab management are covered, but advanced resources have incomplete lifecycles: named ranges can be created but not updated/deleted, pivot tables only created, conditional formatting/data validation not removable, and no spreadsheet create/delete or row/column insertion/deletion.
Related MCP Connectors
Connect AI assistants to Google Sheets through controlled tools for reading and updating rows.
Multiple Gmail accounts, editable Google Sheets & Docs for AI agents. Deny-by-default access rules.
AI access to Quadratic spreadsheets: open files, run Python/SQL, query connected databases.
Use your apps from your AI: Gmail, Slack, Google Sheets, HubSpot and 2,300+ more on your accounts.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables deep integration with Google Workspace for AI assistants, allowing for document creation, spreadsheet manipulation, and file management. It supports advanced features like template processing, comment thread management, and cell formatting.61 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Google Sheets, performing operations like creating, reading, updating, and clearing spreadsheet data.1MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Google Sheets via natural language, supporting CRUD operations, listing, sharing, and batch updates.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to read, write, and manage Google Sheets using the Google Sheets API v4.MIT