Skip to main content
Glama
node2flow-th

@node2flow/google-sheets-mcp

by node2flow-th

@node2flow/google-sheets-mcp

npm version License: MIT

MCP server for Google Sheets — read, write, format, and manage spreadsheets through 23 tools via the Model Context Protocol.

Quick Start

Claude Desktop / Cursor

Add to your MCP config:

{
  "mcpServers": {
    "google-sheets": {
      "command": "npx",
      "args": ["-y", "@node2flow/google-sheets-mcp"],
      "env": {
        "GOOGLE_CLIENT_ID": "your-client-id",
        "GOOGLE_CLIENT_SECRET": "your-client-secret",
        "GOOGLE_REFRESH_TOKEN": "your-refresh-token"
      }
    }
  }
}

HTTP Mode

GOOGLE_CLIENT_ID=xxx GOOGLE_CLIENT_SECRET=xxx GOOGLE_REFRESH_TOKEN=xxx npx @node2flow/google-sheets-mcp --http

MCP endpoint: http://localhost:3000/mcp

Cloudflare Worker

Available at: https://google-sheets-mcp-community.node2flow.net/mcp

POST https://google-sheets-mcp-community.node2flow.net/mcp?GOOGLE_CLIENT_ID=xxx&GOOGLE_CLIENT_SECRET=xxx&GOOGLE_REFRESH_TOKEN=xxx

Tools (23)

Spreadsheet (2)

Tool

Description

gs_create_spreadsheet

Create a new spreadsheet with title and optional sheets

gs_get_spreadsheet

Get metadata — sheet names, IDs, properties

Values (6)

Tool

Description

gs_read_values

Read cell values from an A1 range

gs_batch_read

Read multiple ranges at once

gs_write_values

Write values to a range (2D array)

gs_append_values

Append rows after existing data

gs_clear_values

Clear values in a range (keeps formatting)

gs_batch_write

Write to multiple ranges at once

Sheet Management (5)

Tool

Description

gs_add_sheet

Add a new sheet/tab

gs_delete_sheet

Delete a sheet/tab (irreversible)

gs_rename_sheet

Rename a sheet/tab

gs_copy_sheet

Copy sheet to another spreadsheet

gs_duplicate_sheet

Duplicate sheet within same spreadsheet

Formatting (4)

Tool

Description

gs_format_cells

Bold, italic, colors, font, alignment, number format

gs_merge_cells

Merge cells in a range

gs_unmerge_cells

Unmerge cells

gs_auto_resize

Auto-fit column widths or row heights

Data Operations (4)

Tool

Description

gs_sort_range

Sort range by column

gs_find_replace

Find and replace text (supports regex)

gs_set_basic_filter

Set or clear auto-filter on a sheet

gs_add_protected_range

Protect a range from editing

Advanced (2)

Tool

Description

gs_add_chart

Add a chart (bar, line, column, scatter, etc.)

gs_batch_update

Raw batchUpdate for any operation


A1 Notation

Ranges use A1 notation for the Values tools:

Sheet1!A1:C10    — specific range in Sheet1
Sheet1           — entire sheet
A:C              — columns A through C (first sheet)
Sheet1!A1:A      — column A, all rows
Sheet1!1:5       — rows 1 through 5

Index Notation

Formatting and batchUpdate tools use 0-based indices:

Row 1    → index 0      Column A → index 0
Row 2    → index 1      Column B → index 1
Row 10   → index 9      Column Z → index 25

Ranges are inclusive start, exclusive end:

  • startRowIndex: 0, endRowIndex: 5 = rows 1-5

  • startColumnIndex: 0, endColumnIndex: 3 = columns A-C


Configuration

Parameter

Required

Description

GOOGLE_CLIENT_ID

Yes

OAuth 2.0 Client ID from Google Cloud Console

GOOGLE_CLIENT_SECRET

Yes

OAuth 2.0 Client Secret

GOOGLE_REFRESH_TOKEN

Yes

Refresh token (obtained via OAuth consent flow)

Getting Your Credentials

  1. Go to Google Cloud Console

  2. Create a project → Enable Google Sheets API

  3. Create OAuth 2.0 Client ID (Desktop app type)

  4. Use the OAuth Playground or your app to get a refresh token with scope https://www.googleapis.com/auth/spreadsheets

OAuth Scopes

Scope

Access

spreadsheets

Full read/write access

spreadsheets.readonly

Read-only access


License

MIT License - see LICENSE

Copyright (c) 2026 Node2Flow

A
license - permissive license
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/node2flow-th/google-sheets-mcp-community'

If you have feedback or need assistance with the MCP directory API, please join our Discord server