Google Sheets MCP server
{
"mcpServers": {
"a1-x-tech-google-sheets": {
"command": "npx",
"args": [
"-y",
"@a1-x-tech/mcp-google-sheets@latest"
],
"env": {
"GOOGLE_SHEETS_CLIENT_ID": "<google_sheets_client_id>",
"GOOGLE_SHEETS_CLIENT_SECRET": "<google_sheets_client_secret>",
"GOOGLE_SHEETS_REFRESH_TOKEN": "<google_sheets_refresh_token>",
"GOOGLE_SHEETS_ACCESS_TOKEN": "<google_sheets_access_token>"
}
}
}
}{
"mcpServers": {
"a1-x-tech-google-sheets": {
"command": "npx",
"args": [
"-y",
"@a1-x-tech/mcp-google-sheets@latest"
],
"env": {
"GOOGLE_SHEETS_CLIENT_ID": "<google_sheets_client_id>",
"GOOGLE_SHEETS_CLIENT_SECRET": "<google_sheets_client_secret>",
"GOOGLE_SHEETS_REFRESH_TOKEN": "<google_sheets_refresh_token>",
"GOOGLE_SHEETS_ACCESS_TOKEN": "<google_sheets_access_token>"
}
}
}
}{
"mcpServers": {
"a1-x-tech-google-sheets": {
"command": "npx",
"args": [
"-y",
"@a1-x-tech/mcp-google-sheets@latest"
],
"env": {
"GOOGLE_SHEETS_CLIENT_ID": "<google_sheets_client_id>",
"GOOGLE_SHEETS_CLIENT_SECRET": "<google_sheets_client_secret>",
"GOOGLE_SHEETS_REFRESH_TOKEN": "<google_sheets_refresh_token>",
"GOOGLE_SHEETS_ACCESS_TOKEN": "<google_sheets_access_token>"
}
}
}
}{
"servers": {
"a1-x-tech-google-sheets": {
"command": "npx",
"args": [
"-y",
"@a1-x-tech/mcp-google-sheets@latest"
],
"env": {
"GOOGLE_SHEETS_CLIENT_ID": "${input:google_sheets_client_id}",
"GOOGLE_SHEETS_CLIENT_SECRET": "${input:google_sheets_client_secret}",
"GOOGLE_SHEETS_REFRESH_TOKEN": "${input:google_sheets_refresh_token}",
"GOOGLE_SHEETS_ACCESS_TOKEN": "${input:google_sheets_access_token}"
}
}
},
"inputs": [
{
"id": "google_sheets_client_id",
"type": "promptString",
"description": "Google sheets client id",
"password": true
},
{
"id": "google_sheets_client_secret",
"type": "promptString",
"description": "Google sheets client secret",
"password": true
},
{
"id": "google_sheets_refresh_token",
"type": "promptString",
"description": "Google sheets refresh token",
"password": true
},
{
"id": "google_sheets_access_token",
"type": "promptString",
"description": "Google sheets access token",
"password": true
}
]
}{
"mcpServers": {
"a1-x-tech-google-sheets": {
"command": "npx",
"args": [
"-y",
"@a1-x-tech/mcp-google-sheets@latest"
],
"env": {
"GOOGLE_SHEETS_CLIENT_ID": "<google_sheets_client_id>",
"GOOGLE_SHEETS_CLIENT_SECRET": "<google_sheets_client_secret>",
"GOOGLE_SHEETS_REFRESH_TOKEN": "<google_sheets_refresh_token>",
"GOOGLE_SHEETS_ACCESS_TOKEN": "<google_sheets_access_token>"
}
}
}
}file .mcp.json (in your project root)file claude_desktop_config.jsonfile ~/.cursor/mcp.jsonfile .vscode/mcp.jsonfile ~/.codeium/windsurf/mcp_config.jsoninstall npx -y @a1-x-tech/mcp-google-sheetsversion 0.1.0
What it does
MCP server for Google Sheets that allows reading and writing spreadsheet data, managing sheets and formatting, creating charts, and controlling sharing. Intended for AI applications that need to work with Google Sheets in plain language while maintaining clear separation between read and write operations.
- Search for a spreadsheet by name and read its structure, sheet names, and content to summarize what data it contains.
- Duplicate a sheet as a template, rename it, clear specific data ranges, and preserve formatting and validation rules.
- Append rows to a spreadsheet, manage data validation, create conditional formatting rules, and build charts from existing data.
Tools this server exposes
| Tool | Does |
|---|---|
| spreadsheet_find | Search for a spreadsheet by name or partial match. |
| spreadsheet_create | Create a new spreadsheet with an optional initial sheet name. |
| range_read | Read cell values and formatting from a specified range in a sheet. |
| range_write | Write or replace values in a specified range. |
| range_append | Append rows of data to the end of a range. |
| range_clear | Clear values from a specified range. |
| sheet_create | Create a new sheet within a spreadsheet. |
| sheet_duplicate | Duplicate an existing sheet in the same spreadsheet. |
| sheet_delete | Delete a sheet from a spreadsheet. |
| sheet_rename | Rename an existing sheet. |
| sheet_update_grid | Update sheet grid properties such as frozen rows and columns. |
| formatting_apply | Apply formatting (font, color, borders, alignment) to a range. |
| data_validation_create | Add data validation rules to a range. |
| conditional_format_create | Create conditional formatting rules for a range. |
| protected_range_create | Create a protected range with restricted edit access. |
| chart_create | Create a chart from data in the spreadsheet. |
| access_grant | Grant sharing access to a spreadsheet for a user or domain. |
| access_list | List all users and their access levels for a spreadsheet. |
| access_revoke | Remove a user's access to a spreadsheet. |
| raw_request | Send a raw request to the Google Sheets API for operations not covered by standard tools. |
Before you enable it
An MCP server runs with whatever access you give it. Start with a development account rather than production, and check which tools the server exposes before you let an agent call them unattended.