moooonad avatar

Mcp Google Sheets Full

moooonad/mcp-google-sheets-full

Connects Claude to Google Sheets via the Sheets v4 and Drive v3 APIs with 26 tools covering read, write, batch updates, formatting, and Drive search. Defaults to user OAuth so there's no per-sheet service account setup. The standout feature is run_sheets_script, which lets you execute arbitrary Node.js snippets with authenticated clients already in scope when the pre-built tools don't cover your edge case. Think multi-step migrations, custom conditional formatting requests, or analysis workflows that need to read then write. The code runs locally under your credentials with automatic cleanup. If you need full Sheets API coverage without hitting the limits of curated tool sets, this is the escape hatch.

tools
26
transport
STDIO
last updated
May 23, 2026

Tools

26 tools

Public tool metadata for what this MCP can expose to an agent.

auth_statusWhere the server looks for credentials/token and whether they exist.

Where the server looks for credentials/token and whether they exist.

No parameter schema in public metadata yet.

resolve_urlExtract spreadsheetId + gid from a Google Sheets URL.

Extract spreadsheetId + gid from a Google Sheets URL.

No parameter schema in public metadata yet.

list_spreadsheetsList spreadsheets in the user's Drive (recent-first).

List spreadsheets in the user's Drive (recent-first).

No parameter schema in public metadata yet.

search_spreadsheetsSearch spreadsheets by name substring or full-text content.

Search spreadsheets by name substring or full-text content.

No parameter schema in public metadata yet.

get_spreadsheetSpreadsheet metadata (tabs, gridProperties).

Spreadsheet metadata (tabs, gridProperties).

No parameter schema in public metadata yet.

get_valuesRead one A1 range.

Read one A1 range.

No parameter schema in public metadata yet.

batch_get_valuesRead multiple ranges.

Read multiple ranges.

No parameter schema in public metadata yet.

update_valuesWrite a 2D array to a range.

Write a 2D array to a range.

No parameter schema in public metadata yet.

batch_update_valuesWrite multiple ranges in one call.

Write multiple ranges in one call.

No parameter schema in public metadata yet.

append_valuesAppend rows to the end of a table.

Append rows to the end of a table.

No parameter schema in public metadata yet.

clear_valuesClear one or more ranges.

Clear one or more ranges.

No parameter schema in public metadata yet.

batch_updateStructural changes (raw Sheets API Request[]) — escape hatch for any Request type not covered by a dedicated tool.

Structural changes (raw Sheets API Request[]) — escape hatch for any Request type not covered by a dedicated tool.

No parameter schema in public metadata yet.

create_spreadsheetCreate a new spreadsheet owned by the user.

Create a new spreadsheet owned by the user.

No parameter schema in public metadata yet.

add_sheetManage tabs (accept sheet_id gid or sheet_name).

Manage tabs (accept sheet_id gid or sheet_name).

No parameter schema in public metadata yet.

delete_sheetManage tabs (accept sheet_id gid or sheet_name).

Manage tabs (accept sheet_id gid or sheet_name).

No parameter schema in public metadata yet.

duplicate_sheetManage tabs (accept sheet_id gid or sheet_name).

Manage tabs (accept sheet_id gid or sheet_name).

No parameter schema in public metadata yet.

rename_sheetManage tabs (accept sheet_id gid or sheet_name).

Manage tabs (accept sheet_id gid or sheet_name).

No parameter schema in public metadata yet.

insert_rowsManage rows/columns by 0-based index ranges.

Manage rows/columns by 0-based index ranges.

No parameter schema in public metadata yet.

insert_columnsManage rows/columns by 0-based index ranges.

Manage rows/columns by 0-based index ranges.

No parameter schema in public metadata yet.

delete_rowsManage rows/columns by 0-based index ranges.

Manage rows/columns by 0-based index ranges.

No parameter schema in public metadata yet.

delete_columnsManage rows/columns by 0-based index ranges.

Manage rows/columns by 0-based index ranges.

No parameter schema in public metadata yet.

merge_cellsMerge ranges (MERGE_ALL / MERGE_COLUMNS / MERGE_ROWS).

Merge ranges (MERGE_ALL / MERGE_COLUMNS / MERGE_ROWS).

No parameter schema in public metadata yet.

unmerge_cellsMerge ranges (MERGE_ALL / MERGE_COLUMNS / MERGE_ROWS).

Merge ranges (MERGE_ALL / MERGE_COLUMNS / MERGE_ROWS).

No parameter schema in public metadata yet.

format_cellsApply a partial CellFormat to a range (background, textFormat, alignment, numberFormat, ...).

Apply a partial CellFormat to a range (background, textFormat, alignment, numberFormat, ...).

No parameter schema in public metadata yet.

set_bordersSet borders on a range (top/bottom/left/right/innerHorizontal/innerVertical).

Set borders on a range (top/bottom/left/right/innerHorizontal/innerVertical).

No parameter schema in public metadata yet.

run_sheets_scriptRun arbitrary Node code with pre-authenticated sheets/drive/auth/spreadsheetId.

Run arbitrary Node code with pre-authenticated sheets/drive/auth/spreadsheetId.

No parameter schema in public metadata yet.

Sponsors

Readme

mcp-google-sheets-full

The Google Sheets MCP server that can do anything the Sheets API can.

26 tools spanning read/write, structural batchUpdate, Drive search, and an escape hatch (run_sheets_script) that executes arbitrary Node.js code with sheets / drive / auth / spreadsheetId pre-injected. Two auth modes: OAuth (default, your own Google account, zero per-sheet setup) or service account (opt-in, for headless / CI).

Why this server

Most Google Sheets MCP servers expose a curated set of operations and stop there. If you need something they didn't anticipate (a particular conditional-format request, a multi-step migration, a Drive-side operation, an analysis-then-write workflow), you're stuck.

This server adds the missing primitive: run_sheets_script. Pass a snippet of Node code, get back the result. The Sheets v4 and Drive v3 clients are already authenticated and in scope. The temp file is always cleaned up.


View the full README on GitHub

Details

Repository
github.com/moooonad/mcp-google-sheets-full
Category
Data & Analytics
Package
mcp-google-sheets-full
Transport
STDIO
Registry
MCP registry, active

Related Data & Analytics MCP servers

View all
1igormilovanovic avatarMCP Data Converterio.github.igormilovanovic/data-converterConvert between 200+ format pairs: JSON, CSV, XML, YAML, PDF, Excel, DOCX and more.0stars
2infoinlet-marketplace avatarMcp Datainfoinlet-marketplace/marketplaceTabular data for AI agents — load CSV/JSON/XLSX, query, group-by, stats (no database).0stars
3kalehdoo avatarWarehouse Mcpkalehdoo/warehouse-mcpProduction MCP server for Postgres, Oracle, Snowflake, BigQuery, Redshift, DuckDB, MotherDuck.0stars
4negokaz avatarExcelnegokaz/excel-mcp-serverA Model Context Protocol (MCP) server that reads and writes MS Excel data954stars
5sbroenne avatarMCP Server for Excelsbroenne/mcp-server-excelExcel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.887stars
6isaacwasserman avatarSnowflakeisaacwasserman/mcp-snowflake-serverProvides Snowflake data access and schema context via MCP tools and memo insights.183stars