add_columnsLABSCO SUMMARY
The whole spreadsheet surface, with a way to bring only part of it.
Reading, writing, restructuring and sharing are all here, which is unusual — most spreadsheet connections stop at reading. The counterweight is size: a tool list this long occupies context on every turn, and the filtering option exists precisely for that, letting you expose reading and writing alone when that is all the work needs.
What it is
A Google Sheets server covering the whole surface: finding spreadsheets in Drive, reading and writing cell ranges, adding rows, columns and sheets, copying and renaming, searching inside a spreadsheet, and sharing.
What you get
- Spreadsheets in a Drive folder listed, searched by name, and the folders themselves listed alongside
- Cell data read from one sheet, from several sheets at once, or several spreadsheets summarised together
- Formulas read back as formulas rather than as their computed results
- Cells updated, and batched updates applied across ranges in a single call
- Rows and columns added, and sheets created, renamed and copied
- A new spreadsheet created in a folder you name
- Text found inside a spreadsheet
- A spreadsheet shared with someone
- A way to enable only the tools you need, so the rest do not occupy the model's context
Requirements
Google Cloud credentials with the Sheets and Drive APIs enabled. A service account is the recommended path — its key file and a Drive folder are supplied as environment settings — and OAuth is supported as well. Python, run with uv.
Setup effort
One command plus credentials — uvx mcp-google-sheets@latest, then supply credentials
USE CASES
Pulling numbers out of a sheet someone else maintains
Find the spreadsheet in the shared folder and read the range you need, without being given edit access.
Understanding a sheet before you change it
Read the formulas rather than their results, and list the tabs, so an edit does not quietly break a calculation.
Writing results back where the team will see them
Update the cells directly, or batch several range updates into one call when the change spans the sheet.
Building a report from scratch
Create the spreadsheet in the right folder, add the rows, and name the sheets as you go.
Finding where a value actually lives
Search inside the spreadsheet, or across spreadsheets by name, instead of opening tabs one by one.
Handing the result to someone
Share the spreadsheet from the same conversation that produced it.
20 tools
Listed in project docs. Your client may show a different list.
add_rowsbatch_updatebatch_update_cellscopy_sheetcreate_sheetcreate_spreadsheetfind_in_spreadsheetget_multiple_sheet_dataget_multiple_spreadsheet_summaryget_sheet_dataget_sheet_formulaslist_folderslist_sheetslist_spreadsheetsrename_sheetsearch_spreadsheetsshare_spreadsheetupdate_cellsadd_chartBEFORE YOU INSTALL
What to know first
Tools you get
20 tools named in the project's documentation.
Requires
- uvx on PATH
- SERVICE_ACCOUNT_PATH in your environment
INSTALLATION
Connect your client
Server setup
uvx mcp-google-sheets@latestMCP Clients
Claude Desktop — service account
{
"mcpServers": {
"google-sheets": {
"command": "uvx",
"args": [
"mcp-google-sheets@latest"
],
"env": {
"SERVICE_ACCOUNT_PATH": "<YOUR_SERVICE_ACCOUNT_PATH>",
"DRIVE_FOLDER_ID": "<YOUR_DRIVE_FOLDER_ID>"
}
}
}
}Claude Desktop — OAuth
{
"mcpServers": {
"google-sheets": {
"command": "uvx",
"args": [
"mcp-google-sheets@latest"
],
"env": {
"CREDENTIALS_PATH": "<YOUR_CREDENTIALS_PATH>",
"TOKEN_PATH": "<YOUR_TOKEN_PATH>"
}
}
}
}Claude Desktop — base64 credentials
{
"mcpServers": {
"google-sheets": {
"command": "uvx",
"args": [
"mcp-google-sheets@latest"
],
"env": {
"CREDENTIALS_CONFIG": "<YOUR_CREDENTIALS_CONFIG>",
"DRIVE_FOLDER_ID": "<YOUR_DRIVE_FOLDER_ID>"
}
}
}
}Claude Desktop — default credentials
{
"mcpServers": {
"google-sheets": {
"command": "uvx",
"args": [
"mcp-google-sheets@latest"
],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "<YOUR_GOOGLE_APPLICATION_CREDENTIALS>"
}
}
}
}Any MCP client — local build
git clone https://github.com/xing5/mcp-google-sheets.git
cd mcp-google-sheets{
"mcpServers": {
"mcp-google-sheets-local": {
"command": "uv",
"args": [
"run",
"--directory",
"<YOUR_PATH_TO_MCP_GOOGLE_SHEETS>",
"mcp-google-sheets"
],
"env": {
"SERVICE_ACCOUNT_PATH": "<YOUR_PATH_TO_MCP_GOOGLE_SHEETS>/service_account.json",
"DRIVE_FOLDER_ID": "<YOUR_DRIVE_FOLDER_ID>"
}
}
}
}