gsheets-pro
Provides tools for interacting with Google Sheets, enabling reading and writing values, formatting cells, managing native tables, validations, conditional formatting, and spreadsheet structure operations.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@gsheets-proCreate a formatted roster sheet with a table and frozen header, then check it."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
gsheets-pro
Pre-release, v0.1 not tagged yet. The server, the skill, and the tests below are real and live tested; nothing has been published to npm, the MCP registry, or a plugin marketplace.
Google Sheets for an agent that can already think. Thirteen tools build spreadsheets a colleague would recognize as their own, check the work through the API rather than by guessing, render a tab so the agent can look at what it built, and refuse to wreck a sheet other people edit.

That sheet is real and public: open the demo spreadsheet (view only, every name invented). It was built by scripts/demo/build-golden.mjs using only the plugin's own tools, and the image is a browser screenshot of it.
What it does
Every serious Sheets MCP server stops at values: the most-starred community server, Anthropic's own connector, and Google's official Sheets MCP all read and write cells well and format nothing. This one starts where they stop.
Formatting and native Tables, as first-class tools
Themes, banding, typed Table columns, header notes, named ranges, and a
Settings block for inputs, all addressed by sheet name and A1 range rather
than raw ids and grid coordinates. A dropdown a person colored by hand in
the Sheets interface is never rewritten, because the API cannot read those
colors back to save them first. sheets_validation refuses, every time,
until someone passes force:
code ui_owned
message Column D already carries a validation rule this plugin did not
create.
hint Rewriting it would discard the chip colors somebody set in the
Sheets interface. That is measured, not a precaution: an
identical rewrite wiped them in testing. Leave the rule alone,
or pass force if losing the colors is acceptable.A verify loop
Every write ends with a read of what it touched, straight from the API.
sheets_check lints the whole sheet against seven rules (formula errors,
merges inside data, a missing frozen header, writes outside your columns,
and more) and returns a recalculation-shaped report:
status success
total_formulas 41
total_errors 0
error_summary {}sheets_render turns a tab into a PNG so the agent can look at what it
built, once, before it says done. It never returns image bytes over MCP: a
local file path, or a short-lived signed URL when the server is hosted.
Coexistence with humans
A registry in your own repository names the spreadsheets other people depend on and what is load bearing about them. A hook checks it before every call: it asks on a laptop, and in an unattended run it denies with the reason, because an unanswered prompt just stalls a scheduled run.
code contract_violation
message sort is refused on "Private Lessons": the registry marks its
rows as positional.
hint Rows here are referred to by position somewhere else, so
sorting, inserting, deleting, or moving them would silently
invalidate that. Change the values in place instead.Related MCP server: Google Sheet MCP Server
Install
Three environments, three different answers, because a stdio server cannot run in a Claude Code cloud session at all.
Laptop, stdio. The skill, hooks, and presets, plus the bundled server. Then run the setup skill for the OAuth walkthrough.
claude plugin marketplace add jordfan/gsheets-pro
claude plugin install gsheets-pro@gsheets-pro gsheets-pro-local@gsheets-proA repository whose runs happen in the cloud, vendored. Cloud sessions load a repository's own skills and hooks but not a plugin declared in its settings, so this copies the guide in and merges the hook entries. Commit the result; a scheduled run gets a fresh clone.
npx gsheets-pro vendor .A server your team shares, HTTP. Stateless HTTP behind a bearer token,
with a Dockerfile and a hosting guide in the repo. Point a cloud session's
.mcp.json at it.
GSHEETS_PRO_TOKEN=... npx gsheets-pro serve --httpSetup
Start with npx gsheets-pro doctor. It reports what it finds: whether a
token exists, which scopes it carries, how the consent screen is
configured, and whether rendering's dependency is installed. The
/gsheets-pro:setup skill is the full walkthrough for both auth paths.
Path A, your own Google Cloud OAuth client, is the supported default and
takes about 25 minutes the first time, most of it in the Cloud Console.
Click Publish app during setup. Skip it and the consent screen stays in
Testing, where every refresh token it issues expires after seven days:
everything works for a week and then breaks with no obvious cause. Path B,
gcloud auth application-default login with the right scopes, needs no
OAuth client at all if you already have the gcloud CLI installed.
docs/hosting.md covers running the server for a team. docs/cloud.md
covers what is different about a Claude Code cloud session or a scheduled
routine: which parts load, which do not, and why the guard denies rather
than asks when nobody is watching.
The tools
Tool | What it does |
| First call every session: tabs, Tables, named ranges, protections, the detected preset, the contract, and any drift. Also creates a new spreadsheet from a preset. |
| Values, formulas, or both, with format, notes, and validation; paginates; finds across tabs and filters with |
| The only value mutation: range, append, upsert, fill, log, and a batch |
| Creates, adopts, updates, or deletes a native Table: typed columns, header notes, and preset header and band colors. |
| A Settings and Assumptions block with auto named ranges, an input role, and warning-only protection. |
| One style object on one range, or the whole spreadsheet theme: borders, widths, banding, merge, sheet properties. |
| Dropdown, checkbox, date, number, text, and custom rules. Refuses to rewrite a rule it did not create. |
| Lists, adds, updates, or deletes conditional format rules, addressed by fingerprint so they survive reordering. |
| Tabs and dimensions: add, rename, move, hide, delete, sort, find and replace, dedupe, trim, group, protect. Destructive actions need confirmation. |
| The Drive side: list, search, share, and copy spreadsheets. |
| The escape hatch to every |
| The lint: a recalculation-shaped report plus severity-tagged findings that each name the call that fixes them. |
| One tab or range to a PNG: a local file path, or a short-lived signed URL when hosted. Never image bytes. |
Limits
Stated plainly, because the agent will find out anyway. The full list,
with the evidence behind each one, is docs/LIMITATIONS.md.
Named functions and Apps Script are out of reach of the Sheets API entirely.
Dropdown chip colors cannot be set or read through the API in either direction.
A render never draws a dropdown as a pill; the lint is the authority on validation state, not a picture.
Setup needs your own Google Cloud OAuth client and about 25 minutes the first time.
No elicitation: every confirmation is an argument or a permission decision, never an interactive prompt from the server.
A one-call declarative workbook builder and a formula pretty-printer are on the v1.1 roadmap, not in this release.
How it was built
906 offline tests (vitest) run in about a second and need no credentials, covering every tool, every lint rule, and both transports. A separate live suite, 45 cases, runs against a disposable spreadsheet and skips itself without one.
Six behaviors of the live Google Sheets API and the Claude Code cloud
environment were tested before the design was fixed, not assumed:
whether the render export tells the truth about formatting, what actually
happens in a cloud session and a scheduled routine, whether native Tables
are safe to build on, whether rewriting a dropdown preserves colors a
person set by hand, whether developer metadata survives a copy, and
whether stateless HTTP holds up under concurrent traffic with no
handshake. Two of the six caught a silent-data-loss behavior a naive
implementation would have shipped. The full verdicts, with the scripts
that produced them, are in docs/spikes.md; the cloud-session findings
are in docs/cloud.md.
Contributing
CONTRIBUTING.md covers running the offline and live test suites, the
live-suite pacing rule, and the docs-must-match-reality rule this project
holds itself to. Bug reports and feature requests have templates under
.github/ISSUE_TEMPLATE/. This project follows the Contributor Covenant,
in CODE_OF_CONDUCT.md. Report a security issue per SECURITY.md rather
than in a public issue.
License
MIT. See LICENSE. NOTICE credits
mcp-google-sheets (MIT, Xing
Wu) for the value-tool patterns sheets_open, sheets_read, and
sheets_write follow; no code from that project was copied.
Not affiliated with the GSheetsPro coaching product.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Connect AI assistants to Google Sheets through controlled tools for reading and updating rows.
Structured financial modeling for AI agents: build, version, audit models, export to Excel.
Deterministic signed verification of numeric & financial claims for AI agents & spreadsheets.
AI workspace for you, your team, and every agent. Tables, docs (images, 4K video), formulas.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to interact with Google Sheets through 25 tools and 407 actions, supporting spreadsheet creation, data manipulation, advanced analytics, and enterprise features like safety rails and rate limiting.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to read, write, and manage Google Sheets using the Google Sheets API v4.MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to read, write, and format Google Sheets using the Google Sheets API v4.1-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to read, write, and manage Google Sheets through 34 tools across optional toolsets, including formatting, charts, and pivot tables, with OAuth/service-account auth and token-efficient responses.9921MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jordfan/gsheets-pro'
If you have feedback or need assistance with the MCP directory API, please join our Discord server