Skip to content

henilcalagiya/google-sheets-mcp

MCP Developer Tools

A server that exposes Google Sheets CRUD operations via the Model Context Protocol (MCP) for automation with compatible clients

Python Latest v0.1.4 · 9mo ago Security brief →

Features

  • Full CRUD support for Google Sheets and tables
  • Secure authentication using a Google Service Account
  • Works with any MCP‑compatible client (e.g., Continue.dev, Claude Desktop)
  • Automatic installation via the `uvx` command

Recent releases

View all 5 releases →
v0.1.4 New feature
Notable features
  • Direct Google JSON field names can be used without the GOOGLE_ prefix
  • Backward compatibility retained for existing config format
Full changelog
 ## 🎉 New Feature: Direct Google JSON Field Names
 
 ### ✨ What's New:
 - **Copy-paste friendly**: Use exact Google JSON field names
 - **No more `GOOGLE_` prefix**: Direct field mapping
 - **Backward compatibility**: Old format still supported
 
 ### 🔧 Configuration:
 ```json
 {
   "env": {
     "project_id": "your-project-id",
     "private_key_id": "your-private-key-id", 
     "private_key": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n",
     "client_email": "[email protected]",
     "client_id": "your-client-id",
     "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/your-service%40your-project.iam.gserviceaccount.com"
   }
 }
 ```
 
 ### 🚀 Benefits:
 - Users can copy directly from Google service account JSON
 - No manual field name modifications needed
 - Easier setup process
 - Maintains backward compatibility
v0.1.3 Bug fix

Fixed Python compatibility by replacing regex with toml/tomllib handling.

Full changelog

Bug Fixes

  • Fixed package structure by moving main.py into the package
  • Updated entry point to use proper package path
  • Fixed all hardcoded version references in workflows
  • Corrected syntax errors in version extraction commands
  • Fixed Python compatibility (regex instead of toml/tomllib)
  • Added virtual environment creation to GitHub Actions
  • Made version checks dynamic across all files
  • Improved package installation and execution

Full Changelog: https://github.com/henilcalagiya/google-sheets-mcp/compare/v0.1.2...v0.1.3

v0.1.2 Bug fix

Fixed __main__.py inclusion in the wheel package.

Full changelog

Bug Fixes

  • Fixed main.py inclusion in wheel package
  • Improved error handling for package imports
  • Better user experience when running directly

Full Changelog: https://github.com/henilcalagiya/google-sheets-mcp/compare/v0.1.1...v0.1.2

v0.1.1 Bug fix

Fixed __main__.py execution when running with uvx.

Full changelog

Bug Fixes

  • Fixed main.py execution when running with uvx
  • Improved error handling for package imports
  • Better user experience when running directly

Full Changelog: https://github.com/henilcalagiya/google-sheets-mcp/compare/v0.1.0...v0.1.1

v0.1.0 New feature
Notable features
  • Full CRUD (create, read, update, delete) support for Google Sheets via MCP API
  • Automatic installation and runtime handling using `uvx` command
Full changelog

Google Sheets MCP Server

Powerful tools for automating Google Sheets using Model Context Protocol (MCP)

Overview

Google Sheets MCP Server provides seamless integration of Google Sheets with any MCP-compatible client. It enables full spreadsheet automation — including creating, reading, updating, and deleting sheets — through a simple and secure API layer.

Features

  • Full CRUD support for Google Sheets and tables
  • Works with Continue.dev, Claude Desktop, Perplexity, and other MCP clients
  • Secure authentication via Google Service Account
  • Comprehensive tools for Google Sheets automation
  • Automatic installation via uvx

Requirements

  • Python 3.10+
  • uv package manager (for uvx command)
  • A Google Cloud project with a Service Account
  • MCP-compatible client (e.g., Continue.dev)

Install uv:

# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows PowerShell
irm https://astral.sh/uv/install.ps1 | iex

Quick Start

1. Set Up Google Service Account

Step 1: Create a Google Cloud Project

  1. Go to Google Cloud Console
  2. Click "Select a project" → "New Project"
  3. Enter a project name (e.g., "my-sheets-automation")
  4. Click "Create"

Step 2: Enable Required APIs

  1. In your project, go to "APIs & Services" → "Library"
  2. Search for "Google Sheets API" → Click → "Enable"
  3. Search for "Google Drive API" → Click → "Enable"

Step 3: Create Service Account

  1. Go to "IAM & Admin" → "Service Accounts"
  2. Click "Create Service Account"
  3. Enter service account name (e.g., "sheets-mcp-service")
  4. Click "Create and Continue"
  5. Skip role assignment → Click "Continue"
  6. Click "Done"

Step 4: Generate JSON Key

  1. Click on your new service account email
  2. Go to "Keys" tab → "Add Key" → "Create new key"
  3. Choose "JSON" format → Click "Create"
  4. The JSON file will download automatically

Step 5: Extract Required Values
Open the downloaded JSON file and note these values:

  • project_id (e.g., "my-sheets-automation-123456")
  • private_key (the long private key starting with "-----BEGIN PRIVATE KEY-----")
  • client_email (e.g., "sheets-mcp-service@my-sheets-automation-123456.iam.gserviceaccount.com")

Follow this guide if needed

2. Configure MCP Client

{
  "mcpServers": {
    "google-sheets-mcp": {
      "command": "uvx",
      "args": ["google-sheets-mcp@latest"],
      "env": {
        "GOOGLE_PROJECT_ID": "your-project-id",
        "GOOGLE_PRIVATE_KEY": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n",
        "GOOGLE_CLIENT_EMAIL": "[email protected]"
      }
    }
  }
}

Extract these values from your Google service account JSON file:

  • project_idGOOGLE_PROJECT_ID
  • private_keyGOOGLE_PRIVATE_KEY
  • client_emailGOOGLE_CLIENT_EMAIL

3. Share Your Google Sheet with the Service Account

  • Open your target Google Spreadsheet in your web browser.
  • Click the Share button.
  • Enter the service account email (e.g., [email protected]) and assign Editor access.
  • Click Send to provide editor permissions.

🎉 You're all set! Your MCP client will automatically install and run the package when needed.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Author

Henil C Alagiya

Support & Contributions:

  • 🐛 Report Issues: GitHub Issues
  • 💬 Questions: Reach out on LinkedIn
  • 🤝 Contributions: Pull requests welcome!

Full Changelog: https://github.com/henilcalagiya/google-sheets-mcp/commits/v0.1.0

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

About

Stars
13
Forks
4
Languages
Python Shell

Install & Platforms

Install via
shell-script binary

Beta — feedback welcome: [email protected]