google-sheets-mcp

MCP.Pizza Chef: mkummer225

Fifteen actions cover everyday spreadsheet work: creating a new file or tab, reading a whole sheet, its headings, chosen rows or chosen columns, editing single cells or entire rows and columns, inserting rows and columns, and renaming things. You need the spreadsheet's ID from its web address first, because nothing here searches Drive by name. Setup is genuine work: your own Google Cloud project, the Sheets service switched on, and a downloaded sign-in file. The code has not changed since April 2025.

Unmaintained · no code changes since April 2025
Data
Spreadsheets

Use This MCP server To

Pull the whole contents of a sheet into the chat Update a single cell without opening the browser Add a new tab to an existing spreadsheet Read just the column headings to see what is tracked Insert a row of fresh figures at the top Rename a messy tab to something readable

README

Google Sheets MCP

A Model Context Protocol (MCP) connector for Google Sheets that allows AI agents to interact with spreadsheets directly.

Demo

Google_Sheets_MCP-demo.mp4

Setup

  1. Clone this repository:
git clone https://github.com/mkummer225/google-sheets-mcp
cd google-sheets-mcp
  1. Install dependencies: npm install

  2. Build: npm run build

  3. Create OAuth credentials in Google Cloud Platform:

  4. Start the MCP server (you'll automatically be prompted to authenticate/re-authenticate your Google account when necessary): npm run start

Usage

Sample config:

{
    "mcpServers": {
    "google-sheets-mcp": {
      "command": "node",
      "args": [
        "/{path_to_dir}/google-sheets-mcp/dist/index.js"
      ]
    }
  }
}

Then you should be able to simply specify your spreadsheetId or ask your agent to create a new one for you.

Available Actions

Action Description
refresh_auth Re-authenticate your Google Account when credentials expire
list_sheets List all sheets/tabs in a Google Spreadsheet
create_sheet Create a new sheet/tab in a Google Spreadsheet
create_spreadsheet Create a new Google Spreadsheet
read_all_from_sheet Read all data from a specified sheet
read_headings Read the column headings from a sheet
read_rows Read specific rows from a sheet
read_columns Read specific columns from a sheet
edit_cell Edit a single cell in a sheet
edit_row Edit an entire row in a sheet
edit_column Edit an entire column in a sheet
insert_row Insert a new row at specified position
insert_column Insert a new column at specified position
rename_sheet Rename a sheet/tab in a spreadsheet
rename_doc Rename a Google Spreadsheet

License

MIT

google-sheets-mcp FAQ

Does it need a paid key?
No key to buy, but you do have to create your own free Google Cloud project, switch on the Sheets service, and sign in with your Google account. That is the slow part.
Can it find my spreadsheet by name?
No. There is no search or list-my-files tool, and it never asks for permission to see Drive, so you have to paste the long ID out of the spreadsheet's web address every time.
Can I use this to keep a weekly tracking sheet up to date?
Yes. Reading the sheet, editing cells and appending rows are all covered, and all fifteen advertised actions are really wired up.
Can it delete my data?
There is no delete tool for sheets or files, but editing a row or column overwrites whatever was there, with no confirmation and no undo, so name the range carefully.
Where does my Google sign-in end up?
In an ordinary unencrypted file next to the program. Because the permission it asks for covers every spreadsheet on the account, anyone who copies that file gets read and write access to all of them.
Is it still being worked on?
The last code change was April 2025, so it has been quiet for well over a year. It still works, but do not expect fixes quickly.
How hard is setup?
This is the hardest tier. You download the code, install and build it, then click through Google Cloud to make a sign-in file before anything runs.