Google Sheets Mcp

io.github.henilcalagiyaPublished by GitHub account henilcalagiyav0.1.6Updated Oct 24, 2026

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

Overview

AI-generated overview

Lets an assistant create, read, update, and delete Google Sheets spreadsheets and tables through a Google service account.

What you can do
This local MCP server connects an MCP-compatible client to Google Sheets so the assistant can automate spreadsheets. It advertises full CRUD support for spreadsheets and tables, meaning sheets can be created, read, updated, and deleted. It runs as a local process installed from PyPI and launched with uvx, and it authenticates to Google using a service account rather than a user login.
When to use it
Use it when you want an assistant to work directly with Google Sheets data, for example building or maintaining spreadsheets, reading tabular data, or updating cells as part of a workflow. It suits users who already have a Google Cloud project and are comfortable creating a service account.
Requirements
Python 3.10+ and the uv package manager for the uvx command. A Google Cloud project with the Google Sheets API and Google Drive API enabled, plus a service account JSON key. The client config supplies project_id, private_key_id, private_key, client_email, client_id, and client_x509_cert_url as environment variables; older GOOGLE_-prefixed names are also accepted. The target spreadsheet must be shared with the service account email as Editor.
Before you install
The configuration requires a service account private key (private_key) and related credentials, which are secrets and should be stored carefully. The service account is granted Editor access to the target spreadsheet, so the assistant can modify or delete sheet content. Only share spreadsheets you intend the assistant to change, and revoke the service account key if it is exposed.

Installation

In SourceWeft

  1. Open Google Sheets Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Google Sheets MCP Server

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

mcp-name: io.github.henilcalagiya/google-sheets-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:

bash
# macOS/Linuxcurl -LsSf https://astral.sh/uv/install.sh | sh
# Windows PowerShellirm 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:

Example Google service account JSON structure:

json
{  "type": "service_account",  "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",  "auth_uri": "https://accounts.google.com/o/oauth2/auth",  "token_uri": "https://oauth2.googleapis.com/token",  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/your-service%40your-project.iam.gserviceaccount.com"}

Follow this guide if needed

2. Configure MCP Client

json
{  "mcpServers": {    "google-sheets-mcp": {      "command": "uvx",      "args": ["google-sheets-mcp@latest"],      "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"      }    }  }}

💡 Pro Tip: You can copy the values directly from your Google service account JSON file. The field names in the JSON file are used exactly as they are - no changes needed!

🔄 Backward Compatibility: The server also supports the old GOOGLE_ prefixed variable names (e.g., GOOGLE_PROJECT_ID) for existing configurations.

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!

Source: README.md at commit fa4bc1f

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.6LatestSep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.