# MCP Gsheets (MCP server)

> 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 100 GitHub stars, is released under the MIT license and runs locally with npx -y 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.).

## Key facts

| Fact | Value |
|---|---|
| Repository | https://github.com/freema/mcp-gsheets |
| GitHub stars | 100 |
| License | MIT |
| Language | TypeScript |
| Transport | stdio |
| Packages | npm: mcp-gsheets |
| Remote URL | none |
| Needs API key | yes |
| Official | no |
| Works with | Claude Desktop, Claude Code, Cursor, VS Code |
| Category | Productivity |
| Latest release | v1.10.3 (Sep 19, 2026) |
| Last commit | Oct 2, 2026 |
| MCP registry name | io.github.freema/mcp-gsheets |

## Install

### Claude Desktop (claude_desktop_config.json)

```json
{
  "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

```sh
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-gsheets
```

### Cursor (.cursor/mcp.json)

```json
{
  "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 (.vscode/mcp.json)

```json
{
  "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 2026-10-07.

## Environment variables

- `GOOGLE_PROJECT_ID` (required): Google Cloud project ID
- `GOOGLE_APPLICATION_CREDENTIALS` (secret): Path to service account key JSON file (auth method 1)
- `GOOGLE_SERVICE_ACCOUNT_KEY` (secret): Service account key as JSON string (auth method 2)
- `GOOGLE_PRIVATE_KEY` (secret): Service account private key in PEM format (auth method 3)
- `GOOGLE_CLIENT_EMAIL`: Service account email (auth method 3)

## Tools

- `sheets_get_values`: Read cell values from a single range
- `sheets_batch_get_values`: Read cell values from multiple ranges in one request
- `sheets_get_metadata`: Get spreadsheet metadata: title, locale, sheets list with IDs, row/column counts
- `sheets_check_access`: Verify that the service account can access a spreadsheet
- `sheets_update_values`: Write values to a single range (overwrites existing content)
- `sheets_batch_update_values`: Write values to multiple ranges in one request
- `sheets_append_values`: Append rows after the last row of an existing table. Default insertDataOption is OVERWRITE — set INSERTROWS to push…
- `sheets_clear_values`: Clear all values in a range (preserves formatting)
- `sheets_insert_rows`: Insert blank or pre-filled rows at a specific position
- `sheets_delete_columns`: Delete one or more columns using a full-column A1 range
- `sheets_delete_rows`: Delete one or more rows using a full-row A1 range
- `sheets_insert_link`: Insert a hyperlink formula into a cell
- `sheets_insert_date`: Insert a date/datetime value formatted correctly into a cell
- `sheets_create_spreadsheet`: Create a new Google Sheets file
- `sheets_insert_sheet`: Add a new sheet tab to an existing spreadsheet
- `sheets_delete_sheet`: Remove a sheet tab by its numeric sheet ID
- `sheets_duplicate_sheet`: Copy a sheet within the same spreadsheet
- `sheets_copy_to`: Copy a sheet to a different spreadsheet
- `sheets_update_sheet_properties`: Rename a sheet, change tab colour, toggle grid lines, etc.
- `sheets_batch_delete_sheets`: Delete multiple sheet tabs in one request
- `sheets_format_cells`: Apply background colour, font style, alignment and number format to a range
- `sheets_batch_format_cells`: Apply different formats to multiple ranges in one request
- `sheets_update_borders`: Set or remove borders on a range (style, width, colour per side)
- `sheets_merge_cells`: Merge a range of cells
- `sheets_unmerge_cells`: Unmerge previously merged cells in a range
- `sheets_add_conditional_formatting`: Add a conditional formatting rule (gradient or boolean) to a range
- `sheets_add_table`: Create a native Google Sheets table with typed columns and optional dropdown values
- `sheets_update_table`: Update an existing native Google Sheets table by table ID using an explicit field mask
- `sheets_delete_table`: Delete a native Google Sheets table by table ID
- `sheets_get_tables`: Read native tables for a spreadsheet or a specific sheet
- `sheets_create_chart`: Create a bar, line, pie, column or other chart on a sheet
- `sheets_update_chart`: Modify an existing chart's spec or position
- `sheets_delete_chart`: Remove a chart from a spreadsheet
- `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…
- `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…
- `sheets_get_formatting_compact`: Read cell formatting for a range and return it as compact A1Range→format pairs (run-length encoded).
- `sheets_get_full_sheet_snapshot`: Master one-shot tool — returns all structural and formatting metadata (merges, dimensions, conditional formatting, and…

## Similar MCP servers

- [Kaneo](https://appsgit.com/mcp-servers/kaneo): Official MCP server for Kaneo: manage tasks, projects, and labels from Claude and other MCP clients. (9,368 stars, MIT, official, needs API key)
- [PraisonAI](https://appsgit.com/mcp-servers/praisonai): AI Agents Framework with Self Reflection and MCP support. (9,192 stars, MIT)
- [Windows MCP](https://appsgit.com/mcp-servers/windows-mcp): An MCP Server for computer-use in Windows OS. (7,725 stars, MIT)
- [Excel MCP Server](https://appsgit.com/mcp-servers/excel-mcp-server): Create, read and edit Excel workbooks without Microsoft Excel. (4,212 stars, MIT)
- [Basic Memory](https://appsgit.com/mcp-servers/basic-memory): Local-first knowledge management with bi-directional LLM sync via Markdown files. (4,108 stars, AGPL-3.0)
- [RevoGrid DataGrid MCP](https://appsgit.com/mcp-servers/revogrid-datagrid-mcp): Token-free MCP server for structured RevoGrid Core, Pro, and Enterprise knowledge retrieval. (3,448 stars, MIT)

---

Canonical page: https://appsgit.com/mcp-servers/mcp-gsheets
Source: appsgit (https://appsgit.com), the app store for github. Data from the GitHub API, refreshed nightly.
Machine access: JSON API https://appsgit.com/api/v1/apps (OpenAPI: https://appsgit.com/openapi.json), MCP server https://mcp.appsgit.com/mcp, full index https://appsgit.com/llms-full.txt.
