Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"google-sheets": {
"command": "mcp-google-sheets-full"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
The Google Sheets MCP server that can do anything the Sheets API can.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y 'mcp-google-sheets-full' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked mcp-google-sheets-full against OSV.dev.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in productivity
Dynamic problem-solving through sequential thought chains
Persistent memory using a knowledge graph
mini cli search engine for your docs, knowledge bases, meeting notes, whatever. Tracking current sota approaches while being all local
Local-first AI memory with knowledge graphs and hybrid search. 17+ AI tools via MCP. Free.
MCP Security Weekly
Get CVE alerts and security updates for io.github.moooonad/mcp-google-sheets-full and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
The Google Sheets MCP server that can do anything the Sheets API can.
26 tools spanning read/write, structural batchUpdate, Drive search, and an escape hatch (run_sheets_script) that executes arbitrary Node.js code with sheets / drive / auth / spreadsheetId pre-injected. Two auth modes: OAuth (default, your own Google account, zero per-sheet setup) or service account (opt-in, for headless / CI).
Most Google Sheets MCP servers expose a curated set of operations and stop there. If you need something they didn't anticipate (a particular conditional-format request, a multi-step migration, a Drive-side operation, an analysis-then-write workflow), you're stuck.
This server adds the missing primitive: run_sheets_script. Pass a snippet of Node code, get back the result. The Sheets v4 and Drive v3 clients are already authenticated and in scope. The temp file is always cleaned up.
mcp-google-sheets-full | freema/mcp-gsheets | xing5/mcp-google-sheets | ringo380/claude-google-sheets-mcp | |
|---|---|---|---|---|
| Read / write / append / clear | ✅ | ✅ | ✅ | ✅ |
Structural batchUpdate (raw) | ✅ | partial | ❌ | ❌ |
| Granular tabs / rows / format / borders | ✅ | ✅ | partial | ❌ |
Drive search (list / search_spreadsheets) | ✅ | ❌ | partial | ❌ |
Arbitrary code execution (run_sheets_script) | ✅ | ❌ | ❌ | ❌ |
| Auth modes | ✅ OAuth default + service account opt-in | service-account-first | both | both |
| Language | TypeScript / Node | TypeScript / Node | Python | Python |
spreadsheetId is always an explicit parameter of every tool — there is no hidden default.
run_sheets_script executes Node code on the machine where the MCP server runs, under your user account, against your OAuth token. The trust boundary is the same as any tool that lets Claude run code on your behalf (Bash, Edit, Write):
tmpdir, or the network in ways the host node process can't.os.tmpdir(), executed via node, deleted on completion (success or failure).~/.mcp-google-sheets/.If you're not comfortable with code execution, simply don't call run_sheets_script — the other 25 tools cover the common cases without it.
If you're an AI agent (Claude Code, Cursor, etc.) installing or operating this server for a user, read AGENTS.md. It contains the canonical step-by-step setup flow, tool selection guide, common failure modes, and the trust/security expectations.
npm install -g mcp-google-sheets-full
This places an mcp-google-sheets-full executable on your PATH. To update: re-run the same command. To remove: npm uninstall -g mcp-google-sheets-full.
For development: clone the repo and run npm install && npm run build.
Two ways to authenticate the server. Pick exactly one depending on how you will use it.
| OAuth (default) | Service account | |
|---|---|---|
| Best for | Claude Desktop / Code / Cursor on your laptop | CI, cron, serverless, headless automation |
| Setup effort | 1 file in ~/.mcp-google-sheets/ | 1 file anywhere + 1 env var |
| Acts as | You (your Google account) | A bot identity |
| Sees | Every sheet you can see | Only sheets explicitly shared with the bot email |
| Requires a browser? | Yes (once, on first call) | Never |
| Token refresh | Automatic | N/A |
Selection is automatic: if the env var GOOGLE_APPLICATION_CREDENTIALS is set, the server uses service account mode; otherwise it uses OAuth mode.