# Give your chatbot a Google Sheet to answer from

A chatbot that guesses is worse than no chatbot. Keep its Q&A, product facts, and policies in a Google Sheet and PasteSheet publishes them as an MCP server the bot queries live — so it answers from the row you last edited, not from stale training data, and can never change a fact while it reads.

*Last updated: 2026-07-11 · Source: <https://pastesheet.com/use-cases/google-sheets-chatbot-knowledge-base>*

## Key facts

- 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](https://modelcontextprotocol.io/specification/2025-06-18))
- Full-text `search=`, which lets the bot match a question against every column, is a **Pro ($19/mo)** feature. Exact-match and `contains` filters through `query_rows` work on every plan, including Free.
- The knowledge base holds up to **500 rows on Free** and **5,000 on Starter ($9/mo)**; **Pro** removes the row cap.

## Answers from a row you control

A support or sales chatbot needs to answer from facts, not vibes. When those facts — product specs, return windows, plan limits, canned Q&A — live in a Google Sheet, PasteSheet turns the sheet into a [Model Context Protocol](https://pastesheet.com/guides/google-sheets-mcp) server the bot queries at answer time. Edit a cell and the next reply reflects it; there is no retraining and no redeploy.

Crucially, this is **publish, not connect**: you are not wiring your Google account into the bot. You publish one sheet as a read-only knowledge base that your chatbot — or a teammate's — reads through three tools, with [no write access](https://pastesheet.com/guides/read-only-google-sheets-mcp) and no Google Cloud project to stand up.

## The tools the bot gets

Connect the endpoint and the chatbot can call three read-only tools:

- `list_tabs` — discover the tabs in the sheet, e.g. FAQ, Products, Policies.
- `get_schema` — read each column's name, alias, and type before querying.
- `query_rows` — match a question with filters, partial matches, and full-text search, then return the answer row.

## Connect the knowledge sheet

Each endpoint has its own MCP URL. Copy it from the **Connect via MCP** panel and add it to your bot's runtime as a custom connector:

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

## Read-only, so the facts stay put

Because the endpoint is **read-only by design**, it is safe to expose publicly or hand to a teammate: consumers can read and query the data but can never change the sheet. And there is **no Google Cloud project, OAuth screen, or service account** to set up — you paste a share URL and get a live API.

## What it costs

**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

**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`.

## Frequently asked questions

### How does the bot find the right answer?

It reads the schema first, then calls query_rows — matching a question against a column, a partial value, or full-text search across every field — and answers from the row it retrieves rather than from memory.

### Do I need a vector database for this?

Not for structured Q&A. When your knowledge is rows of questions, facts, and policies, query_rows filters and full-text search retrieve the right answer directly — no embeddings or vector store to run.

### Can the chatbot change my knowledge base?

No. The connector is read-only. The bot can query and quote your rows but cannot add, edit, or delete anything, so the source of truth stays intact.

### Can I use it over plain REST instead of MCP?

Yes. The same endpoint is a JSON REST API, so a bot framework without MCP support can fetch answers with the same filters, search, and sorting from a normal HTTP request.

## Sources

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

## Related use cases

- [A Google Sheets Data Source for AI Agents](https://pastesheet.com/use-cases/google-sheets-ai-agent-data-source) — Give any AI agent read-only access to a Google Sheet over MCP. It can list tabs, read the schema, and query rows in plain English — no glue code, no backend.
- [A RAG Data Source From Google Sheets](https://pastesheet.com/use-cases/google-sheets-rag-data-source) — Skip the vector store for small, structured corpora: your agent retrieves rows from a Google Sheet with query_rows filters and full-text search over MCP.
- [A Support Agent Lookup in Google Sheets](https://pastesheet.com/use-cases/google-sheets-support-agent) — Let a support agent look up orders, policies, and account tiers in a Google Sheet over MCP — read-only, so it answers tickets but never edits a record.
- [Power an FAQ Page from a Google Sheet](https://pastesheet.com/use-cases/google-sheets-faq-page) — Build a searchable FAQ or help page from a Google Sheet — one row per question and answer. Full-text search over questions via a live, read-only JSON API.

---

[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/use-cases/google-sheets-chatbot-knowledge-base>
