Google Sheets
Allow AI systems to read, write, and query spreadsheet data via Google Sheets.
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
google-sheets-mcpclaude mcp add google-sheets -e 'GOOGLE_ACCESS_TOKEN=<your google_access_token>' -- npx -y google-sheets-mcp@1.2.1
{
"mcpServers": {
"google-sheets": {
"command": "npx",
"args": [
"-y",
"google-sheets-mcp@1.2.1"
],
"env": {
"GOOGLE_ACCESS_TOKEN": "<your google_access_token>"
}
}
}
}
Variables d'environnement
GOOGLE_ACCESS_TOKENobligatoire secret Google OAuth access token with Sheets scopes.
google-sheets-mcpclaude mcp add google-sheets -e 'MCP_TRANSPORT=<MCP_TRANSPORT>' -e 'GOOGLE_CLIENT_ID=<GOOGLE_CLIENT_ID>' -e 'GOOGLE_CLIENT_SECRET=<your google_client_secret>' -- npx -y google-sheets-mcp@1.2.1
{
"mcpServers": {
"google-sheets": {
"command": "npx",
"args": [
"-y",
"google-sheets-mcp@1.2.1"
],
"env": {
"MCP_TRANSPORT": "<MCP_TRANSPORT>",
"GOOGLE_CLIENT_ID": "<GOOGLE_CLIENT_ID>",
"GOOGLE_CLIENT_SECRET": "<your google_client_secret>"
}
}
}
}
Variables d'environnement
MCP_TRANSPORTobligatoire Transport type.GOOGLE_CLIENT_IDobligatoire Google OAuth client ID.GOOGLE_CLIENT_SECRETobligatoire secret Google OAuth client secret.
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
Sommaire
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.
Questions fréquentes
Qu'est-ce que Google Sheets ?
Allow AI systems to read, write, and query spreadsheet data via Google Sheets.
Comment installer Google Sheets ?
Il s'exécute sur votre machine. Dans Claude Code : claude mcp add google-sheets -e 'GOOGLE_ACCESS_TOKEN=<your google_access_token>' -- npx -y google-sheets-mcp@1.2.1. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour Google Sheets ?
Oui. Il attend GOOGLE_ACCESS_TOKEN, MCP_TRANSPORT, GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, à renseigner dans sa configuration.
Google Sheets est-il open source ?
Son code est public sur GitHub, mais le dépôt ne déclare pas de licence standard.
Qui maintient Google Sheets ?
Il est publié par domdomegg. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.