Google Sheets MCP Server
Designed to run as a Google Cloud Function with support for Cloud Functions deployment and Secret Manager for credential storage.
Exposes Google Sheets as queryable database tables with tools for listing sheets, retrieving column schemas, and fetching rows with pagination support.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Google Sheets MCP Serverlist all sheets in spreadsheet 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Google Sheets MCP Server
An MCP (Model Context Protocol) server that provides tools for interacting with Google Sheets. Designed to run as a Google Cloud Function and proxies requests to the sheets-db-api.
Features
Full CRUD operations for sheets and rows
Treats Google Sheets as a database with sheets as tables
SSE transport for HTTP-based MCP communication
No authentication required (proxies to authenticated sheets-db-api)
Related MCP server: Google Sheets and Drive MCP
Available Tools
Tool | Description | Parameters |
| List all sheets in the spreadsheet |
|
| Create a new sheet |
|
| Delete a sheet |
|
| Get column headers |
|
| Get all rows from a sheet |
|
| Get a specific row by index |
|
| Add a new row |
|
| Update an existing row |
|
| Delete a row |
|
Installation
npm installBuild
npm run buildDeployment
Deploy to Google Cloud Functions:
npm run deployOr manually:
gcloud functions deploy google-sheets-mcp \
--gen2 \
--runtime=nodejs20 \
--trigger-http \
--allow-unauthenticated \
--entry-point=mcpHandler \
--source=.Environment Variables
Variable | Description | Default |
| URL of the sheets-db-api |
|
API Endpoints
Method | Endpoint | Description |
GET |
| Health check |
GET |
| SSE connection for MCP clients |
POST |
| Message endpoint for MCP communication |
Local Development
With stdio transport (for local MCP clients)
MCP_STDIO=true npm run devWith HTTP/SSE transport
npm run devUsage Example
Once deployed, connect your MCP client to the SSE endpoint:
https://YOUR_CLOUD_FUNCTION_URL/sseThen use the tools with your Google Spreadsheet ID:
{
"tool": "list_sheets",
"arguments": {
"spreadsheet_id": "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
}
}Row Indexing
Row 1 contains headers
Data rows start at index 2
When using
get_row,update_row, ordelete_row, use indices >= 2
This server cannot be deployed
Maintenance
Related MCP Connectors
Query your Google Sheets as structured JSON: list sheets and tabs, read schemas, filter rows.
Streamable HTTP MCP server for Google Calendar and Sheets with OAuth login.
Connect AI assistants to Google Sheets through controlled tools for reading and updating rows.
I do everything related to Google Sheets
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables reading and writing Google Sheets using API key or service account, with support for public and authenticated access.-
- AlicenseBqualityBmaintenanceProvides tools for reading, modifying, and analyzing Google Sheets, as well as searching and managing Google Drive spreadsheets with access control.25MIT
- FlicenseNot gradedqualityBmaintenanceMCP server for Google Sheets that exposes tools to read cell ranges, update values, and apply advanced batch updates (borders, colors, data validation, conditional formatting) via HTTP.3 npm-
- AlicenseNot gradedqualityCmaintenanceEnables full CRUD over Google Sheets through a service account, including reading tabs and rows, finding rows by column value, appending, updating, deleting rows, and managing tabs.MIT