Safe, read-only SQL access for AI agents — via MCP.
ajan-sql is an MCP server that lets AI agents safely query your database.
👉 read-only
👉 schema-aware
👉 guardrailed
Supports:
- PostgreSQL
- MySQL
- SQLite
DATABASE_URL=postgres://USER:PASSWORD@HOST:PORT/DB npx ajan-sqlThat’s it.
AI agents querying databases is risky.
Without guardrails:
- they can modify data
- run heavy queries
- break your system
👉 ajan-sql fixes this by enforcing strict rules.
All queries are:
SELECTonly- no
INSERT,UPDATE,DELETE - no
DROP,ALTER,TRUNCATE - limited results (
LIMIT 100) - timeout enforced (max 5s)
- no multi-statement queries
- no SQL comments
👉 These rules cannot be bypassed.
list_tablesdescribe_tablelist_relationshipssearch_schemarun_readonly_queryexplain_querysample_rowsserver_info
{
"tool": "run_readonly_query",
"arguments": {
"sql": "SELECT * FROM users LIMIT 10"
}
}Tool responses include both standard MCP structuredContent and an embedded text/toon version of the same payload.
# PostgreSQL
DATABASE_DIALECT=postgres
DATABASE_URL=postgres://USER:PASSWORD@HOST:PORT/DB
# MySQL
DATABASE_DIALECT=mysql
DATABASE_URL=mysql://USER:PASSWORD@HOST:PORT/DB
# SQLite
DATABASE_DIALECT=sqlite
DATABASE_URL=file:/absolute/path/to/database.sqlite- MCP-native SQL access
- multi-database support
- strict read-only guardrails
- schema discovery + introspection
- structured JSON output for AI agents
- TOON-formatted embedded tool results
- predictable execution limits
- type-safe schemas
- AI copilots querying databases
- internal data assistants
- analytics agents
- safe DB access in automation
- MCP-based workflows
npm install -g ajan-sqlor:
npx ajan-sql{
"mcpServers": {
"ajan-sql": {
"command": "npx",
"args": ["ajan-sql"],
"env": {
"DATABASE_DIALECT": "postgres",
"DATABASE_URL": "postgres://USER:PASSWORD@HOST:PORT/DB"
}
}
}
}AI should never have unsafe database access.
ajan-sql ensures queries are safe, predictable, and controlled.
If this tool helps you:
⭐ Star the repo
☕ Support via GitHub Sponsors
https://github.com/sponsors/borakilicoglu