@whizzy/mcp-sheets
v0.1.1
Published
MCP server for Google Sheets — read, write, and manage spreadsheets from any MCP client
Maintainers
Readme
@whizzy/mcp-sheets
MCP server for Google Sheets. Read, write, search, and manage spreadsheets from Claude (or any MCP client).
Setup
1. Google Cloud
- Create a project in Google Cloud Console
- Enable the Google Sheets API and Google Drive API
- Create a Service Account and download the JSON key
- Share your target Drive folder with the service account email
2. Install
npm install @whizzy/mcp-sheetsOr run directly with npx:
npx @whizzy/mcp-sheets3. Connect to Claude
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"sheets": {
"command": "npx",
"args": ["-y", "@whizzy/mcp-sheets"],
"env": {
"SERVICE_ACCOUNT_PATH": "/path/to/service-account-key.json",
"DRIVE_FOLDER_ID": "your-folder-id"
}
}
}
}Or for Claude Code (.claude/settings.json):
{
"mcpServers": {
"sheets": {
"command": "npx",
"args": ["-y", "@whizzy/mcp-sheets"],
"env": {
"SERVICE_ACCOUNT_PATH": "/path/to/service-account-key.json",
"DRIVE_FOLDER_ID": "your-folder-id"
}
}
}
}Environment Variables
| Variable | Required | Description |
|---|---|---|
| SERVICE_ACCOUNT_PATH | Yes* | Path to service account JSON key file |
| DRIVE_FOLDER_ID | No | Default Google Drive folder ID |
| CREDENTIALS_CONFIG | No | Base64-encoded service account JSON (alternative to file) |
| CREDENTIALS_PATH | No | Path to OAuth credentials file (default: credentials.json) |
| TOKEN_PATH | No | Path to OAuth token file (default: token.json) |
| ENABLED_TOOLS | No | Comma-separated list of tools to enable (default: all) |
*One of SERVICE_ACCOUNT_PATH, CREDENTIALS_CONFIG, or OAuth credentials is required.
Tools
Read
- get_sheet_data - Get data from a sheet (values or full grid data with formatting)
- get_sheet_formulas - Get formulas from a sheet
- list_sheets - List all sheet tabs in a spreadsheet
- get_multiple_sheet_data - Get data from multiple ranges across spreadsheets
- get_multiple_spreadsheet_summary - Get headers and first rows from multiple spreadsheets
- find_in_spreadsheet - Search for cells containing a value
Write
- update_cells - Update cells in a range
- batch_update_cells - Update multiple ranges at once
- add_rows - Insert rows into a sheet
- add_columns - Insert columns into a sheet
- copy_sheet - Copy a sheet between spreadsheets
- rename_sheet - Rename a sheet tab
- batch_update - Execute raw Sheets API batchUpdate requests
Create / Manage
- create_spreadsheet - Create a new spreadsheet
- create_sheet - Add a new sheet tab
Drive
- list_spreadsheets - List spreadsheets in a folder
- share_spreadsheet - Share with users (reader/commenter/writer)
- list_folders - List folders in Drive
- search_spreadsheets - Search spreadsheets by name or content
Charts
- add_chart - Add a chart (column, bar, line, area, pie, scatter, combo, histogram)
Tool Filtering
To reduce context window usage, enable only the tools you need:
# Via environment variable
ENABLED_TOOLS="get_sheet_data,update_cells,list_sheets" npx @whizzy/mcp-sheets
# Via CLI argument
npx @whizzy/mcp-sheets --include-tools get_sheet_data,update_cells,list_sheetsDevelopment
npm install
npm run build
npm startPublishing
npm publish --access publicLicense
MIT
