AI CLI

Database operations in natural language. From the terminal.

Type what you want. The AI CLI translates your intent into safe, reviewed SQL — while TadpoleHub enforces your existing access controls and logs every operation.

Your terminal · Natural language · TadpoleHub controls

The AI CLI routes every query through TadpoleHub — RBAC, masking, and audit logging apply automatically, and risky SQL can request approval via the settle workflow.

Natural Language Query

One line in.
SQL out.

Describe what you need. The CLI generates the SQL — SELECTs run automatically, writes require confirmation first.

⠹ 10s   [MCP] get_user_list(page=1, page_size=10, user_query="Show me the 10 most recently added users", invocation_reason="Retrieve the list of recently added users")
✓ [MCP] get_user_list OK: 1428 chars
Here are the 10 most recently added users:
1. nameSo-Hee Kwon
emails****@example.com
roleSYSTEM_ADMIN
last login2026-05-15 10:58:58
2. nameMin-Soo Kim
emailm****@example.com
roleUSER
last loginnone
3. nameYe-Eun Shin
emaily****@example.com
roleDBA
last login2026-04-02 11:53:43
… and 7 more (total 10, page_size=10)
Safe Execution

Risky SQL
waits for approval.

Writes (DDL, bulk deletes, TRUNCATE) and unmasked reads of sensitive data are blocked by default — proceed via user confirmation or by requesting approval (settle).

⚠ This DB requires settle approval.
Create a settle request now? (y/n): y
Approver list:
1. Min-Ji Kim (minji.kim@co.com) (seq=18)
2. Seo-Jun Park (seojun.park@co.com) (seq=1)
Pick approver — number or seq (e.g. 1,3): 2
Include unmasking? (y/n): y
Settle reason (5+ chars): Inspecting customer data for payment dispute
# Settle Request Preview
dbPayments DB (3)
approversSeo-Jun Park (seojun.park@co.com)
unmaskingYES
reasonInspecting customer data for payment dispute
sqlselect * from customers
Submit this settle request? (y/n): y
✔ Settle request created. seq=54 (group_seq=3000873)
ℹ After approval, run /settle execute <seq> to execute.
Schema Operations

Schema
in plain English.

Describe the change — column, index, function, procedure. The CLI proposes the DDL with rationale. Review, then execute or request approval (settle).

Here's a MySQL function. Adjust for your actual schema — or run /schema to inspect it first.
CREATE FUNCTION get_customer_orders(customer_id INT)
RETURNS TABLE
BEGIN
  RETURN
  SELECT o.order_id, o.order_date, o.total_amount
  FROM orders o
  JOIN customers c ON o.customer_id = c.customer_id
  WHERE c.customer_id = customer_id;
END;
ℹ Review the DDL, then execute via /sql or request approval (settle).
Audit Trail

SQL + intent.
Both logged.

Each query records the user, the natural language request, and the generated SQL.

⠧ 3s   [MCP] get_events(log_level=All, event_type=All, page=1, page_size=10, user_query="Show me the 10 most recent events", invocation_reason="Retrieve the 10 most recent events")
✓ [MCP] get_events OK: 493 chars
Here are the 10 most recent events:
1. typeADMIN_LOOK
levelINFO
user/DBMin-Ji Kim (m****@co.com)
descriptionMCP create_settle_request: seq=54 db=3 app...
2. typeADMIN_LOOK
levelDEBUG
user/DBMin-Ji Kim (m****@co.com)
descriptionMin-Ji Kim viewed the full service list.
Total: 2 events logged (page_size=10).
ℹ Intent + tool args + result — all logged.

Built for teams who move fast

DevelopersDBAsDevOps Engineers

Query without writing SQL

Get answers from production databases using plain English, without needing to know the schema or SQL syntax.

Every CLI change reviewed

Use the CLI to request approval (settle) for risky SQL through your existing workflow.

Full audit of AI-driven queries

The CLI logs original natural language requests alongside generated SQL, giving auditors full context.

Your databases, your rules — natural language interface.

Teams use the AI CLI to move faster without bypassing the controls already in place.