npm google-sheets-mcpstdioupdated 27d ago
MCP server for Google Sheets - read, write, and query spreadsheet data.
O que dá para fazer com Google Sheets?
google-sheets-mcp
MCP server for Google Sheets - read, write, and query spreadsheet data.
Use Cases
Data questions: "How many open deals are in the pipeline?" or "What's our total Q3 revenue?" → reads the spreadsheet and answers directly.
Quick expense entry: Snap a photo of a receipt → extracts the details and appends a row to your expense tracker.
Cross-tool status sync: "Check all our vendor Slack channels and update the tracking spreadsheet with their latest updates" → reads Slack, updates the sheet.
Data analysis: "Break down the Salesforce figures by region and compare against our events calendar" → pulls data from multiple sources into a spreadsheet for analysis.
(These are just examples - any workflow that needs spreadsheet data can use this. Use in combination with google-drive-mcp for finding files, deleting, comments, and sharing permissions.)
Setup
1. Create Google OAuth credentials
- Go to Google Cloud Console
- Create a new project (or use existing)
- Enable the Google Sheets API
- Go to APIs & Services → OAuth consent screen, set up consent screen
- Go to APIs & Services → Credentials → Create Credentials → OAuth client ID
- Choose Web application
- Add
http://localhost:3000/callbackto Authorized redirect URIs - Note your Client ID and Client Secret
2. Run the server
GOOGLE_CLIENT_ID='your-client-id' \
GOOGLE_CLIENT_SECRET='your-client-secret' \
MCP_TRANSPORT=http \
npm start
The server runs on http://localhost:3000 by default. Change with PORT=3001.
3. Add to your MCP client
With the server running, follow the instructions on install-mcp, which generates the right config for your MCP client (Claude Code, Claude Desktop, Cursor, Cline, VS Code, and more).
Architecture
This server acts as an OAuth proxy to Google:
graph LR
A[MCP client] <--> B[google-sheets-mcp] <--> C[Google OAuth/API]
- Server advertises itself as an OAuth authorization server via
/.well-known/oauth-authorization-server /registerreturns the Google OAuth client credentials/authorizeredirects to Google, encoding the client's callback URL in state/callbackreceives the code from Google and forwards to the client's callback/tokenproxies token requests to Google, injecting client credentials/mcphandles MCP requests, using the bearer token to call Google Sheets API
The server holds no tokens or state - it just proxies OAuth to Google.
Tools
| Tool | Description |
|---|---|
| Spreadsheet | |
sheets_spreadsheet_get |
Get spreadsheet metadata (title, sheets list, optionally cell data) |
sheets_spreadsheet_create |
Create a new spreadsheet |
| Values | |
sheets_values_get |
Read cell values from a range |
sheets_values_batch_get |
Read cell values from multiple ranges |
sheets_values_update |
Write cell values to a range (overwrites) |
sheets_values_batch_update |
Write cell values to multiple ranges |
sheets_values_append |
Append rows after existing data |
sheets_values_clear |
Clear cell values from a range |
| Sheets (tabs) | |
sheets_sheets_list |
List all sheets in a spreadsheet |
sheets_sheet_add |
Add a new sheet (tab) |
sheets_sheet_delete |
Delete a sheet (tab) |
| Advanced | |
sheets_batch_update |
Execute batch operations (formatting, merging, filters, etc.) |
Google Sheets API Scope
spreadsheets- Full read/write access to spreadsheets
Contributing
Pull requests are welcomed on GitHub! To get started:
- Install Git and Node.js
- Clone the repository
- Install dependencies with
npm install - Run
npm run testto run tests - Build with
npm run build
Releases
Versions follow the semantic versioning spec.
To release:
- Use
npm version <major | minor | patch>to bump the version - Run
git push --follow-tagsto push with tags - Wait for GitHub Actions to publish to the NPM registry.
Instalação
Adicione Google Sheets ao seu cliente. Escolha o que você usa.
claude mcp add google-sheets-mcp -- npx -y google-sheets-mcpcodex mcp add google-sheets-mcp -- npx -y google-sheets-mcpamp mcp add google-sheets-mcp -- npx -y google-sheets-mcp{
"mcpServers": {
"google-sheets-mcp": {
"command": "npx",
"args": [
"-y",
"google-sheets-mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"google-sheets-mcp": {
"command": "npx",
"args": [
"-y",
"google-sheets-mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"google-sheets-mcp","command":"npx","args":["-y","google-sheets-mcp"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"google-sheets-mcp": {
"command": "npx",
"args": [
"-y",
"google-sheets-mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"google-sheets-mcp": {
"command": "npx",
"args": [
"-y",
"google-sheets-mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"google-sheets-mcp": {
"command": "npx",
"args": [
"-y",
"google-sheets-mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"google-sheets-mcp": {
"type": "local",
"command": "npx",
"args": [
"-y",
"google-sheets-mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"google-sheets-mcp": {
"command": {
"path": "npx",
"args": [
"-y",
"google-sheets-mcp"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y google-sheets-mcpRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
12 ferramentas
Google Sheets expõe 12 ferramentas a um agente conectado.
- sheets_spreadsheet_get
- Get spreadsheet metadata (title, sheets list, optionally cell data)
- sheets_spreadsheet_create
- Create a new spreadsheet
- sheets_values_get
- Read cell values from a range
- sheets_values_batch_get
- Read cell values from multiple ranges
- sheets_values_update
- Write cell values to a range (overwrites)
- sheets_values_batch_update
- Write cell values to multiple ranges
- sheets_values_append
- Append rows after existing data
- sheets_values_clear
- Clear cell values from a range
- sheets_sheets_list
- List all sheets in a spreadsheet
- sheets_sheet_add
- Add a new sheet (tab)
- sheets_sheet_delete
- Delete a sheet (tab)
- sheets_batch_update
- Execute batch operations (formatting, merging, filters, etc.)
Pontuação
76 / 100
Boa
- Documentação25/25
- Manutenção25/25
- Confiança6/20
- Capacidade8/15
- Instalação12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 20 days ago
- Has a release history
- Repository is not archived
- No licence detected
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 12 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Histórico de versões
| Versões | Publicada |
|---|---|
| 1.2.1Mais recente | 25 de mai. de 2026 |
| 1.2.0 | 7 de mar. de 2026 |
| 1.1.2 | 23 de fev. de 2026 |
| 1.1.1 | 28 de dez. de 2025 |
| 1.1.0 | 28 de dez. de 2025 |
| 1.0.1 | 13 de dez. de 2025 |
| 1.0.0 | 11 de dez. de 2025 |