Google Spreadsheet MCP
About
Full Google Sheets integration - read, write, format cells, create charts, use formulas, and manage spreadsheets.
Details
- Author
- dudegladiator
- Categories
- Productivity, Other
Jump to
Setup
Install Google Spreadsheet MCP in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/dudegladiator/spreadsheet-mcp
Follow the installation instructions in the repository README, then restart your MCP client.
A Model Context Protocol (MCP) server providing full Google Sheets functionality. Read, write, format cells, create charts, use formulas, and manage spreadsheets directly from Claude, Cursor, or any MCP-compatible client.
I created this MCP server for my college assignments, where I frequently work with data in Google Sheets — mostly financial sheets. Tasks like creating charts, writing formulas, formatting tables, and organizing data were repetitive and time-consuming. With this tool, I can automate all of that and focus on what actually matters — logical thinking and analysis — instead of doing the same manual work over and over again. :)
- Create Project: Go toGoogle Cloud Console→ New Project
- Enable APIs:
- Enable Sheets API
- Enable Drive API
- Go to APIs & Services → Credentials → Create Credentials → Service Account
- Download JSON key → Save ascredentials/service-account.json
- macOS:~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:%APPDATA%\Claude\claude_desktop_config.json
{ "mcpServers": { "google-sheets": { "command": "uv", "args": [ "--directory", "/path/to/spreadsheet-mcp", "run", "spreadsheet-mcp" ] } } }
Add to your project's.mcp.jsonfile:
{ "mcpServers": { "google-sheets": { "command": "uv", "args": [ "--directory", "/path/to/spreadsheet-mcp", "run", "spreadsheet-mcp" ] } } }
Add to Cursor's MCP settings (Settings → MCP → Add Server):
{ "mcpServers": { "google-sheets": { "command": "uv", "args": [ "--directory", "/path/to/spreadsheet-mcp", "run", "spreadsheet-mcp" ] } } }
{ "mcpServers": { "google-sheets": { "command": "uv", "args": [ "--directory", "/path/to/spreadsheet-mcp", "run", "spreadsheet-mcp" ] } } }
For Gemini CLI with MCP support, add to your MCP configuration:
{ "mcpServers": { "google-sheets": { "command": "uv", "args": [ "--directory", "/path/to/spreadsheet-mcp", "run", "spreadsheet-mcp" ] } } }
{ "mcpServers": { "google-sheets": { "command": "npx", "args": [ "-y", "uv", "--directory", "/path/to/spreadsheet-mcp", "run", "spreadsheet-mcp" ] } } }
Note:Replace/path/to/spreadsheet-mcpwith the actual path where you cloned this repository.
User: Create a sales report in spreadsheet abc123 Claude will: 1. get_spreadsheet_info("abc123") - Check existing sheets 2. create_sheet("abc123", "Sales Report") - Create new sheet 3. write_cells("abc123", "Sales Report!A1", '[["Product", "Q1", "Q2", "Q3", "Q4", "Total"]]') 4. write_cells("abc123", "Sales Report!A2", '[["Widget", 100, 150, 200, 180, "=SUM(B2:E2)"]]') 5. format_cells(..., bold=True, background_color="#4285F4") - Format header 6. create_chart(..., "COLUMN", "Quarterly Sales") - Add chart
User: Summarize the data in Sheet1 Claude will: 1. read_cells("abc123", "Sheet1!A1:Z1") - Read headers 2. get_last_row("abc123", "Sheet1", "A") - Find data extent 3. read_cells("abc123", "Sheet1!A1:D100") - Read all data 4. Provide summary and insights
User: Make the spreadsheet look professional Claude will: 1. format_cells(..., bold=True, background_color="#1a73e8", font_color="#FFFFFF") - Header 2. set_column_width(..., 150) - Adjust widths 3. format_cells(..., alignment="CENTER") - Center data
- Rows: 0-based in formatting (Row 1 = index 0)
- Columns: 0-based (A=0, B=1, C=2, D=3...)
- sheet_id: Numeric ID fromlist_sheetsorget_spreadsheet_info
=SUM(A1:A10) Sum values =AVERAGE(B:B) Average entire column =COUNT(A:A) Count numbers =COUNTA(A:A) Count non-empty cells =MAX(A1:A100) Maximum value =MIN(A1:A100) Minimum value =VLOOKUP(A1,B:C,2,0) Lookup value =IF(A1>100,"High","Low") Conditional =CONCATENATE(A1," ",B1) Join text =TODAY() Current date =NOW() Current date/time
spreadsheet-mcp/ ├── pyproject.toml ├── README.md ├── credentials/ │ └── service-account.json (your key, gitignored) └── src/spreadsheet_mcp/ ├── __init__.py ├── auth.py # Google authentication ├── sheets_client.py # API wrapper (1000+ lines) └── server.py # MCP server (27 tools)
Contributions are welcome! Please feel free to submit a Pull Request.
Integrate with Google Sheets to read, write, and manage spreadsheet data.
Interact with Google Sheets using a Python-based MCP server and Google Apps Script.
Parses invoice data, uploads it to Google Sheets, and answers queries by fetching information from the sheet.
A data firewall between AI and your Google Sheets - Integrate with Google Sheets to read, write, and manage spreadsheet data.
A specialized Google Sheets integration server that allows the LLM to read, write, and manage spreadsheet data in real-time. This server supports cell-level manipulation, bulk range updates, and full worksheet retrieval, enabling the model to perform data analysis, logging, and automated reporting directly within Google Worksheets.If you have functions which take range value then first read the sheet and decide where user is asking to add data and define range by your own.Provides 46 tools for Gsheet
Google Sheets - BlackHawkMCP without needing Microsoft Excel, featuring an integrated AI assistant.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




