Query your Google Sheets as structured JSON: list sheets and tabs, read schemas, filter rows.
One address for any MCP client. You sign in at pastesheet.com once, after adding it.
At most: only reads or looks up information.
Odel charges nothing per call. The publisher may charge for its own service.
| Access to | Read | Change |
|---|---|---|
| Mcp | Not stated: mcp:use | |
From the sign-in at pastesheet.com, as the endpoint publishes it. You approve it there.
Odel could not list its tools without signing in.
A hosted Google Sheets MCP server. Connect any Google Sheet to Claude, ChatGPT, Cursor, or Claude Code — and query it in plain English.
No Google Cloud project. No service account. No server to run. Paste a share URL and you get an MCP endpoint.
Read-only by design. The server can list, inspect, and query your sheet. It cannot modify it. Safe to hand to an agent.
Powered by PasteSheet. Published to the official MCP Registry as com.pastesheet/google-sheets.
claude mcp add --transport http pastesheet https://pastesheet.com/mcp
Settings → Connectors → Add custom connector → paste:
https://pastesheet.com/mcp
You'll be sent through OAuth once, then Claude can query every sheet in your workspace.
~/.cursor/mcp.json — see examples/cursor-mcp.json:
{
"mcpServers": {
"pastesheet": {
"url": "https://pastesheet.com/mcp"
}
}
}
Settings → Connectors → Add custom connector → https://pastesheet.com/mcp, then authorize with OAuth.
| Server | URL | Use it when |
|---|---|---|
| Workspace | https://pastesheet.com/mcp | You want one connector that exposes every sheet in your account. Authenticates with OAuth. Start here. |
| Single sheet | https://pastesheet.com/mcp/sheets/{endpoint-id} | You want to expose exactly one sheet. Public sheets are keyless; private ones take Authorization: Bearer ps_.... |
The workspace URL is the same for everyone — OAuth resolves which account you are, and you only ever see your own sheets.
| Tool | What it does |
|---|---|
list_sheets | Discover the sheets in your workspace and their ids. (workspace server only) |
list_tabs | List a sheet's tabs and the default one. |
get_schema | Read each column's name, alias, and type before querying. |
query_rows | Read rows with filters, partial matches, full-text search, sorting, and pagination. |
Once connected, just ask:
The agent calls list_sheets → get_schema → query_rows on its own. You don't name the tools.
You can — it's free. But it's built for a different job:
429 (Google's published limits).That last one bites with agents, because agents are chatty — one question becomes a schema read plus several filtered queries. PasteSheet reads the sheet once, caches it, and serves the rest from cache, so the tenth query costs Google nothing.
The free tier runs 3 endpoints, 2,000 requests/month, 500 rows, 1 tab per sheet — no credit card. Paid plans raise the caps and add private endpoints, custom cache TTL, and full-text search.
Issues and questions: open an issue here, or get in touch.