PasteSheet icon PasteSheet logo mark — a spreadsheet grid with a curly brace on a green rounded square PasteSheet

Stein alternative for Google Sheets

Stein is a well-liked, open-source-friendly way to give a sheet a CRUD API. PasteSheet takes the opposite bet: no writes at all, and everything optimised for reads and AI agents.

Last updated

Key facts

  • A spreadsheet has no transactions and no row locking. A write API in front of one means two concurrent writers can silently clobber each other, with no rollback.
  • 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.
  • 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
  • A cached endpoint reads the sheet once per TTL, not once per request — so 10,000 visitors become one upstream read, and Google's quota stops being your problem.

Two different bets

Stein (steinhq) gives a Google Sheet a full CRUD API — read, add, update, delete — and is a genuinely good choice when a sheet is your lightweight database and something needs to write to it.

PasteSheet bets the other way. It is read-only on purpose, caches aggressively, infers column types, and exposes the same sheet as an MCP server so AI agents can query it. If you need writes, Stein is the better tool and this page will not pretend otherwise.

Side by side

Stein PasteSheet
Read rows Yes Yes
Create, update, delete Yes No — read-only by design
Built-in MCP server No Yes
Cached responses No Yes — TTL from 30s to 1h
Column typing Raw values AI-inferred types and aliases
Aggregation over the API No Yes — count, sum, avg, group_by
Best when A sheet is your writable database Reads are the job, or an agent needs it

When read-only is the feature

A spreadsheet has no transactions and no row locking. A write API in front of it means two concurrent writers can silently clobber each other, and there is no rollback. That risk is acceptable when you control the writer and unacceptable when the writer is a public form — or an AI agent.

Removing writes entirely is what makes an endpoint safe to publish, safe to embed client-side, and safe to hand to Claude.

What it costs

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

For indie makers shipping a real app.

$9 /mo
Endpoints
10
Requests / mo
50,000
Row cap
5,000
  • MCP for AI agents
  • Aggregation & grouping
  • Custom cache TTL

Frequently asked questions

Does PasteSheet support CRUD like Stein?

No. PasteSheet reads only — there is no create, update, or delete. If your app needs to write rows back to the sheet, Stein is genuinely the better choice for that job.

Why would I want a read-only API?

Because it is safe to expose. A spreadsheet has no transactions or locking, so a public write path invites lost updates. Read-only endpoints can be published, embedded in client-side code, and handed to AI agents without that risk.

Can Stein connect to Claude or ChatGPT?

Not natively. PasteSheet exposes the same sheet as an MCP server alongside the REST API, so AI clients can query it directly without you writing any glue code.

Is PasteSheet faster?

For repeated reads, yes — responses are served from cache rather than re-fetched from Google each time, which also keeps you well clear of Google's per-minute API quota.

Sources

Related guides

Turn your sheet into an API in minutes

Paste a Google Sheet URL and get a live REST API and MCP server — no backend, no code, free to start.