claude-google-sheets-mcp

ringo380/claude-google-sheets-mcp

3.2

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.

Tools
7
Resources
0
Prompts
0

Claude Google Sheets MCP Server

License: MIT Python 3.11+ MCP Compatible

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:

  1. Clone the repository:

    git clone https://github.com/ryanrobson/claude-google-sheets-mcp.git
    cd claude-google-sheets-mcp
    
  2. Install the server:

    ./install.sh
    
  3. Run the interactive setup wizard:

    source venv/bin/activate
    claude-google-sheets-mcp --setup
    
  4. 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"
          ]
        }
      }
    }
    
  5. 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:

ToolDescriptionParameters
list_spreadsheetsList all Google Sheetsmax_results, query, include_shared
search_spreadsheetsAdvanced spreadsheet searchname_contains, owner_email, created_after, etc.
get_spreadsheet_infoGet detailed metadataspreadsheet_id
read_rangeRead data from rangespreadsheet_id, range, value_render_option
write_rangeWrite data to rangespreadsheet_id, range, values, value_input_option
append_dataAppend rows to sheetspreadsheet_id, range, values
clear_rangeClear data from rangespreadsheet_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

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes
  4. Add tests for new functionality
  5. Run the test suite: python test_server.py
  6. Commit your changes: git commit -m 'Add amazing feature'
  7. Push to the branch: git push origin feature/amazing-feature
  8. 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

FeatureThis MCP ServerGoogle Sheets APIOther 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

  1. Check the Issues page
  2. Review for usage examples
  3. Enable debug logging: --debug flag
  4. 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


Made with โค๏ธ for the Claude and MCP community