A Postgres database your agent can use.
Paste one prompt into your coding agent. It creates the database, defines typed tables, and exposes only the operations you pick. Each one becomes a scoped MCP tool and an HTTP endpoint on your project's subdomain. UIVOID runs the database and the MCP gateway, so there's nothing to deploy or self-host.
An expenses backoffice in one conversation.
One sentence to a coding agent created the project, a hosted database, three tables and 12 MCP tools. The agent checked that the tools answered, and left delete off because it needs the destructive scope.
The next message logged a real expense through those tools. There's no form to build and no admin screen to deploy.
hey, using the uivoid CLI create a new project called expenses to track costs, create some tables for that
- npx uivoid create expenses --no-discover
- uivoid db create expenses --project expenses
- uivoid db table create categories · expenses · budgets
- uivoid db expose list · get · insert · update (×3 tables)
- list_categories() → [] · read scope
I created the expenses project. It has a hosted Postgres database with three tables and 12 MCP tools. A test call to list_categoriescame back empty, which is expected since there's no data yet.
| table | columns |
|---|---|
| categories | name*, description, color |
| expenses | description, amount, currency, spent_on, category_id, merchant, payment_method, notes, reimbursable |
| budgets | category_id, month, amount*, currency* |
Each table gets list_*, get_*, create_* and update_* tools. I left out delete tools because they need the destructive scope. I can add them if you want.
MCP URL: https://expenses.uivoid.app/mcp
log $86 for lunch with a client, put it under restaurant
- create_expense() · write scope
The USD 86.00 client lunch is logged for today, Sep 24, under the Restaurant category.
Inventory in one prompt.
Tell your agent what you want to track. It writes the schema and runs these commands for you. You can also run them yourself.
{
"name": { "type": "text", "required": true },
"stock": { "type": "integer" },
"price": { "type": "number" }
}Five operations, each with its own scope.
| operation | scope | arguments |
|---|---|---|
| list | read | {} |
| get | read | {"id":"<uuid>"} |
| insert | write | {"data":{...}} |
| update | write | {"id":"<uuid>","data":{...}} |
| delete | destructive | {"id":"<uuid>"} |
500 MB per database. At the limit, reads and deletes keep working; only growth is rejected.
text, integer, number and boolean columns. Every row gets a generated UUID id.
Database credentials never leave the server. Agents only see the tools you expose.
No raw SQL, no schema edits, no dropping databases. Deleting a row needs the destructive scope.
- +expense tracking in any currency
- +a waitlist your agent can triage
- +inventory and orders
- +a CRM you talk to instead of click through
- +a feedback and support inbox
- +an internal backoffice for your ops team