Read, edit, format and chart Google Sheets, with a live in-chat preview of every change.
Let Claude read, edit, format and chart your Google Sheets. Ask for a new column, a cleaner layout or a chart, and Claude makes the change directly in your spreadsheet.
See all features and watch the demo at sheetsmcp.io →
Free and open source · Runs on your computer · Works in Claude Desktop and Claude Code
If Sheets MCP saves you time, a ⭐ on GitHub helps other people find it.
New to Claude Desktop? Follow the step-by-step setup guide.
The extension works in both the Chat and Code tabs. For long, multi-step jobs, the Code tab is the more dependable choice: it runs everything on your computer.
Requires Node.js 18 or newer. Run:
claude mcp add --scope user google-sheets -- npx -y @sheetsmcp/server
Then start a new Claude Code session.
The first time Claude uses Google Sheets, a Google sign-in page opens in your browser:
To use more than one Google account, ask Claude to "sign in to another Google account". When you paste a sheet link, Sheets MCP uses whichever of your accounts can open it.
To open the Google sign-in in a particular browser without changing your default, add "browser": "Google Chrome" (or another app name) to ~/.sheets-mcp/settings.json.
If your company's Google Workspace blocks the sign-in, your Workspace admin can allow Sheets MCP under Admin console → Security → API controls.
In Claude Desktop, click + and choose Get started with Google Sheets for a quick tour. When more than one Google account is connected, Claude asks which account to use before creating a spreadsheet, or when a sheet can be opened by more than one of your accounts.
More example requests and everything Sheets MCP can do →
In Claude Desktop, Claude opens a live preview of your sheet in the chat while it works. You see each range it reads and each change it makes as it happens, charts included, and the preview folds away when Claude is done. Open in Sheets jumps to the same cells in Google Sheets.
After updating Sheets MCP, quit and reopen Claude Desktop so it loads the new preview.
Watch it in action on sheetsmcp.io →
Sheets MCP runs on your computer. Your Google sign-in is stored only on your computer (in ~/.sheets-mcp), and requests go straight from your computer to Google. There is no Sheets MCP server in between. It asks Google for access to your spreadsheets only, not the rest of your Drive. To find a sheet by name, it keeps a list of the spreadsheets you've used with it in ~/.sheets-mcp/recent.json on your computer; delete that file to clear the list. Spreadsheet data Claude reads becomes part of your Claude conversation. See the privacy policy.
To disconnect, ask Claude to "sign out of Google Sheets", or remove Sheets MCP at myaccount.google.com/permissions.
npx @sheetsmcp/server auth # sign in to a Google account
npx @sheetsmcp/server accounts # list signed-in accounts
npx @sheetsmcp/server accounts default <email> # choose the default account
npx @sheetsmcp/server accounts remove <email> # sign out an account
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y @sheetsmcp/serverMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-atc07-sheets-mcp": {
"command": "npx",
"args": [
"-y",
"@sheetsmcp/server"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup reference@sheetsmcp/servernpmSheets MCP works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.