# Connect Google Sheets to Claude

Give Claude live access to a Google Sheet by adding a PasteSheet MCP connector. Once connected, Claude can list tabs, read the schema, and answer questions straight from your spreadsheet data.

*Last updated: 2026-07-26 · Source: <https://pastesheet.com/guides/google-sheets-mcp-claude>*

## Key facts

- MCP is an **open protocol** built on JSON-RPC 2.0. A server exposes Resources, Prompts and Tools to any MCP client — Claude, Cursor, ChatGPT, VS Code and Windsurf all speak it. ([source](https://modelcontextprotocol.io/specification/2025-06-18))
- Claude adds an MCP server as a **custom connector** — paste the URL under **Settings → Connectors**, or add it to `claude_desktop_config.json` in Claude Desktop. ([source](https://support.claude.com/en/articles/10065433-installing-and-using-a-mcp-server))
- PasteSheet's MCP server exposes three tools — `list_tabs`, `get_schema` and `query_rows` — and is **read-only by design**: an agent can query your sheet but can never modify it.
- It needs **no Google Cloud project, no OAuth consent screen and no service-account JSON**. You paste a share URL, and MCP is included on the Free plan.

## Can you connect Google Sheets to Claude?

Yes. Claude has no built-in Google Sheets integration, but it can connect to any MCP server. For a link-shared sheet, paste its URL into PasteSheet. For a restricted sheet, connect your Google account, choose the exact file in Google Picker, and PasteSheet creates the MCP endpoint for it. Claude can then query the sheet in plain English.

It works in Claude web, Claude Desktop, and [Claude Code](https://pastesheet.com/guides/google-sheets-mcp-claude-code). Nothing is installed and the connection is [read-only](https://pastesheet.com/guides/read-only-google-sheets-mcp) — Claude can analyze your data but cannot change the spreadsheet.

## Can Claude read Google Sheets on its own?

Not by itself, and this is the part that trips people up. Claude has no native Google Sheets integration the way it has file uploads — asking it to "open this spreadsheet link" gets you a polite refusal or a guess, because the model cannot fetch the URL and read the grid behind it.

What Claude *does* have is **MCP**, an open protocol for attaching external tools. Once a sheet is behind an MCP server, Claude sees it as a set of callable tools rather than a link, and reading it becomes a normal tool call. So the honest answer to "does Claude work with Google Sheets?" is: yes, through a connector — and setting that connector up is a two-minute job, not an integration project.

The alternative most people try first is pasting the data into the chat. That works once, for a small sheet, and then goes stale the moment someone edits a row. A connector reads the *current* sheet every time you ask.

## Add the connector in Claude

Connect a single endpoint to Claude Desktop or Claude web in four steps:

1. In PasteSheet, open your endpoint and find the **Connect via MCP** panel. Copy the MCP URL.
2. In Claude, open **Settings → Connectors → Add custom connector** and paste the URL. (In Claude Desktop you can instead edit `claude_desktop_config.json`.)
3. For a private endpoint, either sign in when Claude prompts you — the server speaks OAuth 2.1, so Claude handles the handshake — or append `?api_key=YOUR_KEY` to the URL.
4. Start a new chat and ask a question about your data — Claude will call the sheet's tools automatically.

## What Claude can do once connected

The connector exposes three read-only tools, and Claude chooses between them on its own:

- `list_tabs` — discover which tabs exist, so you can ask about "the Q3 tab" by name.
- `get_schema` — read column names and inferred types before querying, which is why Claude rarely guesses a wrong column.
- `query_rows` — filter on exact matches, partial (contains) matches, sort, and paginate. On Pro it also runs `count`, `sum`, `avg`, and `group_by`, so aggregate questions are answered by the query rather than by Claude reading every row.

## Claude Desktop config

If you prefer editing the config file directly, add your endpoint under `mcpServers`:

```json
{
  "mcpServers": {
    "pastesheet": {
      "url": "https://pastesheet.com/mcp/sheets/your-endpoint-id"
    }
  }
}
```

## Try it

Ask Claude things like *"What tabs are in this sheet?"*, *"Show me the 10 most recent rows"*, or *"Filter to status = active and sort by date."* Claude reads the schema first, then queries rows through the `query_rows` tool.

Because Claude reads the schema first, it also handles questions that need two steps — *"which region had the highest total revenue last quarter?"* becomes a schema read followed by a grouped query, not a request for you to paste the numbers.

New to MCP? Start with the [Google Sheets MCP overview](https://pastesheet.com/guides/google-sheets-mcp) for how the connection works and what it costs.

## One sheet or your whole workspace

There are two connector URLs, and picking the right one saves setup later. The **per-sheet** server (`/mcp/sheets/your-endpoint-id`) scopes Claude to exactly one endpoint — the right choice when you are sharing a single dataset, or when you want a connector you can hand to someone without exposing anything else.

The **workspace** server (`/mcp`) covers every endpoint on your account behind one connection, so Claude can answer questions that span sheets without you adding a connector per spreadsheet. It authenticates as your account, so it always requires a paid plan.

## If Claude cannot see the connector

Almost every failed setup is one of these:

- **The source is not connected.** A link-shared sheet needs "Anyone with the link" access. A restricted sheet needs a connected Google account and the exact file selected in Google Picker.
- **You pasted the spreadsheet URL, not the MCP URL.** The connector wants the `/mcp/sheets/…` address from the Connect via MCP panel.
- **The endpoint is private and no key was supplied.** Either complete the OAuth prompt or append `?api_key=`.
- **You added it mid-conversation.** Connectors are picked up on a new chat — start a fresh one.
- **Your plan does not cover it.** Public endpoints have MCP on Free; private endpoints and the workspace server need Starter or above.

## Requirements

**MCP is included on the Free plan.** Connect any **public** endpoint over MCP with no Google Cloud project and no credit card. Private endpoints and the account-wide workspace server need a paid plan (from **Starter ($9/mo)**) for the keys and OAuth they authenticate with.

Pro adds full-text search and aggregation (`count`, `sum`, `avg`, `group_by`) that your AI agent can call through `query_rows`.

**Starter — $9/month.** For indie makers shipping a real app.

- Endpoints: 10
- Requests: 50,000 / month
- Rows per endpoint: 5,000
- Tabs per endpoint: 5
- Rate limit: 300 / minute

## Frequently asked questions

### Does this work with Claude web and Claude Desktop?

Yes. Add the MCP URL as a custom connector in Claude web (Settings → Connectors), or add it to claude_desktop_config.json in Claude Desktop.

### How does Claude authenticate to a private endpoint?

Append ?api_key=YOUR_KEY to the MCP URL for Claude web. Public endpoints need no key at all.

### Can Claude edit my spreadsheet?

No. The connector is read-only — Claude can query and analyze rows but cannot change the sheet.

### Can Claude read a restricted Google Sheet?

Yes. Connect your Google account in PasteSheet, choose the exact restricted sheet in Google Picker, then add the resulting MCP endpoint to Claude. PasteSheet only reads the selected sheet and exposes no write tool.

### Does Claude work with Google Sheets?

Yes, through MCP. There is no built-in Google Sheets integration, but Claude supports custom MCP connectors, and a PasteSheet endpoint is one. Setup is pasting a URL into Settings → Connectors.

### Is there an official Claude Google Sheets connector?

Anthropic does not ship one for Sheets. You add a third-party MCP server as a custom connector instead — which is the supported, documented path rather than a workaround.

### Do I need a Google Cloud project or API key?

No. Public sheets need only a share URL. Restricted sheets use PasteSheet's Google connection and Picker flow, so you do not create your own Cloud project, OAuth client, or service account.

### Can Claude query more than one sheet at once?

Yes, with the workspace MCP server at /mcp, which covers every endpoint on your account through a single connector. The per-sheet URL deliberately scopes Claude to one endpoint.

### Does the data stay current if I edit the sheet?

Yes, within your cache TTL. Claude queries the endpoint live rather than working from a snapshot, so edits appear once the cached copy refreshes.

## Sources

- [Installing and using an MCP server](https://support.claude.com/en/articles/10065433-installing-and-using-a-mcp-server) — Anthropic
- [Model Context Protocol specification](https://modelcontextprotocol.io/specification/2025-06-18) — Model Context Protocol

## Related guides

- [Google Sheets MCP Server for Claude & ChatGPT](https://pastesheet.com/guides/google-sheets-mcp) — Turn any public or private Google Sheet into an MCP server so Claude, Cursor, and ChatGPT can read and query it in plain English. No code, no backend.
- [Google Sheets MCP for Claude Code](https://pastesheet.com/guides/google-sheets-mcp-claude-code) — Add a Google Sheet to Claude Code as an MCP server with one command. Query spreadsheet data from your terminal-based agent — no backend and no code to write.
- [Connect Google Sheets to ChatGPT via MCP](https://pastesheet.com/guides/google-sheets-mcp-chatgpt) — Connect a Google Sheet to ChatGPT using PasteSheet's workspace MCP server and OAuth. Let ChatGPT query your spreadsheet data in plain English, no code required.

---

[PasteSheet](https://pastesheet.com) turns any Google Sheet into a live REST API and MCP server for AI agents — no backend, no code. Canonical HTML version of this page: <https://pastesheet.com/guides/google-sheets-mcp-claude>
