PlugWiki
mcp-google-sheets logo

Google Sheets MCP Server by xing5: Setup for Claude, Cursor and Other Apps

CommunityLocal
GetPyPImcp-google-sheetsxing5/mcp-google-sheets

Lets Claude, Cursor and other assistants read, write, chart and share your Google Sheets spreadsheets.

This community server (not made by Google) lets your assistant list and search your spreadsheets, read and change cells, add tabs, rows and charts, and share files with other people. It runs on your computer and talks to Google with a service account key or your own Google sign-in. Setting up the Google Cloud project and credentials is the longest step, so plan for it before you start. The server asks Google for full Drive and Sheets access, and it has no read-only switch, though you can turn on only the read tools.

Good for

  • Anyone who wants Claude to clean up, fill in or summarise spreadsheets
  • Teams that want an assistant limited to one shared Drive folder through a service account
  • Developers who already use Google Cloud and want local, scriptable control

Works in

12 should work

Tap an app to see how to set it up and any known problems.

Install mcp-google-sheets

Claude Desktop

  1. 1

    Have these values ready, then replace the placeholders in the snippet.

    SERVICE_ACCOUNT_PATHRequiredPath to a Google service account key file. Recommended. You can use OAuth, CREDENTIALS_CONFIG or Application Default Credentials instead.
    DRIVE_FOLDER_IDOptionalID of the Drive folder shared with the service account.
    ENABLED_TOOLSOptionalComma-separated tool names to turn on (default: all 20).
  2. 2

    Open this file. Create it if it does not exist.

  3. 3

    Add this entry. If the file already lists servers, add it next to them.

    json
    {
      "mcpServers": {
        "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"
          }
        }
      }
    }
  4. 4

    Quit and reopen Claude Desktop to load it.

Requires uv (Python), Google Cloud service account.

Read-only mode: Set ENABLED_TOOLS to the nine read tools only.

The README recommends the @latest suffix; without it uvx may reuse an older cached copy. On macOS, if you get spawn uvx ENOENT, use the full path to uvx (for example /Users/<you>/.local/bin/uvx).

From the project README. Source.

Tools

  • Lists the spreadsheets in your Drive folder

    Returns the id and title of each spreadsheet in the shared Drive folder, or in My Drive if you set no folder.

    Try: “List every spreadsheet in my AI Managed Sheets folder.”

    Network · list_spreadsheets

  • Finds spreadsheets by name or content

    Searches Google Drive for spreadsheets whose name or content matches your words, up to 100 results.

    Try: “Find my spreadsheets that mention "Q3 budget".”

    Network · search_spreadsheets

  • Lists Drive folders

    Shows the folders inside a parent folder, or in the root of My Drive, with their ids.

    Try: “Show the folders in my Drive root.”

    Network · list_folders

  • Lists the tabs in a spreadsheet

    Returns the names of all tabs in one spreadsheet so the assistant can pick the right one.

    Try: “What tabs does the Sales Report spreadsheet have?”

    Network · list_sheets

  • Reads cells from a tab

    Reads a range such as A1:C10, or a whole tab, as values. It can return full grid data with formatting, which is much larger.

    Try: “Read A1 to E10 from Sheet1 of Quarterly Sales Report.”

    Network · get_sheet_data

  • Reads formulas from a tab

    Returns the formulas in a range as a grid, not the calculated values.

    Try: “Show me the formulas in column D of the Budget tab.”

    Network · get_sheet_formulas

  • Reads several ranges in one call

    Takes a list of spreadsheet, tab and range triples and returns each result, with an error note for any that failed.

    Try: “Pull B2:B10 from Sales and C2:C10 from Inventory in one go.”

    Network · get_multiple_sheet_data

  • Previews several spreadsheets

    Returns the title, tab names, headers and the first few rows of each spreadsheet you list.

    Try: “Give me a quick summary of the Sales Data and Inventory Count spreadsheets.”

    Network · get_multiple_spreadsheet_summary

  • Finds cells that contain a word

    Searches one tab or every tab for cells containing your text and returns each match with its cell address and value.

    Try: “Find every cell containing "overdue" in the Invoices spreadsheet.”

    Network · find_in_spreadsheet

  • Makes a new spreadsheet

    Creates an empty spreadsheet with your title, in the folder you name or the configured default folder.

    Try: “Create a spreadsheet called Quarterly Sales Report Q3.”

    Write · create_spreadsheet

  • Adds a tab

    Adds a new tab with the name you give to an existing spreadsheet.

    Try: “Add a tab named Summary to the Project Tasks spreadsheet.”

    Write · create_sheet

  • Writes values into a range

    Writes a grid of values into a range. It overwrites whatever was in those cells.

    Try: “Set B2 on the Tasks tab to "In Progress".”

    Write · update_cells

Read from the source code

Permissions

high risk · 6 things to watch

High risk

The assistant can change and delete spreadsheet content, and share files with anyone by email, using credentials that cover Google Drive and Sheets. Give it a service account that can only reach one shared folder, and turn on only the read tools if you just need to look at data.

What it can do

Watch out for

  • It can delete rows and columns

    batch_update accepts any Sheets request, including deleting rows, columns and rules, and is flagged destructive. Use filtering to leave it out, and keep copies of important sheets. github.com

  • It asks Google for full Drive access

    The server requests the whole Drive and Sheets scopes. A service account only sees what you share with it, so share one folder, not your whole Drive. github.com

  • It can share files by email

    share_spreadsheet gives people reader, commenter or writer access and emails them by default. Leave it out of your enabled tools if you do not want the assistant sharing files. github.com

  • update_cells overwrites existing data

    Writes replace whatever is in the target cells with no undo from the server. Ask the assistant to confirm the range first. github.com

  • SSE mode listens on every network interface with no sign-in

    With --transport sse the server binds to 0.0.0.0 on port 8000 unless you set HOST or FASTMCP_HOST, and the README's Docker example sets HOST=0.0.0.0. Anyone on your network could then call the tools with your Google credentials. Keep the default stdio mode, or bind to 127.0.0.1. github.com

  • Reads cost context

    With all tools on, the README says they use about 13,000 tokens before you type anything. Filtering to the tools you need cuts that. github.com

Security advisories

No published security advisories as of Nov 1, 2026.

Technical details
Turning on read-onlyNo read-only flag. Set ENABLED_TOOLS or pass --include-tools with only list_spreadsheets, list_sheets, get_sheet_data, get_sheet_formulas, get_multiple_sheet_data, get_multiple_spreadsheet_summary, list_folders, search_spreadsheets and find_in_spreadsheet.
Talks toGoogle Sheets and Google Drive APIs
Sign-in and keysService account key file, OAuth client file or base64 credentials in environment variables. With OAuth, the sign-in token is saved to a file (token.json by default).
Scopes
  • https://www.googleapis.com/auth/spreadsheets

  • https://www.googleapis.com/auth/drive

Questions

Is the Google Sheets MCP server by xing5 official?

No. It is a community project by Xing Wu, not made or endorsed by Google.

Which AI apps work with it?

Any app that can start a local MCP server, such as Claude Desktop, Claude Code and Cursor. The README shows a Claude Desktop config. The install box has the command for each app.

Do I need a Google Cloud project?

Yes. You enable the Google Sheets API and Google Drive API, then create a service account key (recommended) or an OAuth client. Application Default Credentials from gcloud also work.

Can it only read my sheets?

Not by default. There is no read-only flag, but you can enable only the nine read tools with the ENABLED_TOOLS variable or the --include-tools option. Our advice: also share the folder with the service account as Viewer only.

Can it delete data?

Yes, through the batch update tool, which can delete rows, columns and formatting rules. update_cells also overwrites cells. Leave both out of the enabled tools if you want it to be safe.

Why does the README say 19 tools when this page lists 20?

The README is behind the code. The v0.6.3 source registers 20 tools; the README's "19" and "about 13K tokens" figures predate one of them. This page counts from the source.

Does it run on my computer or in the cloud?

On your computer. It starts as a local process that calls the Google APIs. A Docker mode over SSE is also documented.

How do I always get the newest version?

Add @latest after the package name in the uvx command. The README says without it uvx may reuse an older cached copy.

Is it free?

Yes. The server is MIT licensed and has no fee. You need a Google account and a Google Cloud project for the credentials.

Information

updated Nov 2, 2026

Publisher
Community
Package
mcp-google-sheets
Registry
PyPI
Transport
stdio, SSE
Auth
token in env
Version
0.6.3
License
MIT
Last commit
May 14, 2026
Open issues
21

GitHubPyPIChangelogIssues

Other Google Sheets MCP servers

Sources

Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.

Show all 3
  1. github.com · github.com
  2. github.com · github.com
  3. github.com · github.com

Facts from the official MCP registry, GitHub, npm, PyPI and the Docker catalog. Updated Nov 2, 2026.