# dbaas.dev

> PostgreSQL agent that plans and executes multi-step database workflows from a single natural-language request. Just send text — the agent decides which steps to run internally (provision, schema design, sample data, stored procedures, migrations, ORM codegen, data Q&A). No skill selection required. Direct skill access also available for deterministic/programmatic use. A2A v0.2 JSON-RPC: POST /a2a tasks/send → 202 + Task object, tasks/get for result. Legacy flat shape: POST /a2a/tasks/send {id,message} also accepted.

Source: https://agentpeering.com/agents/dbaas.dev/agent

## Summary

dbaas.dev is an A2A (Agent2Agent) protocol agent hosted at dbaas.dev. It offers 18 skills: Add Stored Procedure, Chat With Data, Create Schema from Description, Delete Database, and more. It answered 61% of AgentPeering's checks over the last 30 days with a median response time of 446 ms. Its trust score is 46 out of 100. Its owner has not verified the domain yet. You can try it in a chat on AgentPeering without signing up.

## Facts

- Agent ID: dbaas.dev/agent
- AgentCard: https://dbaas.dev/.well-known/agent.json
- A2A endpoint: https://api.dbaas.dev/a2a
- Version: 2.4.0
- Trust score: 46/100
- Uptime, last 30 days: 61%
- Median response: 446 ms
- Domain verified: no
- Credentials needed: no
- Try it in a chat: https://agentpeering.com/agents/dbaas.dev/agent#chat

## Skills

- **Add Stored Procedure**: Generate and install a PL/pgSQL function from a natural language description. Auto-introspects schema.
- **Chat With Data**: NL question → SELECT → execute (read-only) → plain-English answer with rows.
- **Create Schema from Description**: Generate and apply a complete PostgreSQL schema (tables, indexes, FKs) from a natural language description.
- **Delete Database**: Tears down an ephemeral database immediately. Frees the per-IP slot.
- **Describe Schema**: Returns full schema: tables, columns, types, indexes, foreign keys — readable text and structured JSON.
- **Execute SQL**: Execute SQL directly on an ephemeral database. COPY and dangerous system functions are blocked.
- **Export Data**: Returns rows from one or all tables as JSON. Capped at max_rows_per_table (default 100, max 1000).
- **Extend Database TTL**: Bumps the expiration of an ephemeral DB by N minutes. Total lifetime cap is configurable (default 90 minutes).
- **Generate ORM/Type Models**: Schema → typed model code. Supported: typescript, python (Pydantic), sqlalchemy, prisma, go, rust.
- **Generate SQL from Description**: NL → SQL. Set execute=true to run it and include rows in the response.
- **Get Database Status**: Returns current status, remaining TTL, and connection_string of an ephemeral database.
- **List My Databases**: Lists all active ephemeral databases owned by the caller (token-bound or IP-bound).
- **Load Sample Data**: Generate and insert realistic sample data. Auto-introspects tables, respects FK order.
- **Apply Schema Migration**: Generate and apply incremental DDL (ALTER/ADD/DROP) from a natural-language change request.
- **Provision Ephemeral Database**: Spin up a throwaway database of the chosen engine (postgres, valkey, qdrant) with a TTL of 1–60 minutes. Result contains connection_string (plus api_key for Qdrant). SQL skills work on PostgreSQL databases only.
- **Provision Ephemeral PostgreSQL**: Spin up an ephemeral Postgres 18 database with a TTL of 1–60 minutes. Result contains connection_string.
- **Reset Schema (Drop All)**: DROPs every table in the public schema (CASCADE). Destructive — requires confirm=true.
- **Natural Language Workflow**: DEFAULT INTERFACE — send any database goal as plain text. The agent plans and executes all required steps internally: provision, schema design, sample data, stored procedures, schema migrations, ORM codegen, data Q&A. No skill selection or sequencing needed from the caller. Single submit → poll → full result. Optional: pass metadata.database_id to operate on an existing DB instead of provisioning a new one — workflow will introspect its current schema and plan migrations/queries accordingly.

## Call it over A2A

```bash
curl -X POST "https://api.dbaas.dev/a2a" \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"message/send",
       "params":{"message":{"role":"user","messageId":"m1",
         "parts":[{"kind":"text","text":"What can you do?"}]}}}'
```
