MCP Directory

mcp-google-sheets

Your AI assistant's gateway to Google Sheets — read, write, format, and chart spreadsheets via MCP.

Unverified
stdio (local)
OAuth
Python

Add to your client

Copy the config for your MCP client and paste it into its config file.

Install / run
uvx mcp-google-sheets@latest

Paste into ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "mcp-google-sheets": {
      "command": "uvx",
      "args": [
        "mcp-google-sheets@latest"
      ],
      "env": {
        "SERVICE_ACCOUNT_PATH": "/full/path/to/your/service-account-key.json",
        "DRIVE_FOLDER_ID": "your_shared_folder_id_here"
      }
    }
  }
}

Requires `uv` (the Python package runner). Install it from https://docs.astral.sh/uv/ if `uvx` is not found.

Step-by-step guides: Add to Claude Desktop · Add to Cursor · Add to Windsurf

Before you start

  • A Google Cloud Platform project with the Google Sheets API and Google Drive API enabled
  • Google credentials: a Service Account JSON key (recommended), OAuth 2.0 client credentials, or Application Default Credentials
  • uv / uvx installed (fast Python package installer), or Python with the package installed
  • For Service Account use: a Google Drive folder shared with the service account email (DRIVE_FOLDER_ID)

About mcp-google-sheets

An MCP server that connects MCP-compatible clients to the Google Sheets and Google Drive APIs, exposing 19 tools for reading, writing, formatting, charting, and managing spreadsheets through natural language. Runs via uvx with no install step, supports Service Account / OAuth 2.0 / Base64 credential injection / ADC authentication, and can optionally run as a Docker container over SSE.

Tools & capabilities (20)

list_spreadsheets

Lists spreadsheets in the configured Drive folder (Service Account) or accessible by the user (OAuth); optional folder_id.

create_spreadsheet

Creates a new spreadsheet with a given title and optional target Drive folder; returns spreadsheetId, title, and folder.

get_sheet_data

Reads data from a range in a sheet/tab (A1 notation); can return values only or full grid data with formatting/metadata.

get_sheet_formulas

Reads cell formulas from a range in a sheet/tab as a 2D array.

update_cells

Writes a 2D array of values to a specific A1-notation range, overwriting existing data.

batch_update_cells

Updates multiple ranges in a single API call via a map of range strings to 2D value arrays.

add_rows

Inserts empty rows into a sheet/tab at a specified 0-based start index.

add_columns

Inserts empty columns into a sheet/tab at a specified 0-based start index.

list_sheets

Lists all sheet/tab names within a spreadsheet.

create_sheet

Adds a new sheet/tab to a spreadsheet and returns its properties.

get_multiple_sheet_data

Fetches data from multiple ranges across potentially different spreadsheets in one call.

get_multiple_spreadsheet_summary

Gets titles, sheet/tab names, headers, and the first few rows for multiple spreadsheets.

share_spreadsheet

Shares a spreadsheet with specified users/emails and roles (reader, commenter, writer), with optional notifications.

copy_sheet

Duplicates a sheet/tab from one spreadsheet to another, optionally renaming it.

rename_sheet

Renames an existing sheet/tab within a spreadsheet.

add_chart

Creates a chart (COLUMN, BAR, LINE, AREA, PIE, SCATTER, COMBO, HISTOGRAM) from a data range, with title, axis labels, position, and size options.

batch_update

Applies multiple low-level spreadsheet update operations in one batchUpdate request.

find_in_spreadsheet

Finds matching content within a spreadsheet.

search_spreadsheets

Searches for spreadsheets accessible to the configured account.

list_folders

Lists Google Drive folders.

What this server can do

mcp-google-sheets provides tools for these capabilities — tap one to see every MCP server that does the same:

When to use it

  • Listing and creating Google Spreadsheets from natural-language requests
  • Reading and writing cell ranges, including batch updates across multiple ranges
  • Summarizing or previewing data across several spreadsheets at once
  • Managing sheet/tab structure: adding, renaming, copying sheets and inserting rows/columns
  • Sharing spreadsheets with collaborators at specific access levels
  • Generating charts (column, bar, line, pie, etc.) directly from spreadsheet data

Security notes

Requires Google Cloud credentials with access to the Google Sheets and Google Drive APIs. A Service Account is recommended; store its JSON key file securely and share only the intended Drive folder with the service account's email. For container/CI environments, prefer injecting Base64-encoded credentials via the CREDENTIALS_CONFIG env var rather than mounting key files. OAuth tokens are written to TOKEN_PATH, which must be writable. Granting the service account broad roles (e.g. Editor) gives the server wide access to your spreadsheets, so scope permissions appropriately.

mcp-google-sheets FAQ

How do I run the server?

Install uv, set your Google credential environment variables, then run `uvx mcp-google-sheets@latest`. Most MCP clients (e.g. Claude Desktop) can launch the server for you via the config block.

Which authentication methods are supported?

Four: Service Account (recommended, via SERVICE_ACCOUNT_PATH), OAuth 2.0 (interactive, via CREDENTIALS_PATH/TOKEN_PATH), direct Base64 credential injection (CREDENTIALS_CONFIG, ideal for Docker/CI), and Application Default Credentials (ADC). The server checks them in priority order.

Can I reduce the context tokens it consumes?

Yes. By default all 19 tools are enabled (~13K tokens). Use the `--include-tools` command-line flag or the `ENABLED_TOOLS` environment variable with a comma-separated list to expose only the tools you need.

Does it support HTTP/SSE transport?

Yes. The included Dockerfile starts the server with `--transport sse` on HOST/PORT (default port 8000); point your MCP client at http://localhost:8000 using SSE. The default uvx/Claude Desktop usage is over stdio.

Is this an official Google project?

No. It is a community open-source project (MIT licensed) by xing5, built with FastMCP and the Google API Python Client libraries.

Alternatives to mcp-google-sheets

Compare all alternatives →

Self-hosted MCP server for Jira and Confluence Cloud and Server/Data Center.

Verified
stdio (local)
API key
Python
11 tools
Updated 2 months agoRepo

Create, read, and modify Excel workbooks with your AI agent — no Microsoft Excel required.

Unverified
stdio (local)
No auth
Python
25 tools
Updated 2 months agoRepo

Official Notion server to read, search, create, and update pages and databases in your workspace.

Verified
stdio (local)
API key
TypeScript
9 tools
Updated 4 months agoRepo