Database
An AI agent for your PostgreSQL database
Caterfli reads your schema and writes the tools for you. Every visible table gets a read tool and a count tool, with the real column list baked into each tool’s argument schema — so an agent can only filter and sort on columns that exist.
What you get
PostgreSQL capabilities, under your rules
- ✓ Tables, columns, types and foreign keys are read directly
- ✓ A read tool and a count tool for every visible table
- ✓ Choose which tables an agent can see; a table added later is picked up automatically
- ✓ Read-only until you turn on write operations
- ✓ Schema changes, and an UPDATE or DELETE with no WHERE clause, are always refused
- ✓ Values are always bound parameters, never pasted into the SQL text
- ✓ Reads capped by row count and payload size, with a timeout set on the session
What you need to connect it
- Host and port — PostgreSQL defaults to 5432
- The database name, and a schema if it is not the default
- A username and password, encrypted before they are stored
Discovered tools
What a PostgreSQL connection turns into
discovery · PostgreSQL
ready- list_customers read
- count_customers read
- create_orders create
- update_orders update
- delete_customers delete Approval
Illustrative table names. A new connection is read-only, so only the list and count tools exist until you allow writes.
Human approval
Destructive work waits for a person
approval
waiting- Tool
- delete_customers
- Operation
- DELETE
- Runs against
- Production PostgreSQL
- Agent
- Support Agent
Exactly these values
{
"filters": {
"id": 100
}
}
Your decision applies to these values only. If anything about the call changes, it stops for approval again.
A delete stops for a person. The approval covers this call with these arguments, once.
Connect PostgreSQL to your first agent
Connect one system and read the agent Caterfli writes from it. There is a demo connection too, if you would rather look before you wire anything up.