Model Context Protocol (MCP) server for Google Sheets API integration
MCP Gsheets becomes available to MCP clients through the mcp gsheets mcp server. Model Context Protocol (MCP) server for Google Sheets API integration.
A Model Context Protocol (MCP) server for Google Sheets API integration. Enables reading, writing, and managing Google Sheets documents directly from your MCP client (e.g., Claude Code, Claude Desktop, Cursor, etc.).
Once connected, the assistant can call these 14 tools directly:
Toolset — Toolscore — 11sheets — 9formatting — 15charts — 3tables — 4analysis — 2Configuration — Toolssheets_get_merged_cells — Return all merged cell ranges for a sheet, with A1 notation and raw GridRange coordinatessheets_get_sheet_dimensions — Return column widths, row heights, frozen column/row counts, and hidden flags for every column and rowsheets_get_sheet_formatting — Read raw cell formatting (background colour, font, borders, alignment, number format) for a range without returning cell valuessheets_get_conditional_formatting — Read all conditional formatting rules and banded (alternating-colour) ranges defined on a sheetsheets_get_sheet_structure — Lightweight structural metadata only — no per-cell data. Returns dimensions, frozen rows/cols, tab colour, column widths, row heights, hidden columns/rows, andsheets_get_formatting_compact — Read cell formatting for a range and return it as compact A1Range→format pairs (run-length encoded). Identical adjacent cells are collapsed into rectangularThe server is distributed via npm as mcp-gsheets, so most clients can run it without a manual build step. Add it to your MCP client's configuration and restart the client to pick it up — the copy-paste configs for Claude Desktop, Claude Code and Cursor are on this page.
Before the server will start you need to supply 8 environment variables: GOOGLE_PROJECT_ID, GOOGLE_APPLICATION_CREDENTIALS, GOOGLE_SERVICE_ACCOUNT_KEY, GOOGLE_PRIVATE_KEY, GOOGLE_CLIENT_EMAIL, GSHEETS_TOOLSETS, TEST_SPREADSHEET_ID, SPREADSHEET_ID. Keep credentials in your client's env block or a secrets manager rather than committing them.
Developer-tool servers are usually the first ones people connect, because they turn "help me with this code" into an assistant that can actually read the repo and act on it. MCP Gsheets sits in that group, and the shape of its toolset — Toolset, core, sheets among others — tells you what it is really for. Worth comparing against the other developer tools servers in this directory before you commit to one, since several overlap in scope but differ sharply in setup cost and permissions.
| Tool | What it does |
|---|---|
| Toolset | Tools |
| core | 11 |
| sheets | 9 |
| formatting | 15 |
| charts | 3 |
| tables | 4 |
| analysis | 2 |
| Configuration | Tools |
| sheets_get_merged_cells | Return all merged cell ranges for a sheet, with A1 notation and raw GridRange coordinates |
| sheets_get_sheet_dimensions | Return column widths, row heights, frozen column/row counts, and hidden flags for every column and row |
| sheets_get_sheet_formatting | Read raw cell formatting (background colour, font, borders, alignment, number format) for a range without returning cell values |
| sheets_get_conditional_formatting | Read all conditional formatting rules and banded (alternating-colour) ranges defined on a sheet |
| sheets_get_sheet_structure | Lightweight structural metadata only — no per-cell data. Returns dimensions, frozen rows/cols, tab colour, column widths, row heights, hidden columns/rows, and all merges in A1 notation. Single fast API call |
| sheets_get_formatting_compact | Read cell formatting for a range and return it as compact A1Range→format pairs (run-length encoded). Identical adjacent cells are collapsed into rectangular ranges — reduces output by 90 %+ compared to per-cell data |
{
"mcpServers": {
"mcp-gsheets": {
"command": "npx",
"args": ["-y", "mcp-gsheets@latest"],
"env": {
"GOOGLE_PROJECT_ID": "your-project-id",
"GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/service-account-key.json"
}
}
}
}Configuration as documented by the project. Restart the client after saving.
| Variable | Description | Required |
|---|---|---|
| GOOGLE_PROJECT_ID | Configuration value read at startup. | Optional |
| GOOGLE_APPLICATION_CREDENTIALS | Configuration value read at startup. | Optional |
| GOOGLE_SERVICE_ACCOUNT_KEY | Credential the server authenticates with. | Yes |
| GOOGLE_PRIVATE_KEY | Credential the server authenticates with. | Yes |
| GOOGLE_CLIENT_EMAIL | Configuration value read at startup. | Optional |
| GSHEETS_TOOLSETS | Configuration value read at startup. | Optional |
| TEST_SPREADSHEET_ID | Configuration value read at startup. | Optional |
| SPREADSHEET_ID | Configuration value read at startup. | Optional |
Your assistant inside the workspace — read channels, search history, post messages and tame the noise.
Inbox intelligence — search, read, draft and send Gmail through your assistant with OAuth auto-setup.
Read and write Jira, Confluence, Bitbucket, JSM and Compass from your AI client — with your own permissions.
Read and send Telegram messages through your assistant — chats, channels and history via the client API.
Enables Discord bot integration with Model Context Protocol (MCP) compatible applications like Claude Desktop.
Exposes REST APIs defined by OpenAPI specifications as Model Context Protocol (MCP) tools, facilitating seamless integration into MCP-based workflows.