create-spreadsheetLABSCO SUMMARY
Read, write, append and clear — plus a batch call so you do not pay per range.
Those four operations cover almost everything a spreadsheet task needs, and batching keeps a multi-range change from becoming several round trips. The Google Cloud OAuth setup is the only real work: a project, a consent screen and a desktop client ID before the first call.
What it is
A server over the Google Sheets API covering the operations a spreadsheet task actually needs: create a spreadsheet, read a range, write a range, append rows, clear, read metadata, and batch several updates into one request.
What you get
- A new spreadsheet created with custom sheet names, returning its ID and URL
- Any range read back as a 2D array of cell values
- A range written, overwriting what was there, with update statistics returned
- Rows appended to the end of an existing range
- A range cleared
- Spreadsheet metadata: title, URL, sheet information and dimensions
- Several range updates sent as one request
Requirements
A Google Cloud project with the Google Sheets API enabled, an OAuth consent screen, and Desktop Application OAuth client credentials downloaded as JSON. The scope is https://www.googleapis.com/auth/spreadsheets, and the credentials file path goes into the server config.
Setup effort
Build from source
USE CASES
Getting numbers out of a sheet someone shared
Read the range as a 2D array and work with the values directly.
Logging results as they come in
Append rows to the end of the existing data instead of overwriting a range.
Starting a new tracker
Create the spreadsheet with the sheet names you want and get its ID and URL back.
Updating several parts of a sheet at once
Send the range and value pairs in a single batch request rather than one call per range.
Resetting a sheet between runs
Clear the range, then write the new values into it.
Finding your way around an unfamiliar workbook
Read the metadata — title, sheets and dimensions — before addressing a range.
7 tools
Listed in project docs. Your client may show a different list.
read-rangewrite-rangeappend-rowsclear-rangeget-spreadsheet-infobatch-updateBEFORE YOU INSTALL
What to know first
Tools you get
7 tools named in the project's documentation.
Requires
- uv
- Python 3.12 or later
- A Google Cloud project with the Google Sheets API enabled
- Desktop Application OAuth client credentials (JSON), passed as --creds-file-path
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
git clone https://github.com/Prajapdh/sheets-mcp-server
cd sheets-mcp-server
uv syncMCP Clients
Claude Desktop
{
"mcpServers": {
"google-sheets": {
"command": "uv",
"args": [
"--directory",
"<YOUR_PATH_TO_SHEETS_MCP_SERVER>",
"run",
"sheets",
"--creds-file-path",
"<YOUR_PATH_TO_CREDENTIALS>",
"--token-path",
"<YOUR_PATH_TO_TOKENS>"
]
}
}
}<YOUR_PATH_TO_SHEETS_MCP_SERVER> is the full path of the sheets-mcp-server folder the clone step creates, and <YOUR_PATH_TO_CREDENTIALS> is where you saved the Desktop Application OAuth client JSON you downloaded from Google Cloud. <YOUR_PATH_TO_TOKENS> is not a file you supply: give any writable path, and the server saves its access tokens there after the browser sign-in it opens on first run.