freema/mcp-gsheets
MCP Developer ToolsA Model Context Protocol (MCP) server that provides full Google Sheets API integration for MCP clients, enabling read/write and advanced spreadsheet operations.
Features
- Complete Google Sheets integration – read, write, manage spreadsheets
- Advanced batch operations, formatting, charts, conditional formatting
- Flexible authentication (file‑based JSON key or inline JSON string)
- Production‑ready TypeScript implementation with full test coverage
Recent releases
View all 20 releases →- Publishes the tool to MCP Registry on each release
Full changelog
What's Changed
- feat: publish to MCP Registry on release (v1.8.1) by @freema in https://github.com/freema/mcp-gsheets/pull/127
Full Changelog: https://github.com/freema/mcp-gsheets/compare/1.8.0...v1.8.1
- Removed the unused `mode` parameter from the `sheets_compare_ranges` schema.
- Simplified axis title assignment in `create-chart` (no operational impact).
- Added `sheets_get_border_map` to produce a compact 2D border line map.
- Added `sheets_compare_ranges` for position‑by‑position formatting diff between equal‑sized ranges.
- Added `sheets_delete_columns` and `sheets_delete_rows` for deleting full columns or rows via A1 range syntax.
Full changelog
Highlights
Two major community contributions plus a locale fix.
✨ New tools
Formatting analysis (by @marcin-uliasz in #125)
sheets_get_border_map— compact 2D map of horizontal/vertical border lines. Resolves the "right border of N vs left border of N+1" ambiguity that makes per-cell border JSON hard to reason about.sheets_compare_ranges— position-by-position formatting diff between two equally-sized ranges. Great for verifying repeated patterns ("do rows 6–85 all match the template?").
Structural editing (by @master-nevi in #126)
sheets_delete_columns— delete columns via full-column A1 range (e.g.Sheet1!B:D).sheets_delete_rows— delete rows via full-row A1 range (e.g.Sheet1!2:4).
🌍 Locale fix
Conditional formatting formulas are now normalized to English locale by default (semicolons → commas), which fixes a real pain point for non-English Sheets users (notably Polish). Original formulas are preserved under _formulaLocaleRaw and normalization can be disabled with normalizeFormulas: false.
New options:
normalizeFormulasonsheets_get_conditional_formattingandsheets_get_full_sheet_snapshot(default:true)includeConditionalFormattingonsheets_get_full_sheet_snapshot(default:true)
🧪 Test coverage
Big coverage bump: google-auth, validation-helpers, response-helpers, formula-locale, json-parser, error-messages, plus edge cases across existing tools. 485/485 passing.
🧹 Cleanup
- Removed unused
modeparameter fromsheets_compare_rangesschema (was documented but never read). - Simplified axis title assignment in
create-chart.
🙏 Thanks
- @marcin-uliasz — border-map + compare-ranges + locale fix + massive test coverage
- @master-nevi — delete-columns + delete-rows
Full changelog: https://github.com/freema/mcp-gsheets/blob/main/CHANGELOG.md
- New sheet read tools added
- ESLint refactor applied
- Schema fixes implemented
Full changelog
What's Changed
- fix: only load dotenv in explicit development mode by @translunar in https://github.com/freema/mcp-gsheets/pull/121
- change: new sheet read tools, ESLint refactor, and schema fixes by @marcin-uliasz in https://github.com/freema/mcp-gsheets/pull/124
New Contributors
- @translunar made their first contribution in https://github.com/freema/mcp-gsheets/pull/121
- @marcin-uliasz made their first contribution in https://github.com/freema/mcp-gsheets/pull/124
Full Changelog: https://github.com/freema/mcp-gsheets/compare/1.6.0...1.7.0
- Added Claude Code plugin
- Improved Google Sheets API resource handling
Full changelog
What's Changed
- feat: Add Claude Code plugin by @freema in https://github.com/freema/mcp-gsheets/pull/114
- Bump version to 1.6.0 and add resource handling for Google Sheets API by @freema in https://github.com/freema/mcp-gsheets/pull/108
Full Changelog: https://github.com/freema/mcp-gsheets/compare/1.5.4...1.6.0
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.