Let agents into your database. Not your data.
A product of Azenvoc
The governance layer between AI agents and your databases.
They get your schema and the numbers they need, not your rows, unless you say so.
Download · Docs · Website · How it compares · Discussions
Why SayQL
SayQL lets people and AI query your databases without handing your data to the AI. It's for analysts, product
managers, support and operations teams, developers who only touch the database now and then, and the AI apps
they work with. Asking an engineer takes time; general chatbots don't know your schema and can't run anything
safely; and an AI agent with a database password can do anything. SayQL keeps the AI on your rules.
- Safe on production, by design. Queries run read-only, and the database itself enforces it. Anything that
could change data stops and shows you the exact statement first.
- It knows your schema. Tables, columns and relationships across every database you connect, so the SQL
uses your real names and joins, not guesses.
- A shared memory that stays true. Approve a note once ("status 3 = cancelled") and every app and session
that goes through SayQL knows it. Rename a column and SayQL flags the notes about it, with the fix ready.
- Faster than writing it yourself. The right SQL in seconds, streaming in while you type. Simple
requests are answered instantly on your machine, follow-ups edit the query you have ("only Canada",
"sort by date"), and failed queries fix themselves once.
- Answers to the harder questions. Switch the Ask box from Quick to Investigate and ask "why did signups drop?"
or "who owns this tenant?": the agent investigates in read-only steps and answers with the queries behind
every sentence. Off until you turn it on per connection, with you in control of what the AI may see.
- Any AI, any database. Use Claude, OpenAI, Gemini or any OpenAI-compatible API with your own key, the Claude
Pro or Max plan you already have (through your installed Claude Code), a local model so nothing leaves your
computer, or SayQL AI credits, on PostgreSQL, MySQL, SQLite or SQL Server. Switch
models right in the Ask box. The Ask box never sends table rows to the AI.
- Agents without your data. Claude Code, Cursor and other MCP apps query through SayQL, read-only. By default
they get counts and summaries, not rows; you choose per connection, and never-send columns always stay private.
They can also hand you a query to review before anything runs.
- Governance for your AI agents. SayQL for teams is a server you run: each AI
agent gets its own key, only the databases, tables and rows you choose and only the data you allow; private
columns never leave the server; every query, from people and agents, is on record; people use shared
connections without ever seeing the database passwords; shared notes and a glossary that owners approve are
kept true and used by everyone in the app and every agent; one company AI key comes with monthly limits per
person; and people sign in with Google Workspace, Microsoft Entra ID or Okta. Your data never reaches us.
- Say it instead. Click the mic and say your question. Speech is turned into text on your computer, and
the audio never leaves it.
- Everything in one place. Browse your tables, keep tabs open and save the queries you reuse. You see every
query, so you learn SQL as you go.
Features
Govern your agents
Claude Code, Cursor and other agents query through SayQL, read-only. By default they get counts and summaries,
not your rows, and columns you mark never send never reach them. See everything they ran and what was refused,
and block any app in one click. Free on your computer; for your whole company,
SayQL for teams gives each agent its own key and puts every query in one audit log.
A shared memory that stays true
Approve a note once and every app and session knows it: Claude Code, Cursor, the Ask box, Investigate. Run an
audit and an AI app reads your code, files and web pages and suggests notes for you to approve. Rename a column
and SayQL flags the notes about it, with the fix ready.
It knows your schema
Ask in plain English, then refine it the same way: "only Canada", "sort by date". SayQL writes against your
real tables, columns and relationships. Click tables in the navigator to point it at the right place, and if
the database rejects a query, SayQL fixes it automatically.
Safe on production
Every query runs read-only, and the database itself enforces it. Anything that could change data stops and
shows you the exact statement first, so nothing changes by accident.
以上为 README 的开头部分。其余内容请阅读原文。 查看完整 README ↗