Claude Google Sheets MCP Server
A comprehensive MCP server for Google Sheets integration with Claude, enabling spreadsheet discovery, data manipulation, and formatting through natural language commands and slash commands.
README
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 SLASH_COMMANDS.md 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
gcloudauthentication - 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 CONTRIBUTING.md 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 SECURITY.md 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 loginwith proper scopes - Check that Google Sheets and Drive APIs are enabled in your Google Cloud project
"Spreadsheet not found"
- Use
/list-sheetsto 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 SLASH_COMMANDS.md for usage examples
- Enable debug logging:
--debugflag - Join discussions in the repository
๐ License
This project is licensed under the MIT License - see the LICENSE 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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.