refresh_authLABSCO SUMMARY
It reaches the sheets your own Google account can already open.
Authorization is a one-time desktop OAuth flow that re-prompts when it lapses, so the agent inherits exactly your access and nothing wider. Edits land at the granularity of a cell, a row or a column rather than an arbitrary range, which suits maintaining a sheet more than loading one in bulk.
What it is
A connector to the Google Sheets API that acts as your own Google account, authorized once through an OAuth desktop flow. It reads a sheet whole or by headings, rows and columns, edits at cell, row or column level, and creates, renames and lists the tabs in a spreadsheet.
What you get
- A whole sheet read at once, or narrowed to its column headings, named rows, or named columns
- A single cell, a whole row or a whole column edited in place
- A row or a column inserted at a position you choose
- Tabs listed, created and renamed; spreadsheets created and renamed
- refresh_auth to re-authorize the Google account once its credentials expire
Requirements
A Google Cloud project with the Google Sheets API turned on, and an OAuth client ID of the desktop-application type whose downloaded credentials sit in the dist directory as gcp-oauth.keys.json. Clone and build the repository first. Starting the server prompts you to authorize your Google account, and prompts again when that lapses.
Setup effort
Build from source — git clone https://github.com/mkummer225/google-sheets-mcp
USE CASES
Asking a question of a spreadsheet you did not build
List the tabs, read the column headings, then pull only the rows or columns that answer it.
Filling in a tracker
Edit a single cell, a whole row or a whole column.
Adding this week's entries in the right place
Insert a row or a column at the position you name, instead of appending and sorting afterwards.
Starting a sheet from a conversation
Create the spreadsheet, or a new tab inside one that exists, and rename either once it has a purpose.
Getting back in when the login expires
Re-authenticate the Google account without editing the credentials file again.
15 tools
Listed in project docs. Your client may show a different list.
list_sheetscreate_sheetcreate_spreadsheetread_all_from_sheetread_headingsread_rowsread_columnsedit_celledit_rowedit_columninsert_rowinsert_columnrename_sheetrename_docBEFORE YOU INSTALL
What to know first
Tools you get
15 tools named in the project's documentation.
Requires
Node.js with npm; A Google Cloud project with the Google Sheets API enabled and an OAuth client ID of the Desktop application type, its credentials saved as gcp-oauth.keys.json in the dist folder
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
git clone https://github.com/mkummer225/google-sheets-mcp
cd google-sheets-mcp
npm install
npm run buildCreate OAuth credentials in Google Cloud Platform: Create OAuth client ID credentials (Desktop application) with an appropriate redirect URI (ex: http://localhost:3000/oauth2callback)
Download the credentials and save as gcp-oauth.keys.json in the dist subdirectory
npm run startMCP Clients
Any MCP client
{
"mcpServers": {
"google-sheets-mcp": {
"command": "node",
"args": [
"/{path_to_dir}/google-sheets-mcp/dist/index.js"
]
}
}
}Replace /{path_to_dir} with the folder you cloned into, so the path ends in google-sheets-mcp/dist/index.js — the file npm run build creates. The first start asks you to sign in to your Google account.