read_sheetLABSCO SUMMARY
A spreadsheet an assistant can append to, not only read.
The write side is why you would install it, because appending a row is the natural way for an agent to record what it did. clear_range is in the same set, so hand it a workbook rather than an account, and note that the OAuth client and the token are both yours and stay on your machine.
What it is
A Google Sheets server authenticated with your own OAuth credentials. Five tools cover reading a range, writing or updating one, appending rows, describing the workbook and clearing cells. Every tool accepts either a full Google Sheets URL or a bare spreadsheet ID.
What you get
- Data read from any range in a spreadsheet (read_sheet)
- Data written or updated in place (write_sheet)
- New rows appended to the end of a sheet (append_rows)
- Sheet names, row counts and column counts for a workbook (get_sheet_info)
- A range of cells cleared (clear_range)
- A full Sheets URL accepted anywhere an ID would be, so a link pasted into chat works as-is
Requirements
Node.js 18 or later, a Google account, and a free Google Cloud project with the Google Sheets API and Google Drive API enabled. Create Desktop app OAuth credentials, save them as credentials.json, and run node auth.js once to produce a local token.json; the server refreshes the access token itself after that.
Setup effort
Build from source — git clone https://github.com/generalist-club/google-sheets-mcp.git
USE CASES
Asking questions about data that lives in a sheet
Paste the spreadsheet link and name the range. The data comes back into the conversation, so the analysis happens where you are rather than in a pivot table.
Logging something an agent just did
Append a row with the date and the result. Appending rather than writing to a range means concurrent additions do not fight over cells.
Updating a tracker you keep in Sheets
Write into the specific range that needs changing, after reading it to confirm you are pointed at the right rows.
Finding your way around an unfamiliar workbook
Ask for the sheet names with their row and column counts first, which tells you what is in the file and how big each tab is before you read anything.
5 tools
Listed in project docs. Your client may show a different list.
write_sheetappend_rowsget_sheet_infoclear_rangeBEFORE YOU INSTALL
What to know first
Tools you get
5 tools named in the project's documentation.
Requires
Node.js 18+
Where it runs
Both documented clients run the server on your machine.
INSTALLATION
Connect your client
You clone this one yourself.
Server setup
git clone https://github.com/generalist-club/google-sheets-mcp.git
cd google-sheets-mcp
npm installIn Google Cloud Console (https://console.cloud.google.com/), create a project and enable the Google Sheets API and Google Drive API
Under APIs & Services → Credentials, create an OAuth client ID with application type Desktop app, and download the JSON file
Rename the downloaded file to credentials.json and place it in the project root
Run the auth script to generate your token:
node auth.jsOpen the URL it prints, authorize the app, then paste the code back into the terminal
MCP Clients
Claude Desktop, Any MCP client
{
"mcpServers": {
"google-sheets": {
"command": "node",
"args": [
"<YOUR_PATH_TO_GOOGLE_SHEETS_MCP>/index.js"
]
}
}
}