# What rho is

> rho stores versioned tables for AI agents, over MCP.

rho stores tables for AI agents. It is an MCP server: you add its URL to your agent (Claude, ChatGPT, Cursor, Codex or any other MCP client), sign in once, and the agent has its tools. People can also upload a file in the app, and code can use the Python SDK or a table's API.

rho's MCP URL:

```
https://api.rho.store/mcp
```

To set it up, follow the [Quickstart](/docs/quickstart/).

## How it works

- **Tables are named by paths.** Such as `research/competitors`. Folders are the part before the last `/`.
- **Every write makes a version.** Versions never change. A restore makes a new version too, so even an undo can be undone. See [Tables and versions](/docs/concepts/tables-and-versions/).
- **Each version says who and why.** The agent's name, the user it worked for, its message and its run label.
- **Agents read before they query.** `describe_table` answers each column's type, class, nulls and top values or range, so the agent can write the SQL without reading every row.
- **Queries are read-only DuckDB SQL.** They run in a [sandbox](/docs/reference/safety/). A result can be saved as a table without the rows passing through the agent.
- **A figure can come with a receipt.** A query can answer a link that shows the SQL, the exact table versions it read and the rows it answered. See [Receipts](/docs/concepts/receipts/).

## Where to find what

- [Quickstart](/docs/quickstart/): connect an agent and make your first table.
- [Connect an agent](/docs/connect/claude-code/): the steps for each client.
- [The rho app](/docs/guides/the-app/): your tables, their history and your agents.
- [Upload a file](/docs/guides/upload/): a CSV, Excel, JSON or Parquet file as a table.
- [Public tables](/docs/concepts/sharing/): share a table with a link, as a page and an API.
- [Table APIs](/docs/guides/table-apis/): a table's rows at a URL, for any program.
- [MCP tools](/docs/reference/mcp-tools/): every tool an agent gets, and its parameters.

## For agents

These docs are written to be read by agents too. Every page is also plain Markdown at its URL plus `.md`, such as [`/docs/quickstart.md`](/docs/quickstart.md). [`/llms-full.txt`](/llms-full.txt) holds all of them in one file, and [`/llms.txt`](/llms.txt) says where to find it.