A

Google Sheets MCP

MCP server for Google Sheets - read, write, and query spreadsheet data

Overall Score90/100

Score Breakdown

Server Info

Package
google-sheets-mcp
Registry
npm
Maintainer
Community
Category
Document Management
Tags
spreadsheetgoogledata
Last Scanned
7 Apr 2026

Findings

4 issues

Authentication & Identity

LOWImplements MCP OAuth spec for per-user authentication

Supports both stdio (with GOOGLE_ACCESS_TOKEN env var) and HTTP transport with full MCP OAuth spec implementation. HTTP mode exposes .well-known/oauth-authorization-server and .well-known/oauth-protected-resource endpoints, proxying through to Google OAuth. Uses StreamableHTTPServerTransport. Validates bearer tokens before processing requests.

Remediation

Document the required OAuth scopes for each tool.

Tool Schema Quality

CRITICALDangerous execution surface: batch_update accepts arbitrary request objects via z.array(z.record(z.unknown())) allowing any Sheets API operation including destructive ones

Tool allows raw code/query execution which could be exploited via prompt injection.

Remediation

Use parameterized queries or validated command sets.

Maintenance & Trust

LOWCommunity-maintained by Adam Jones (domdomegg)

No official vendor backing.

Remediation

Seek vendor verification.

MEDIUM9 dependency vulnerabilities (6 high)

npm audit found 6 high severity CVEs.

Remediation

Update vulnerable dependencies.

Tools

12 total
NameDescriptionRisk
spreadsheet_getGet spreadsheet metadata including title, sheets list, and optionally cell dataread
spreadsheet_createCreate a new Google Sheets spreadsheetwrite
values_getRead cell values from a spreadsheet rangeread
values_batch_getRead cell values from multiple ranges in a single requestread
values_updateWrite cell values to a spreadsheet range (overwrites existing data)write
values_batch_updateWrite cell values to multiple ranges in a single requestwrite
values_appendAppend rows of data after the last row with data in a rangewrite
values_clearClear cell values from a range (keeps formatting)write
sheets_listList all sheets (tabs) in a spreadsheet with their propertiesread
sheet_addAdd a new sheet (tab) to a spreadsheetwrite
sheet_deleteDelete a sheet (tab) from a spreadsheetadmin
batch_updateExecute multiple spreadsheet operations in a single request. Use for advanced operations like formatting, merging cells, creating filters, conditional formatting, sorting, etc.write

Deploy Google Sheets MCP securely

CompleteFlow adds per-user authentication, permission scoping, and audit logging to any MCP server out of the box.

Deploy on CompleteFlow