Skip to content

freema/mcp-gsheets

MCP Developer Tools

MCP server for Google Sheets API integration with comprehensive reading, writing, formatting, and sheet management capabilities.

TypeScript Latest v1.8.1 · 1mo ago Security brief →

Features

  • Complete Google Sheets integration (read/write/manage)
  • Advanced batch operations, formatting, charts, conditional formatting
  • Flexible authentication via file-based or JSON string credentials

Recent releases

View all 19 releases →
v1.8.1 New feature
Notable features
  • 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

1.8.0 Breaking risk
⚠ Upgrade required
  • Removed the unused `mode` parameter from the `sheets_compare_ranges` schema.
  • Simplified axis title assignment in `create-chart` (no operational impact).
Notable features
  • 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:

  • normalizeFormulas on sheets_get_conditional_formatting and sheets_get_full_sheet_snapshot (default: true)
  • includeConditionalFormatting on sheets_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 mode parameter from sheets_compare_ranges schema (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

1.7.0 Bug fix
Notable features
  • 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

1.6.0 New feature
Notable features
  • 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

1.5.3 New feature
Notable features
  • Private key authentication method added
Full changelog

What's Changed

  • Add private key authentication method by @freema in https://github.com/freema/mcp-gsheets/pull/103
  • chore: bump version to 1.5.3 by @freema in https://github.com/freema/mcp-gsheets/pull/104

Full Changelog: https://github.com/freema/mcp-gsheets/compare/1.5.2...1.5.3

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.

About

Stars
69
Forks
19
Languages
TypeScript JavaScript Dockerfile
Downloads/week
2,221 ↑23%
NPM Maintainers
1
Contributors
8
TypeScript
Types included ✓

Install & Platforms

Install via
npm

Beta — feedback welcome: [email protected]