Manage Google Sheets with AI
TypeScript MCP server for typed, safe Google Sheets access - create, read, update spreadsheets via OAuth2 or Service Account.
Maintainer of this project? Claim this page to edit the listing.
1.0.0Add to Favorites
Why it matters
Enable AI agents to securely interact with Google Sheets, offering robust capabilities for creating, reading, updating, and managing spreadsheets and their data.
Outcomes
What it gets done
Create, list, and rename spreadsheets and sheets.
Read and write cell data, including batch updates.
Share spreadsheets with granular permissions.
Automate Google Sheets operations via API.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/vb-google-sheets | bash Capabilities
Tools your agent gets
Creates a new spreadsheet and optionally moves it to configured Drive folder
Lists all sheet tabs in the given spreadsheet
Renames an existing sheet tab
Adds a new sheet tab to the spreadsheet
Gets metadata including title, sheet IDs, and grid properties for a spreadsheet
Lists all spreadsheets in the configured Drive folder or My Drive
Shares spreadsheet with users at specified permission levels and sends notifications
Reads cell values from a sheet range or entire sheet
Overview
Google Sheets MCP Server
Google Sheets MCP Server gives an AI agent typed tools to create, read, update, and share Google Sheets, supporting OAuth2 or Service Account authentication and Drive folder organization. Use it for programmatic, typed Google Sheets automation once Sheets/Drive APIs and credentials are configured; requires Bun as the runtime.
What it does
Google Sheets MCP Server is a TypeScript MCP server that lets AI agents safely interact with Google Sheets through typed tools. It supports two authentication modes - OAuth2 (via credentials.json + token.json for user-scoped access) and Service Account (via a base64-encoded CREDENTIALS_CONFIG) - and integrates with Google Drive for organizing new spreadsheets into a configured folder.
It covers the full lifecycle: creating spreadsheets and sheet tabs, reading and writing cell data (including batched multi-range updates), inserting rows/columns, copying sheets between spreadsheets, and sharing spreadsheets with specific permission levels.
When to use - and when NOT to
Use this connector when you want an assistant to create, read, or update Google Sheets data programmatically - populating a report, restructuring tabs, or sharing a spreadsheet with collaborators - with typed safety instead of raw API calls.
Do not use it without a Google Cloud project that has both the Sheets API and Drive API enabled, plus either OAuth2 Client ID or Service Account credentials configured - none of the tools work without one of these auth paths. It also requires Bun v1.0+ as the runtime.
Inputs and outputs
Tools take spreadsheet/sheet identifiers, A1-format ranges, and 2D arrays of cell values for reads/writes, or indices for row/column insertion. Outputs are spreadsheet metadata (title, sheet IDs, grid properties), cell value arrays, or confirmation of create/update/share/copy operations.
Capabilities
create/listSpreadsheets/spreadsheetInfo: create a spreadsheet, list spreadsheets in a Drive folder, get spreadsheet metadatalistSheets/createSheet/renameSheet/copySheet: manage sheet tabs within a spreadsheetsheetData/updateCells/batchUpdate: read cell values and write single or batched range updatesaddRows/addColumns: insert rows or columns at a given indexshareSpreadsheet: share with users at viewer/commenter/editor level and send notifications
How to install
git clone https://github.com/yourusername/mcp-google-sheets.git
cd mcp-google-sheets
bun install
Requires a Google Cloud project with Sheets API and Drive API enabled. Set EMAIL_ID (required), and either CREDENTIALS_CONFIG (base64-encoded Service Account JSON) or OAuth2 credentials.json/token.json; optionally set DRIVE_FOLDER_ID to control where new spreadsheets are saved. The server uses StdioServerTransport for Claude integration; on first OAuth2 run you'll visit a URL and enter an authorization code.
Who it's for
Developers and analysts who want an AI agent to safely automate Google Sheets creation, data entry, and sharing.
Source README
TypeScript MCP server that enables AI agents to safely interact with Google Sheets through typed tools, supporting authentication via both OAuth2 and Service Account.
Installation
From source
git clone https://github.com/yourusername/mcp-google-sheets.git
cd mcp-google-sheets
bun install
Available Tools
| Tool | Description |
|---|---|
create |
Creates a new spreadsheet (and moves it to your Drive folder if configured) |
listSheets |
Lists all sheet tabs in the given spreadsheet |
renameSheet |
Renames an existing sheet tab |
createSheet |
Adds a new sheet tab to the spreadsheet |
spreadsheetInfo |
Gets metadata (title, sheet IDs, grid properties) for a spreadsheet |
listSpreadsheets |
Lists all spreadsheets in the configured Drive folder (or "My Drive") |
shareSpreadsheet |
Shares the spreadsheet with users (viewer/commenter/editor) and sends notifications |
sheetData |
Reads cell values from a sheet and range (or entire sheet) |
updateCells |
Writes a 2D array of values to an A1 format range |
batchUpdate |
Applies multiple range updates in a single request |
addRows |
Inserts rows at the specified index |
addColumns |
Inserts columns at the specified index |
copySheet |
Copies a sheet tab between spreadsheets (with optional renaming) |
Features
- Service Account authentication using base64-encoded CREDENTIALS_CONFIG
- OAuth2 authentication via credentials.json + token.json for user-scoped access
- Create, read, update, and manage Google Sheets and spreadsheets
- Share spreadsheets with various permission levels
- Batch operations for efficient data updates
- Google Drive integration for file organization
Environment Variables
Required
EMAIL_ID- Google email address you'll use to access the spreadsheet
Optional
CREDENTIALS_CONFIG- Service account JSON key in base64 encodingDRIVE_FOLDER_ID- Drive folder ID for saving new spreadsheets
Resources
Notes
Requires Bun v1.0+, a Google Cloud project with Sheets API and Drive API enabled, and OAuth2 Client ID or Service Account credentials. Uses StdioServerTransport for Claude integration. On first OAuth2 run, you'll need to visit a URL and enter the authorization code.
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.