google-sheets-mcp — Claude Code MCP server: Google Sheets CRUD
An MCP server that lets your agent create, read, update and delete Google Sheets tabs and spreadsheets. Auth runs through a service account key.
claude mcp add google-sheets-mcp -- uvx google-sheets-mcpWhat google-sheets-mcp does
The server hands an MCP client a set of tools for spreadsheet work: make a spreadsheet, pull a range, rewrite cells, drop a sheet. It authenticates with a Google Cloud service account, and the package boots through uvx whenever the client needs it.
Setup takes work before the first request. Create a Google Cloud project and enable both Google Sheets API and Google Drive API. Generate a JSON key for a service account, then copy its fields into the env block of your MCP config — the server reads the same names the key file uses. The legacy GOOGLE_-prefixed names still work for configs that already use them.
Share the target spreadsheet with the service account email and give it Editor access; without that, calls fail. You also need Python 3.10+ and uv installed. Treat the private key as a secret: keep the JSON file and the env block out of version control.
What it helps with
- Create a fresh spreadsheet and fill in header rows
- Pull a cell range and hand the values to the agent
- Update rows in an existing tab on request
- Delete a tab or spreadsheet that is no longer needed
- Grant a service account editor access and drive the sheet from chat
Example prompts for the agent
- Create a spreadsheet and put the task list from
tasks.mdinto the first sheet - Read range
A1:D20and show me which rows are empty - Append a weekly summary row to the
Reporttab
How to install google-sheets-mcp
Platform CLI
claude mcp add google-sheets-mcp -- uvx google-sheets-mcpuvx runs the command named after the package; if the README names another one, use uvx --from google-sheets-mcp <command>
Platform CLI
codex mcp add google-sheets-mcp -- uvx google-sheets-mcpuvx runs the command named after the package; if the README names another one, use uvx --from google-sheets-mcp <command>
Config file
{
"mcpServers": {
"google-sheets-mcp": {
"command": "uvx",
"args": [
"google-sheets-mcp"
]
}
}
}uvx runs the command named after the package; if the README names another one, use uvx --from google-sheets-mcp <command>
Config file
{
"servers": {
"google-sheets-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"google-sheets-mcp"
]
}
}
}uvx runs the command named after the package; if the README names another one, use uvx --from google-sheets-mcp <command>
Platform CLI
gemini mcp add google-sheets-mcp uvx google-sheets-mcpuvx runs the command named after the package; if the README names another one, use uvx --from google-sheets-mcp <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about google-sheets-mcp
How do I install google-sheets-mcp in Claude Code?
Run claude mcp add google-sheets-mcp -- uvx google-sheets-mcp, then put the values from your service account JSON key into the server's environment variables.
What does google-sheets-mcp do?
It exposes tools for creating, reading, updating and deleting Google Sheets tabs and spreadsheets through the API.
What do I need before it works?
A Google Cloud project with Google Sheets API and Google Drive API enabled, a service account JSON key, Python 3.10+ and uv. Share the spreadsheet with the service account email as Editor.