About google-sheets-mcp
google-sheets-mcp is an MCP server for automating Google Sheets from compatible clients. It supports CRUD operations on sheets and tables and authenticates with a Google Service Account.
Key features
- 01CRUD operations for sheets and tables
- 02Operate through MCP clients
- 03Google Service Account authentication
- 04Automatic installation with uvx
Use cases
- 01Create and organize spreadsheets
- 02Read spreadsheet data
- 03Update or delete sheets and tables
MCP support
The server exposes Google Sheets automation tools to MCP clients, including CRUD operations for sheets and tables. Authentication uses a Google Service Account.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEGoogle 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+
uvpackage manager (foruvxcommand)- 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
- Go to Google Cloud Console
- Click "Select a project" → "New Project"
- Enter a project name (e.g., "my-sheets-automation")
- Click "Create"
Step 2: Enable Required APIs
- In your project, go to "APIs & Services" → "Library"
- Search for "Google Sheets API" → Click → "Enable"
- Search for "Google Drive API" → Click → "Enable"
Step 3: Create Service Account
- Go to "IAM & Admin" → "Service Accounts"
- Click "Create Service Account"
- Enter service account name (e.g., "sheets-mcp-service")
- Click "Create and Continue"
- Skip role assignment → Click "Continue"
- Click "Done"
Step 4: Generate JSON Key
- Click on your new service account email
- Go to "Keys" tab → "Add Key" → "Create new key"
- Choose "JSON" format → Click "Create"
- 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_id(e.g., "a4ae73111b11b2c3b07cc01006e71eb8230dfa29")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")client_id(e.g., "113227823918217958816")client_x509_cert_url(e.g., "https://www.googleapis.com/robot/v1/metadata/x509/sheets-mcp-service%40my-sheets-automation-123456.iam.gserviceaccount.com")
Example Google service account JSON structure:
{
"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"
}
2. Configure MCP Client
{
"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
- GitHub: @henilcalagiya
- LinkedIn: Henil C Alagiya
Support & Contributions:
- 🐛 Report Issues: GitHub Issues
- 💬 Questions: Reach out on LinkedIn
- 🤝 Contributions: Pull requests welcome!
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.