Prototype · This site is a prototype showing 100 real servers from the official registry, not all of them yet.
PopNx MCPMCP servers for people who use AI · explained in plain words

MCP GSheets

by freemaversion 1.11.0i★ 104iRuns on your computer
Registry nameio.github.freema/mcp-gsheets

Overview

Description from the maker (original English)

MCP server for Google Sheets API — read, write, format, batch operations.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Docs, sheets & office work
  • You need to fill in: GOOGLE_PROJECT_ID, GOOGLE_SERVICE_ACCOUNT_KEY, GOOGLE_PRIVATE_KEY

Install

Pick the AI app you use, then copy the settings.

You need

  • npmNode.js installed (for the npx command)

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "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",
        "GOOGLE_CLIENT_EMAIL": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add gsheets --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 --env GOOGLE_CLIENT_EMAIL=your-value -- npx -y mcp-gsheets

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "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",
        "GOOGLE_CLIENT_EMAIL": "your-value"
      }
    }
  }
}

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "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",
        "GOOGLE_CLIENT_EMAIL": "your-value"
      }
    }
  }
}

Values you fill in

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

Values marked secret are keys to your account. Never share them or paste them into a chat.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 5, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account freema, which owns the repo

  • ✓ Pass

    Still maintained

    Code last changed 4 days ago

  • ✓ Pass

    Has a licence

    Uses MIT

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Needs the server’s tool list first; this check starts in the next step

Compared with others in Docs, sheets & office worki

  • More stars than 15% of the other 13 servers in this category
  • Published to the registry more recently than 62% of the other 13 servers in this category
  • Basic checks equal to or better than 100% of the other 13 servers in this category

Compared only with servers in this prototype, not the whole registry.

Common questions

Is MCP GSheets safe?

It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: GOOGLE_PROJECT_ID, GOOGLE_SERVICE_ACCOUNT_KEY, GOOGLE_PRIVATE_KEY

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed 4 days ago, and the latest version (1.11.0) reached the registry 11 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Agent-Native Google Calendar - manage events, sync, and public booking

Runs in the cloud★ 7,620MITUpdated 2 months ago

Excel MCP Server

by haris-musa

Lets AI create and edit Excel files itself, including formulas, charts and PivotTables, without Excel installed.

Runs on your computer★ 4,276MITUpdated 5 days ago

Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.

Runs on your computer★ 847MITUpdated 2 days ago

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

MCP Google Sheets Server

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 Features

  • Complete Google Sheets Integration: Read, write, and manage spreadsheets
  • Advanced Operations: Batch operations, formatting, charts, and conditional formatting
  • Flexible Authentication: Support for both file-based and JSON string credentials
  • Production Ready: Built with TypeScript, comprehensive error handling, and full test coverage

Requirements

Getting Started

Quick Install (Recommended)

Add the following config to your MCP client:

{

"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" } } } }

[!NOTE]

Using mcp-gsheets@latest ensures that your MCP client will always use the latest version of the MCP Google Sheets server.

MCP Client Configuration

Claude Code Use the Claude Code CLI to add the MCP Google Sheets server ( guide ):

claude mcp add mcp-gsheets npx mcp-gsheets@latest

After adding, edit your Claude Code config to add the required environment variables:

{

"mcpServers": { "mcp-gsheets": { "command": "npx", "args": ["mcp-gsheets@latest"], "env": { "GOOGLE_PROJECT_ID": "your-project-id", "GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/service-account-key.json" } } } }

Claude Desktop

Add to your Claude Desktop config:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/claude/claude_desktop_config.json
{

"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" } } } }

Cursor

Go to Cursor Settings → MCP → New MCP Server. Use the config provided above.

Cline

Follow https://docs.cline.bot/mcp/configuring-mcp-servers and use the config provided above.

Other MCP Clients

For other MCP clients, use the standard configuration format shown above. Ensure the command is set to npx and include the environment variables for Google Cloud authentication.

Google Cloud Setup
  1. Go to Google Cloud Console
  2. Create a new project or select existing
  3. Enable Google Sheets API:
  • Navigate to "APIs & Services" → "Library"
  • Search for "Google Sheets API" and click "Enable"
  1. Create Service Account:
  • Go to "APIs & Services" → "Credentials"
  • Click "Create Credentials" → "Service Account"
  • In the service accounts list, click the three dots in the Actions column → Manage keys → Add key → Create new key → select JSON format
  • Download the JSON key file
  1. Share your spreadsheets:
  • Open your Google Sheet
  • Click Share and add the service account email (from JSON file)
  • Grant "Editor" permissions
Alternative Authentication Methods
Option 1: JSON String Authentication

Instead of using a file path for credentials, you can provide the service account credentials directly as a JSON string. This is useful for containerized environments, CI/CD pipelines, or when you want to avoid managing credential files.

{

"mcpServers": { "mcp-gsheets": { "command": "npx", "args": ["-y", "mcp-gsheets@latest"], "env": { "GOOGLE_PROJECT_ID": "your-project-id", "GOOGLE_SERVICE_ACCOUNT_KEY": "{\"type\":\"service_account\",\"project_id\":\"your-project\",\"private_key_id\":\"...\",\"private_key\":\"[PopNx MCP ตัดค่าที่หน้าตาเหมือนกุญแจออก]\\n\",\"client_email\":\"...@....iam.gserviceaccount.com\",\"client_id\":\"...\",\"auth_uri\":\"https://accounts.google.com/o/oauth2/auth\",\"token_uri\":\"https://oauth2.googleapis.com/token\",\"auth_provider_x509_cert_url\":\"https://www.googleapis.com/oauth2/v1/certs\",\"client_x509_cert_url\":\"...\"}" } } } }

Note: When using GOOGLE_SERVICE_ACCOUNT_KEY:

  • The entire JSON must be on a single line
  • All quotes must be escaped with backslashes
  • Newlines in the private key must be represented as \\n
  • If the JSON includes a project_id, you can omit GOOGLE_PROJECT_ID
Option 2: Private Key Authentication (Simplified)

For the most user-friendly approach, you can provide just the private key and email directly. This is the simplest method and requires only two fields from your service account JSON:

{

"mcpServers": { "mcp-gsheets": { "command": "npx", "args": ["-y", "mcp-gsheets@latest"], "env": { "GOOGLE_PRIVATE_KEY": "[PopNx MCP ตัดค่าที่หน้าตาเหมือนกุญแจออก]\\n", "GOOGLE_CLIENT_EMAIL": "spreadsheet@your-project.iam.gserviceaccount.com" } } } }

Note: When using GOOGLE_PRIVATE_KEY:

  • Newlines in the private key should be represented as \\n
  • The private key must include the [PopNx MCP ตัดค่าที่หน้าตาเหมือนกุญแจออก] markers
  • The client email should be the service account email from your JSON file
  • GOOGLE_PROJECT_ID is optional when using this method

Local Development Setup

If you want to develop or contribute to this project, you can clone and build it locally:

# Clone the repository

git clone https://github.com/freema/mcp-gsheets.git cd mcp-gsheets

Install dependencies

npm install

Build the project

npm run build

Interactive Setup Script

Run the interactive setup script to configure your local MCP client:

npm run setup

This will:

  • Guide you through the configuration
  • Automatically detect your Node.js installation (including nvm)
  • Find your Claude Desktop config
  • Create the proper JSON configuration
  • Optionally create a .env file for development
Manual Local Configuration

If you prefer manual configuration with a local build, add to your MCP client config:

{

"mcpServers": { "mcp-gsheets": { "command": "node", "args": ["/absolute/path/to/mcp-gsheets/dist/index.js"], "env": { "GOOGLE_PROJECT_ID": "your-project-id", "GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/service-account-key.json" } } } }

📦 Build & Development

Development Commands
# Development mode with hot reload

npm run dev

Build for production

npm run build

Type checking

npm run typecheck

Clean build artifacts

npm run clean

Run MCP inspector for debugging

npm run inspector

Run MCP inspector in development mode

npm run inspector:dev

Task Runner (Alternative)

If you have Task installed:

# Install dependencies

task install

Build the project

task build

Run in development mode

task dev

Run linter

task lint

Format code

task fmt

Run all checks

task check

Development Setup
  1. Create .env file for testing:
cp .env.example .env

Edit .env with your credentials:

GOOGLE_PROJECT_ID=your-project-id

GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json

TEST_SPREADSHEET_ID=your-test-spreadsheet-id

  1. Run in development mode:
npm run dev  # Watch mode with auto-reload

🎚️ Reducing context cost with toolsets

All 44 tools together cost about 9,900 tokens of context in every session, before the model does anything. Most workflows need a fraction of that. GSHEETS_TOOLSETS limits which tools the server exposes:

{

"mcpServers": { "gsheets": { "command": "npx", "args": ["mcp-gsheets"], "env": { "GOOGLE_PROJECT_ID": "your-project-id", "GOOGLE_APPLICATION_CREDENTIALS": "/path/to/key.json", "GSHEETS_TOOLSETS": "core,charts" } } } }

ToolsetToolsWhat it covers
core11Read/write values, metadata, sheet structure, create spreadsheet
sheets9Sheet lifecycle, rows and columns
formatting15Colours, borders, merges, conditional rules, links, dates
charts3Create, update, delete charts
tables4Native tables
analysis2Full-sheet snapshot, range comparison

Measured tools/list cost:

ConfigurationTools≈ Tokens
_unset_ (default, all toolsets)449,875
GSHEETS_TOOLSETS=core111,986
GSHEETS_TOOLSETS=core,sheets203,548
GSHEETS_READ_ONLY=true163,599
GSHEETS_TOOLSETS=core + read-only6912

Notes:

  • The default is unchanged — leave GSHEETS_TOOLSETS unset and you get every tool, exactly as before.
  • `core` is always included. GSHEETS_TOOLSETS=charts means "charts as well as core", not "charts only" — without core the server cannot read a cell.
  • A typo is a startup error, not a silently smaller tool list.
  • GSHEETS_READ_ONLY=true drops every writing tool and can be combined with GSHEETS_TOOLSETS. It is enforced when a tool is called, not just when the list is built, so a client cannot write by naming a hidden tool.

All tools also carry MCP annotations (readOnlyHint, destructiveHint, idempotentHint), so clients can skip confirmation prompts on reads and warn before destructive operations.

📋 Available Tools

Reading Data
ToolDescriptionKey Parameters
sheets_get_valuesRead cell values from a single rangespreadsheetId, range (A1 notation), valueRenderOption
sheets_batch_get_valuesRead cell values from multiple ranges in one requestspreadsheetId, ranges (array of A1 ranges)
sheets_get_metadataGet spreadsheet metadata: title, locale, sheets list with IDs, row/column countsspreadsheetId
sheets_check_accessVerify that the service account can access a spreadsheetspreadsheetId
Writing Data
ToolDescriptionKey Parameters
sheets_update_valuesWrite values to a single range (overwrites existing content)spreadsheetId, range, values (2D array), valueInputOption

|

Only the beginning is shown; read the rest in the repo

Ask PopNx