MCP server for the Google Sheets API — search spreadsheets, read and write ranges, manage sheets, formatting, validation, protected ranges, tables, charts and sharing. For Claude, Cursor, Codex and ot
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add google-sheets-a1-x-tech --env GOOGLE_SHEETS_CLIENT_SECRET='<GOOGLE_SHEETS_CLIENT_SECRET>' --env GOOGLE_SHEETS_REFRESH_TOKEN='<GOOGLE_SHEETS_REFRESH_TOKEN>' --env GOOGLE_SHEETS_ACCESS_TOKEN='<GOOGLE_SHEETS_ACCESS_TOKEN>' -- npx -y @a1-x-tech/mcp-google-sheets~/.codex/config.toml
[mcp_servers.google-sheets-a1-x-tech]
command = "npx"
args = ["-y", "@a1-x-tech/mcp-google-sheets"]
env = { GOOGLE_SHEETS_CLIENT_SECRET = "<GOOGLE_SHEETS_CLIENT_SECRET>", GOOGLE_SHEETS_REFRESH_TOKEN = "<GOOGLE_SHEETS_REFRESH_TOKEN>", GOOGLE_SHEETS_ACCESS_TOKEN = "<GOOGLE_SHEETS_ACCESS_TOKEN>" }
# codex mcp add google-sheets-a1-x-tech --env GOOGLE_SHEETS_CLIENT_SECRET='<GOOGLE_SHEETS_CLIENT_SECRET>' --env GOOGLE_SHEETS_REFRESH_TOKEN='<GOOGLE_SHEETS_REFRESH_TOKEN>' --env GOOGLE_SHEETS_ACCESS_TOKEN='<GOOGLE_SHEETS_ACCESS_TOKEN>' -- npx -y @a1-x-tech/mcp-google-sheets~/.cursor/mcp.json
{
"mcpServers": {
"google-sheets-a1-x-tech": {
"command": "npx",
"args": [
"-y",
"@a1-x-tech/mcp-google-sheets"
],
"env": {
"GOOGLE_SHEETS_CLIENT_SECRET": "<GOOGLE_SHEETS_CLIENT_SECRET>",
"GOOGLE_SHEETS_REFRESH_TOKEN": "<GOOGLE_SHEETS_REFRESH_TOKEN>",
"GOOGLE_SHEETS_ACCESS_TOKEN": "<GOOGLE_SHEETS_ACCESS_TOKEN>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"google-sheets-a1-x-tech": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@a1-x-tech/mcp-google-sheets"
],
"env": {
"GOOGLE_SHEETS_CLIENT_SECRET": "<GOOGLE_SHEETS_CLIENT_SECRET>",
"GOOGLE_SHEETS_REFRESH_TOKEN": "<GOOGLE_SHEETS_REFRESH_TOKEN>",
"GOOGLE_SHEETS_ACCESS_TOKEN": "<GOOGLE_SHEETS_ACCESS_TOKEN>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"google-sheets-a1-x-tech": {
"command": "npx",
"args": [
"-y",
"@a1-x-tech/mcp-google-sheets"
],
"env": {
"GOOGLE_SHEETS_CLIENT_SECRET": "<GOOGLE_SHEETS_CLIENT_SECRET>",
"GOOGLE_SHEETS_REFRESH_TOKEN": "<GOOGLE_SHEETS_REFRESH_TOKEN>",
"GOOGLE_SHEETS_ACCESS_TOKEN": "<GOOGLE_SHEETS_ACCESS_TOKEN>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"google-sheets-a1-x-tech": {
"command": "npx",
"args": [
"-y",
"@a1-x-tech/mcp-google-sheets"
],
"env": {
"GOOGLE_SHEETS_CLIENT_SECRET": "<GOOGLE_SHEETS_CLIENT_SECRET>",
"GOOGLE_SHEETS_REFRESH_TOKEN": "<GOOGLE_SHEETS_REFRESH_TOKEN>",
"GOOGLE_SHEETS_ACCESS_TOKEN": "<GOOGLE_SHEETS_ACCESS_TOKEN>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"google-sheets-a1-x-tech": {
"command": "npx",
"args": [
"-y",
"@a1-x-tech/mcp-google-sheets"
],
"env": {
"GOOGLE_SHEETS_CLIENT_SECRET": "<GOOGLE_SHEETS_CLIENT_SECRET>",
"GOOGLE_SHEETS_REFRESH_TOKEN": "<GOOGLE_SHEETS_REFRESH_TOKEN>",
"GOOGLE_SHEETS_ACCESS_TOKEN": "<GOOGLE_SHEETS_ACCESS_TOKEN>"
}
}
}
}Environment variables
GOOGLE_SHEETS_CLIENT_SECRETGOOGLE_SHEETS_REFRESH_TOKENGOOGLE_SHEETS_ACCESS_TOKEN
Replace the placeholders with your own credentials and keep them out of version control.