A database for your AI agent

An agent can research fifty companies in a few minutes and give you a tidy table. The chat keeps it, but as text in one conversation. Next week, a new chat can’t query it, another agent can’t see it, and updating it means pasting it back in, or asking for the research again and getting a slightly different list.

rho gives the agent somewhere to keep that table: by a name, typed, versioned, and reachable from any chat or agent you connect.

Why agents need persistent structured data

An agent works with three kinds of memory, and each is good at something different:

The third kind is what rho is for. Some examples:

What rho provides

One table, three agents

In ChatGPT:

You: Find the main open-source vector databases and save them in rho as research/vector-dbs, with their licence and main language.

ChatGPT: Saved 4 rows as research/vector-dbs. Version 1.

A few days later, in Cursor:

You: Add Chroma and LanceDB to research/vector-dbs.

Cursor: Appended 2 rows. Version 2.

The next week, in Claude Code:

You: Check each licence in research/vector-dbs against the project’s repo, and update the rows that changed.

Claude Code: Updated 2 rows. Version 3.

Later, in any of them, you ask a question. The agent answers with a query, and the rows stay in rho:

SELECT licence, count(*) AS projects
FROM "research/vector-dbs"
GROUP BY licence
ORDER BY projects DESC

And to see what the licence check changed, it compares the latest version with version 2:

SELECT * FROM "research/vector-dbs"
EXCEPT
SELECT * FROM "research/vector-dbs@2"

That’s the two rows as they are now. Each version also says which agent made it and why, and if the check got something wrong, restoring version 2 puts it back, as a new version. For a list you keep up to date like this, see Research your AI agent keeps up to date.

How to connect rho

rho is a remote MCP server. Add its URL to your agent:

https://api.rho.store/mcp

The first time the agent uses rho, you sign in with a link rho emails you and choose what the agent may do: read and write, or read only. Step by step for each client: Claude, ChatGPT, Claude Code, Cursor, Codex, or any MCP client.

Then you ask in plain words, as above. The agent picks the tools itself: write_table to save, list_tables and describe_table to find and read a table, query to answer. They’re all listed in MCP tools. rho keeps only what an agent writes to it: it doesn’t save your conversations.

From your own code, there’s a Python SDK and a REST API to the same tables.

rho, files, SQLite and Postgres

Each of these can hold an agent’s tables. What differs is how much you set up, and what you get without building it.

When rho isn’t the right choice