Documentation

MCP for Google Sheets, hosted and ready

SheetsGate delivers Streamable HTTP MCP with a full Sheets and Drive tool catalog. You authorize Google once; every assistant you plug in reuses that connection — no per-project OAuth, no servers to run.

Overview

Model Context Protocol (MCP) lets clients list tools and call them over HTTP. SheetsGate operates the server: you paste your dashboard URL and token into each assistant, link Google once, and every invocation respects your plan, token mode, and optional file scoping.

Transport
Streamable HTTP — same pattern as Claude Desktop and Cursor remote MCP. Legacy SSE may exist for older clients; prefer the /mcp endpoint.
Authorization model
The token in the URL authenticates your SheetsGate MCP session. Each Google API call runs only for an explicit tool invocation from your assistant, using the encrypted refresh token for the linked account. There is no background Drive indexing or broad account access — only the payloads those tools define.
Plans & quotas
Each plan defines monthly tool-call budgets, which tools are enabled, and per-token rate limits. The server_info tool reflects your live quota.
Where it runs
Public base URL https://mcp.sheetsgate.com (from NEXT_PUBLIC_MCP_URL). Your dashboard snippet is always aligned with this host.

Quick start

  1. Sign up and connect Google in the dashboard. Your assistants receive Sheets and Drive tools scoped exactly to the OAuth permissions you grant.
  2. Open MCP Tokens in the dashboard and create a token. Copy the secret once — it is only shown at creation.
  3. Replace the placeholder YOUR_TOKEN in the URL below with your real token string.
  4. Add the MCP server in your IDE or assistant using the JSON in the sections below. Restart once if the client caches MCP configuration.
Treat tokens like passwords. Anyone with the token can trigger the same MCP tools tied to your linked Google account until you revoke it. Do not commit tokens to git, screenshots, or shared docs.

Endpoint URL

Every tool call uses the same pattern: your token sits in the path, followed by /mcp.

https://mcp.sheetsgate.com/v1/YOUR_SECRET_TOKEN/mcp

Use the exact URL from your dashboard when copying configuration — it always matches your environment.

Example MCP config

Key name sheetsgate is only a label for your client; you can rename it if the app allows.

mcp.json
{
  "mcpServers": {
    "sheetsgate": {
      "url": "https://mcp.sheetsgate.com/v1/YOUR_TOKEN/mcp",
      "transport": "streamable-http"
    }
  }
}

Cursor & VS Code

Cursor

  • Open Settings → MCP (or your project's .cursor/mcp.json).
  • Add a server entry with "url" pointing at your full …/v1/<token>/mcp URL and "transport": "streamable-http".
  • Save, then reload the MCP panel or restart Cursor so tools appear in the composer.

VS Code

If you use an MCP-capable extension or built-in agent support that accepts remote HTTP MCP servers, use the same url + streamable-http shape as in the snippet above. Field names can vary by extension — match its documented JSON shape but keep our URL unchanged.

Claude Desktop

Claude Desktop reads global MCP settings from a JSON file. Merge the mcpServers entry with any servers you already use.

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "sheetsgate": {
      "url": "https://mcp.sheetsgate.com/v1/YOUR_TOKEN/mcp",
      "transport": "streamable-http"
    }
  }
}

Fully quit and reopen Claude Desktop after editing the file.

ChatGPT, automation, and other stacks

ChatGPT and browser assistants: use the same hosted URL wherever the product exposes remote MCP over HTTP. SheetsGate is a Streamable HTTP endpoint; clients limited to local stdio MCP need their own bridge — standard for that architecture, not a gap in the MCP surface we expose.

n8n, LangChain, custom agents: if the stack implements MCP Streamable HTTP (or the same JSON-RPC sequence an MCP client uses), point it at https://mcp.sheetsgate.com/v1/<token>/mcpand follow the vendor's connector guide. One URL for every integration.

Call from code

The MCP endpoint speaks JSON-RPC 2.0 over HTTP POST. Authenticate the same way as AI clients: put your secret token in the URL path, /v1/YOUR_TOKEN/mcp, then send only Content-Type: application/json and the JSON-RPC body. Treat the full URL like a password — avoid logging it or committing it to source control.

Request shape

  • method: always "tools/call"
  • params.name: tool name (see the tool table below)
  • params.arguments: tool-specific arguments

The response is standard JSON-RPC — result lives at result.content[0].text (parsed JSON).

curl -X POST https://mcp.sheetsgate.com/v1/YOUR_TOKEN/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "sheets_read",
      "arguments": {
        "spreadsheetId": "YOUR_SPREADSHEET_ID",
        "range": "Sheet1!A1:D10"
      }
    }
  }'

All available tools and their arguments are listed in the tool reference section below.

How tools behave

Discovery & execution

After your client connects, it lists tools from the server. Each request maps to one MCP tool your assistant invoked; SheetsGateexecutes it against Google's APIs with your linked account. Reads and writes are confined to the ranges and options in the tool arguments — deterministic contracts, no silent scope expansion.

Plan gates & token modes

  • Tool allowlists come from your subscription. If a tool is not on your plan, the server rejects the call with an upgrade-oriented message.
  • Read-only tokens only expose read/search tools (reads, metadata, Drive list, find). Mutating tools return a permission error.
  • Optional per-token tool picks (on supported plans) can further narrow which names succeed even if your plan normally includes more.

Spreadsheet IDs & validation

Tools expect valid Google spreadsheet or file IDs. Passing malformed IDs fails fast before any request is sent to Google. If you connect optional per-file allowlists on your token, requests outside that set are denied — useful when you want an assistant to touch only one workbook. On supported plans you can also set per-column read/write rules for that single allowed spreadsheet: enforcement applies on the MCP tool path only (the same defense-in-depth caveat as file allowlists — direct Google OAuth access is unchanged).

Latency, timeouts, and errors

  • Individual tool work is bounded by a server-side timeout (on the order of one minute for heavy operations).
  • User-facing error text is intentionally generic; sensitive details stay in server logs. Domain-safe messages like “spreadsheet not found” may pass through when useful.
  • Large JSON-RPC payloads are capped — prefer batch tools or fewer giant cell arrays per call.

Monthly calls & burst limits

Reference values from the deployed configuration (operations may tune limits in the database):

PlanCalls / month
Free500
Basic1,500
Pro4,000
Team10,000
EnterpriseUnlimited

Call server_info in-session for your exact remaining allowance.

Tool reference

Descriptions below match the live catalog. Argument schemas are exposed by the MCP client when you attach the server; your assistant reads those field names and types the same way it does for any MCP tool.

Session

Introspect the live connection: plan tier, usage against monthly quota, and the tool names available for this token.

  • server_infoGet current plan, usage stats, and available tools for this session

Read & search

Fetch values, metadata, formulas, and Drive listings without mutating data. Prefer batch reads when an agent needs many ranges.

  • sheets_readRead any range of data from a spreadsheet
  • sheets_get_metadataDiscover sheet names, tab count, and dimensions
  • sheets_get_multipleRead several ranges from a spreadsheet in one request
  • sheets_get_formulasExtract the raw formulas from a range of cells
  • sheets_findSearch for values and return matching cell locations
  • drive_listSearch and list spreadsheets in Google Drive
  • drive_get_fileGet metadata for a specific Drive file by ID

Write & structure

Create and change spreadsheets: cells, rows, tabs, names, and coordinated updates. Each write happens when your AI calls the tool, under the Google account you linked.

  • sheets_writeWrite or update cells with new values
  • sheets_appendAdd new rows without overwriting existing data
  • sheets_clearWipe a range clean
  • sheets_createCreate a brand-new spreadsheet on demand
  • sheets_add_sheetAdd a new tab to an existing spreadsheet
  • sheets_insert_rowsInsert blank rows at a specific position
  • sheets_renameRename a spreadsheet or a sheet tab
  • sheets_copy_sheetDuplicate a sheet tab within or across spreadsheets
  • sheets_batch_updateExecute multiple spreadsheet updates atomically
  • sheets_find_replaceFind and replace values across a sheet

Formatting & charts

Visual presentation: typography, fills, borders, charts, conditional rules, and frozen panes.

  • sheets_formatApply bold, italic, colors, and borders to cells
  • sheets_format_batchApply formatting to multiple ranges in one call
  • sheets_chartCreate charts and visualizations from sheet data
  • sheets_conditional_formatConditional colors and text styles by cell value
  • sheets_freezeFreeze header rows or label columns

Formulas & validation

USER_ENTERED formulas and data validation (dropdowns, checkboxes, numeric rules) on ranges.

  • sheets_add_formulasWrite formulas with USER_ENTERED parsing (multiple cells)
  • sheets_data_validationDropdowns, numeric/date rules, checkboxes on a range

Additional tools

These entries are also published when your plan includes them.

  • sheets_delete_rowsDelete rows by 0-based index; rows below shift up
  • sheets_delete_sheetRemove a sheet tab by numeric sheet ID
  • sheets_sortSort a row range by one or more columns

Security hygiene

  • Rotate tokens when someone leaves the team or a client config could have been exposed.
  • Use read-only tokens for experiments — production writes stay behind separate credentials.
  • Narrow tools and file IDs in the dashboard when an automation should touch a single workbook or capability set.
  • Your AI vendor processes prompts and tool payloads under its own policies; classify sensitive data accordingly.

Policies: Privacy · Terms