Google Sheets MCP

Google Sheets MCP is a free MCP server that gives your AI agent one tool for reading a spreadsheet and one admin tool for changing it. You can ask for the numbers in a range, add a row, or fix a cell without opening the sheet. It is its own VS Code extension, it runs on your machine, and it talks to your own Google account.

There is no server to host and no config file to edit. You install the extension, sign in to Google once, and the Sheets tools appear in every agent it finds: VS Code Copilot, Claude Code, Cursor, OpenAI Codex, Google Gemini, Windsurf, Continue.dev, and Cline.

What you can ask

  • “Show me the data in Sheet1, A1 to D10”
  • “Which tabs does the budget spreadsheet have?”
  • “Append a row to my tracking sheet with today’s date and the build number”
  • “Change B7 to 1,200”
  • “Add a tab called November”
  • “Create a new spreadsheet called Launch checklist”

The Google Sheets MCP read tool

Tool What it does What you can pass
sheets_read Read the cell values in a range, or describe the spreadsheet The spreadsheet ID and an optional range in A1 notation, such as Sheet1!A1:D10

It works in two modes. Give it a range and it returns the values in those cells. Leave the range out and it returns the spreadsheet’s title and every tab, each with its row and column count. Agents usually call it without a range first to learn the layout, then ask for the cells they need.

The Sheets admin tool

Anything that writes to a spreadsheet goes through one admin tool with named actions.

Action What it does
create Create a new spreadsheet with the title you give
append_rows Add rows after the last row of data in a range
update_cells Write values into a range, replacing what is there
add_sheet Add a new tab
delete_sheet Delete a tab (needs confirmation)
clear_range Empty a range of cells (needs confirmation)

Values are entered the way they would be if you typed them. A number becomes a number, a date becomes a date, and text that starts with an equals sign becomes a formula. So the agent can write =SUM(B2:B9) into a cell and Sheets calculates it.

Deleting a tab or clearing a range needs explicit confirmation

delete_sheet and clear_range only run with confirm: true. The agent is told this up front, so it has to ask you before it removes data. Reading, appending, and updating do not need it.

Three things people use it for

A log that fills itself in

Keep a sheet of deploys, test runs, or content you have published. At the end of a task, ask the agent to append a row with the date, what changed, and the result. append_rows puts it after the last row, so nothing is overwritten.

Reading reference data while you code

Price lists, redirect maps, and translation tables often live in a spreadsheet. The agent can read the range and use the values directly, for example to generate a config file or check that your code matches the sheet.

Turning results into a table someone else can open

After a query or an audit, ask the agent to create a spreadsheet and write the rows into it. You get a link you can share instead of a block of text in a chat.

Finding the spreadsheet ID

Every tool call needs the spreadsheet ID, which is the long string in the sheet’s address between /d/ and /edit. You can paste the full address and the agent will pick the ID out. To ask by name instead, install Google Drive MCP as well. It finds the file and hands its ID to the Sheets tools.

Set it up in five steps

A setup wizard opens the first time you launch the extension. Most people pick OAuth, which works with a personal Google account and with a Google Workspace account.

  1. Create a project in the Google Cloud Console, or pick one you already have.
  2. Enable the Google Sheets API under APIs and Services.
  3. Create an OAuth client ID of type Desktop app.
  4. Paste the client ID and secret into the wizard.
  5. Sign in to Google in the browser window that opens, and authorize.

If your consent screen is set to External, add yourself as a test user first. Developers who already use the gcloud CLI can pick Application Default Credentials instead, and Workspace admins can use a service account key.

Using Google Sheets MCP with Claude Code, Cursor and other agents

You do not add a server entry by hand. The extension writes the registration for each agent it finds: ~/.claude.json for Claude Code, ~/.cursor/mcp.json for Cursor, ~/.codex/config.toml for OpenAI Codex, ~/.gemini/settings.json for Gemini, and the matching files for Windsurf, Continue.dev, and Cline. VS Code Copilot picks it up through the VS Code API.

Open a new session in any of them and the Sheets tools are in the tool list. If you only want some agents to have them, switch the others off in VS Code settings under gsheetsMcp.agents. The command “Google Sheets MCP: Remove from All Agents” takes every registration back out.

How it compares with Google’s own Sheets MCP server

Google now offers a remote Google Sheets MCP server as part of its Workspace MCP servers. It is in Developer Preview, so you need to join the Google Workspace Developer Preview Program and set it up through a Google Cloud project and the gcloud CLI.

Google Sheets MCP (this extension) Google’s Sheets MCP server
Availability Released, installs from the extension stores Developer Preview
Where it runs On your machine Remote, hosted by Google
Read values and tab layout Yes Yes
Update values Yes Yes
Append rows Yes, append_rows Not listed as its own tool
Insert rows or columns No Yes, insert_dimension
Create a spreadsheet, add or delete tabs Yes, as named actions Not listed as separate tools
Agent setup Automatic for eight agents You configure each MCP client

Google’s list was read from its developer documentation on November 12, 2026, and a preview can change.

Limits

  • It reads and writes values. It does not change formatting, colours, charts, or column widths.
  • It does not insert a row in the middle of a sheet. It appends at the end or overwrites a range.
  • It works on Google Sheets files. An Excel file stored in Drive has to be converted to Sheets first.

Common questions

Is Google Sheets MCP free?

Yes. The extension is free and MIT licensed.

Does it work with Claude and Claude Code?

It registers with Claude Code automatically, along with Cursor, Copilot, and five other agents. It is a local server for coding agents, so it is not a connector for the Claude web app.

Can the agent write formulas?

Yes. A value that starts with an equals sign is stored as a formula.

Can it read a spreadsheet someone shared with me?

Yes. The tools can open any spreadsheet your signed-in Google account can open.

Where does my spreadsheet data go?

Nowhere except Google. The MCP server runs on your own machine and calls the Google API with your credentials. There is no telemetry, and the sign-in token is kept in VS Code’s encrypted secret storage.

Use it without VS Code

Google Sheets MCP is also on npm, for Claude Code, Cursor, or any other MCP client. It needs Node.js 22 or newer.

npx -y @renzo.johnson/google-sheets-mcp

In Claude Code, one command adds it:

claude mcp add google-sheets-mcp -- npx -y @renzo.johnson/google-sheets-mcp

Outside VS Code there is no setup wizard, so the server takes your Google sign-in from the environment. It uses the first one it finds: an OAuth client ID, secret, and refresh token in GOOGLE_OAUTH_CLIENT_ID, GOOGLE_OAUTH_CLIENT_SECRET, and GOOGLE_OAUTH_REFRESH_TOKEN; a key file named in GOOGLE_APPLICATION_CREDENTIALS; or the gcloud CLI’s Application Default Credentials. The npm package page has the config block for Claude Code and Cursor.

Install it

Google Sheets MCP is free and MIT licensed. It is its own extension, with only the Sheets tools. If you want Gmail, Calendar, Drive, Docs, and Sheets in one install, use Google Workspace MCP instead. Install one or the other, because both register the same Sheets tools.

Related