ringo380/claude-google-sheets-mcp
If you are the rightful owner of claude-google-sheets-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Claude Google Sheets MCP Server provides seamless integration with Google Sheets, enabling intuitive spreadsheet operations optimized for Claude CLI.
Claude Google Sheets MCP Server
A comprehensive Model Context Protocol (MCP) server for Google Sheets integration with Claude. This server provides intuitive access to Google Sheets operations, including spreadsheet discovery, data manipulation, and formatting - specifically optimized for Claude CLI.
๐ One-command installation with full Claude CLI automation!
โจ Features
๐ Spreadsheet Discovery
- List all spreadsheets in your Google Drive
- Advanced search with filters (name, owner, date, sharing status)
- Detailed metadata about any spreadsheet
- Find sheets by name with partial matching
๐ Data Operations
- Read data from any range with multiple format options
- Write data to specific ranges with type inference
- Append rows safely without overwriting existing data
- Clear ranges with confirmation safeguards
๐ Fully Automated Setup
- One-command installation - Complete Claude CLI integration in minutes
- Automatic configuration - No manual JSON editing required
- 8 slash commands included -
/list-sheets
,/read-sheet
,/write-sheet
, etc. - Universal authentication - Works with any Google account type
- Smart detection - Automatically finds and configures Claude CLI
๐ Universal Authentication
- Works with any Google account type: Personal, GCP, Google Workspace/GSuite
- Interactive setup wizard for guided authentication configuration
- Multiple auth methods: OAuth 2.0, Service Account, Application Default Credentials
- Automatic token refresh and secure caching
- Smart account detection and permission checking
๐ Quick Start
Prerequisites
- Python 3.11 or higher
- Claude CLI installed
- A Google account (personal, GCP, or Google Workspace/GSuite)
Installation
๐ฅ One-Command Setup (Recommended)
For completely automated installation including Claude CLI configuration, slash commands, and authentication setup:
git clone https://github.com/ryanrobson/claude-google-sheets-mcp.git
cd claude-google-sheets-mcp
./install-claude-cli.sh
This script will:
- โ Install all dependencies
- โ๏ธ Automatically configure Claude CLI
- ๐ Install all 8 slash commands
- ๐ Guide you through authentication setup
- ๐งช Test the installation
Manual Installation
If you prefer step-by-step control:
-
Clone the repository:
git clone https://github.com/ryanrobson/claude-google-sheets-mcp.git cd claude-google-sheets-mcp
-
Install the server:
./install.sh
-
Run the interactive setup wizard:
source venv/bin/activate claude-google-sheets-mcp --setup
-
Add to Claude CLI configuration (manual):
{ "mcpServers": { "google-sheets": { "command": "/path/to/claude-google-sheets-mcp/venv/bin/python", "args": [ "-m", "claude_google_sheets.server" ] } } }
-
Install slash commands (optional):
./install-slash-commands.sh
๐ Usage
Natural Language Commands
Once configured, interact with Google Sheets using natural language:
List all my spreadsheets
Read data from range A1:C10 in my Budget spreadsheet
Write this sales data to my Q4 Results sheet
Search for spreadsheets containing 'project' in the name
Get information about my expense tracking sheet
Slash Commands (Power User)
For faster access to common operations:
/list-sheets
- List all your Google Sheets/read-sheet
- Read data from a sheet range/write-sheet
- Write data to a sheet range/append-sheet
- Append new rows to a sheet/search-sheets
- Search sheets with advanced filters/sheet-info
- Get detailed sheet information/find-sheet
- Find sheet by name/clear-range
- Clear data from range (with confirmation)
๐ See for detailed usage guide
๐ Authentication
The Google Sheets MCP server supports all Google account types and provides an interactive setup wizard to guide you through the authentication process.
Quick Setup (Recommended)
Run the interactive setup wizard:
claude-google-sheets-mcp --setup
The wizard will:
- Detect your account type (Personal, Google Workspace, or GCP)
- Guide you through the appropriate authentication method
- Test your configuration to ensure everything works
- Provide troubleshooting tips if needed
Authentication Methods
๐ OAuth 2.0 (Best for personal use)
- Access your personal Google Sheets
- Requires one-time Google Cloud project setup
- Interactive browser-based authentication
- Automatic token refresh
๐ค Service Account (Best for automation/server use)
- Non-interactive authentication for scripts
- Requires sharing sheets with service account email
- Ideal for team/organization deployments
๐ Application Default Credentials (Best for GCP users)
- Uses existing
gcloud
authentication - Perfect if you're already using Google Cloud Platform
- Quick setup with:
gcloud auth application-default login --scopes="https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/spreadsheets,https://www.googleapis.com/auth/drive"
Manual Setup (Advanced)
If you prefer manual configuration, see the setup wizard prompts for detailed instructions, or place your credentials in ~/.config/google-sheets-mcp/
:
- OAuth:
credentials.json
(from Google Cloud Console) - Service Account:
service-account.json
(service account key) - Application Default: Use
gcloud auth application-default login
๐ ๏ธ Available Tools
The MCP server exposes these tools:
Tool | Description | Parameters |
---|---|---|
list_spreadsheets | List all Google Sheets | max_results, query, include_shared |
search_spreadsheets | Advanced spreadsheet search | name_contains, owner_email, created_after, etc. |
get_spreadsheet_info | Get detailed metadata | spreadsheet_id |
read_range | Read data from range | spreadsheet_id, range, value_render_option |
write_range | Write data to range | spreadsheet_id, range, values, value_input_option |
append_data | Append rows to sheet | spreadsheet_id, range, values |
clear_range | Clear data from range | spreadsheet_id, range |
๐๏ธ Architecture
claude-google-sheets-mcp/
โโโ src/claude_google_sheets/
โ โโโ auth/ # Authentication management
โ โโโ tools/ # MCP tool implementations
โ โโโ core/ # Base classes and utilities
โ โโโ server.py # Main MCP server
โโโ slash-commands/ # Claude CLI slash commands
โโโ tests/ # Test suite
โโโ docs/ # Documentation
๐งช Development
Setup Development Environment
git clone https://github.com/ryanrobson/claude-google-sheets-mcp.git
cd claude-google-sheets-mcp
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -e ".[dev]"
Run Tests
python test_server.py
Code Quality
black src/
isort src/
flake8 src/
mypy src/
๐ค Contributing
We welcome contributions! Please see for guidelines.
Quick Contribution Guide
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Make your changes
- Add tests for new functionality
- Run the test suite:
python test_server.py
- Commit your changes:
git commit -m 'Add amazing feature'
- Push to the branch:
git push origin feature/amazing-feature
- Open a Pull Request
๐ Roadmap
- Formatting tools - Cell formatting, colors, borders
- Chart creation - Generate charts from data
- Batch operations - Multiple operations in single request
- Sheet management - Create, delete, rename sheets
- Collaboration features - Comments, suggestions
- Advanced formulas - Formula manipulation and analysis
- Export/Import - CSV, Excel, PDF export
- Webhook support - Real-time change notifications
๐ Security & Privacy
- No data storage: This server doesn't store your spreadsheet data
- Credential security: Uses Google's official authentication libraries
- Minimal permissions: Requests only necessary API scopes
- Local processing: All operations performed locally
- Audit trail: All API calls logged for debugging
See for detailed security information.
๐ Comparison with Other Solutions
Feature | This MCP Server | Google Sheets API | Other MCP Servers |
---|---|---|---|
Spreadsheet Discovery | โ Full Drive integration | โ Requires sheet IDs | โ Limited or none |
Claude CLI Optimized | โ Purpose-built | โ Generic API | โ ๏ธ Basic integration |
Slash Commands | โ 8 commands included | โ None | โ None |
Authentication Options | โ Multiple methods | โ Standard OAuth | โ ๏ธ Varies |
Error Handling | โ User-friendly | โ Technical errors | โ ๏ธ Varies |
Interactive Workflows | โ Guided prompts | โ None | โ None |
๐ Troubleshooting
Common Issues
"Authentication failed"
- Run the setup wizard:
claude-google-sheets-mcp --setup
- For GCP users: Use
gcloud auth application-default login
with proper scopes - Check that Google Sheets and Drive APIs are enabled in your Google Cloud project
"Spreadsheet not found"
- Use
/list-sheets
to see available spreadsheets - Check spreadsheet sharing permissions (especially for service accounts)
- Verify the spreadsheet ID is correct
"Invalid range"
- Use A1 notation (e.g., "A1:C10", "Sheet1!A1:C10")
- Check that the range exists in the spreadsheet
- Include sheet name if the spreadsheet has multiple tabs
"Insufficient permissions"
- For Application Default Credentials, ensure you have the right scopes:
gcloud auth application-default login --scopes="https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/spreadsheets,https://www.googleapis.com/auth/drive"
- For service accounts, ensure the service account email has been granted access to your spreadsheets
Getting Help
- Check the Issues page
- Review for usage examples
- Enable debug logging:
--debug
flag - Join discussions in the repository
๐ License
This project is licensed under the MIT License - see the file for details.
๐ Acknowledgments
- Anthropic for Claude and the Model Context Protocol
- Google for the Sheets and Drive APIs
- MCP Community for tools and inspiration
- Contributors who help improve this project
๐ Support
- ๐ Bug Reports: GitHub Issues
- ๐ฌ Discussions: GitHub Discussions
- ๐ Documentation: Wiki
Made with โค๏ธ for the Claude and MCP community