MCP Gsheets
MCP Gsheets is an MCP server that adds productivity tools to AI assistants such as Claude Desktop, Claude Code and Cursor. MCP server for Google Sheets API — read, write, format, batch operations. It has 104 GitHub stars, is released under the MIT license and runs locally with npx -y mcp-gsheets.
github.com/freema/mcp-gsheets (opens in a new tab)
Data as of from the GitHub API and the official MCP registry; description from the project's repository. Report an error
- Needs API key
- Productivity
- MIT
- Active
Install MCP Gsheets
Generated from the server's MCP registry entry. Replace your-value with your own values.
Claude Desktop
{
"mcpServers": {
"mcp-gsheets": {
"command": "npx",
"args": [
"-y",
"mcp-gsheets"
],
"env": {
"GOOGLE_PROJECT_ID": "your-value",
"GOOGLE_APPLICATION_CREDENTIALS": "your-value",
"GOOGLE_SERVICE_ACCOUNT_KEY": "your-value",
"GOOGLE_PRIVATE_KEY": "your-value"
}
}
}
}Settings > Developer > Edit Config. macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\. Restart Claude Desktop afterwards.
Claude Code
claude mcp add --env GOOGLE_PROJECT_ID=your-value --env GOOGLE_APPLICATION_CREDENTIALS=your-value --env GOOGLE_SERVICE_ACCOUNT_KEY=your-value --env GOOGLE_PRIVATE_KEY=your-value --transport stdio mcp-gsheets -- npx -y mcp-gsheetsCursor
{
"mcpServers": {
"mcp-gsheets": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-gsheets"
],
"env": {
"GOOGLE_PROJECT_ID": "your-value",
"GOOGLE_APPLICATION_CREDENTIALS": "your-value",
"GOOGLE_SERVICE_ACCOUNT_KEY": "your-value",
"GOOGLE_PRIVATE_KEY": "your-value"
}
}
}
}Project file; use ~/.cursor/mcp.json to enable it in every project.
VS Code
{
"inputs": [
{
"type": "promptString",
"id": "google_application_credentials",
"description": "GOOGLE_APPLICATION_CREDENTIALS",
"password": true
},
{
"type": "promptString",
"id": "google_service_account_key",
"description": "GOOGLE_SERVICE_ACCOUNT_KEY",
"password": true
},
{
"type": "promptString",
"id": "google_private_key",
"description": "GOOGLE_PRIVATE_KEY",
"password": true
}
],
"servers": {
"mcp-gsheets": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-gsheets"
],
"env": {
"GOOGLE_PROJECT_ID": "your-value",
"GOOGLE_APPLICATION_CREDENTIALS": "${input:google_application_credentials}",
"GOOGLE_SERVICE_ACCOUNT_KEY": "${input:google_service_account_key}",
"GOOGLE_PRIVATE_KEY": "${input:google_private_key}"
}
}
}
}Config formats checked against the official docs on Oct 7, 2026: modelcontextprotocol.io (opens in a new tab), code.claude.com (opens in a new tab), cursor.com (opens in a new tab), code.visualstudio.com (opens in a new tab).
Environment variables
Variables the server reads at startup.
| Name | Required | Description |
|---|---|---|
GOOGLE_PROJECT_ID | Yes | Google Cloud project ID |
GOOGLE_APPLICATION_CREDENTIALSsecret | No | Path to service account key JSON file (auth method 1) |
GOOGLE_SERVICE_ACCOUNT_KEYsecret | No | Service account key as JSON string (auth method 2) |
GOOGLE_PRIVATE_KEYsecret | No | Service account private key in PEM format (auth method 3) |
GOOGLE_CLIENT_EMAIL | No | Service account email (auth method 3) |
Tools (40)
Parsed from the Tools section of the README; check the repository for the current list.
sheets_get_valuesRead cell values from a single range
sheets_batch_get_valuesRead cell values from multiple ranges in one request
sheets_get_metadataGet spreadsheet metadata: title, locale, sheets list with IDs, row/column counts
sheets_check_accessVerify that the service account can access a spreadsheet
sheets_update_valuesWrite values to a single range (overwrites existing content)
sheets_batch_update_valuesWrite values to multiple ranges in one request
sheets_append_valuesAppend rows after the last row of an existing table. Default insertDataOption is OVERWRITE — set INSERTROWS to push…
sheets_clear_valuesClear all values in a range (preserves formatting)
sheets_insert_rowsInsert blank or pre-filled rows at a specific position
sheets_delete_columnsDelete one or more columns using a full-column A1 range
sheets_delete_rowsDelete one or more rows using a full-row A1 range
sheets_insert_linkInsert a hyperlink formula into a cell
sheets_insert_dateInsert a date/datetime value formatted correctly into a cell
sheets_create_spreadsheetCreate a new Google Sheets file
sheets_insert_sheetAdd a new sheet tab to an existing spreadsheet
sheets_delete_sheetRemove a sheet tab by its numeric sheet ID
sheets_duplicate_sheetCopy a sheet within the same spreadsheet
sheets_copy_toCopy a sheet to a different spreadsheet
sheets_update_sheet_propertiesRename a sheet, change tab colour, toggle grid lines, etc.
sheets_batch_delete_sheetsDelete multiple sheet tabs in one request
sheets_format_cellsApply background colour, font style, alignment and number format to a range
sheets_batch_format_cellsApply different formats to multiple ranges in one request
sheets_update_bordersSet or remove borders on a range (style, width, colour per side)
sheets_merge_cellsMerge a range of cells
sheets_unmerge_cellsUnmerge previously merged cells in a range
sheets_add_conditional_formattingAdd a conditional formatting rule (gradient or boolean) to a range
sheets_add_tableCreate a native Google Sheets table with typed columns and optional dropdown values
sheets_update_tableUpdate an existing native Google Sheets table by table ID using an explicit field mask
sheets_delete_tableDelete a native Google Sheets table by table ID
sheets_get_tablesRead native tables for a spreadsheet or a specific sheet
sheets_create_chartCreate a bar, line, pie, column or other chart on a sheet
sheets_update_chartModify an existing chart's spec or position
sheets_delete_chartRemove a chart from a spreadsheet
sheets_get_merged_cellsReturn all merged cell ranges for a sheet, with A1 notation and raw GridRange coordinates
sheets_get_sheet_dimensionsReturn column widths, row heights, frozen column/row counts, and hidden flags for every column and row
sheets_get_sheet_formattingRead raw cell formatting (background colour, font, borders, alignment, number format) for a range without returning…
sheets_get_conditional_formattingRead all conditional formatting rules and banded (alternating-colour) ranges defined on a sheet
sheets_get_sheet_structureLightweight structural metadata only — no per-cell data. Returns dimensions, frozen rows/cols, tab colour, column…
sheets_get_formatting_compactRead cell formatting for a range and return it as compact A1Range→format pairs (run-length encoded).
sheets_get_full_sheet_snapshotMaster one-shot tool — returns all structural and formatting metadata (merges, dimensions, conditional formatting, and…
About MCP Gsheets
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.).
- automation
- google-sheets-api
- mcp
- nodejs
- typescript
Similar MCP servers
More productivity MCP servers
Caldav MCP
dominik1001/caldav-mcp
CalDAV calendar operations (list, create, update, delete events) as MCP tools.
Active · last commit Oct 23, 2026
ProductivityTypeScriptTendem MCP server
Toloka/tendem-mcp
Delegate tasks to vetted human experts - research, writing, analysis, and data work.
Maintained · last commit Aug 20, 2026
ProductivityPythonIntervals Icu MCP
hhopke/intervals-icu-mcp
Read/write Intervals.icu MCP server: activities, wellness, calendar, gear, and workouts.
Active · last commit Oct 25, 2026
ProductivityPythonGoogle Calendar
pulsemcp/mcp-servers
MCP server for Google Calendar integration with service account support and domain-wide delegation.
Maintained · last commit Aug 30, 2026
OfficialProductivityTypeScriptObsidian Hybrid Search
flowing-abyss/obsidian-hybrid-search
Search Obsidian vaults with hybrid full-text, fuzzy, semantic, and graph retrieval.
Active · last commit Oct 26, 2026
ProductivityTypeScriptUmbraco CMS MCP Dev
umbraco/Umbraco-CMS-MCP-Dev
A developer focused model context protocol (MCP) server for Umbraco CMS.
Active · last commit Oct 21, 2026
OfficialProductivityTypeScript
How do I install the MCP Gsheets MCP server?
Add the command npx -y mcp-gsheets to your MCP client: put it in claude_desktop_config.json for Claude Desktop, run claude mcp add for Claude Code, or add it to .cursor/mcp.json (Cursor) or .vscode/mcp.json (VS Code). The snippets on this page are ready to paste.
Is MCP Gsheets free?
The server is open source under the MIT license, so running it is free. It needs credentials (GOOGLE_APPLICATION_CREDENTIALS, GOOGLE_SERVICE_ACCOUNT_KEY and GOOGLE_PRIVATE_KEY) for the service it connects to, which may require a paid account.
Is MCP Gsheets actively maintained?
The most recent commit was on Oct 25, 2026. The latest release is v1.11.0, published Oct 25, 2026. appsgit only lists MCP servers with a commit in the last six months.