SQL安全查询工具

ajan-sql是一个MCP服务器,允许AI代理安全地查询数据库,提供只读、模式感知和护栏保护的SQL访问。

  • by borakilicoglu
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 borakilicoglu/ajan-sql

使用说明

Safe, read-only SQL access for AI agents — via MCP.


⚡ 什么是ajan sql?

ajan-sql 是一个MCP服务器,允许AI代理安全地查询您的数据库。

👉 只读
👉 模式感知
👉 装有护栏的

支持:

  • PostgreSQL
  • MySQL
  • SQLite

🚀 快速开始

DATABASE_URL=postgres://USER:PASSWORD@HOST:PORT/DB npx ajan-sql

就是这样。


🧠 它解决了什么

人工智能代理查询数据库是有风险的。

无护栏:

  • 他们可以修改数据
  • 运行繁重的查询
  • 破坏你的系统

👉 ajan-sql 通过执行严格的规则来解决这个问题。


🔥 默认安全

所有查询均为:

  • SELECT 仅
  • 不 INSERT, UPDATE, DELETE
  • 不 DROP, ALTER, TRUNCATE
  • 有限的结果(LIMIT 100)
  • 强制超时(最多5秒)
  • 无多语句查询
  • 没有SQL注释

👉 这些规则是不能绕过的。


⚡ 可用工具

  • list_tables
  • describe_table
  • list_relationships
  • search_schema
  • run_readonly_query
  • explain_query
  • sample_rows
  • server_info

🧠 示例

{
  "tool": "run_readonly_query",
  "arguments": {
    "sql": "SELECT * FROM users LIMIT 10"
  }
}

工具响应包括标准MCP structuredContent 以及嵌入式 text/toon 同一有效载荷的版本。


🌐 支持的数据库

# 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本机SQL访问
  • 多数据库支持
  • 严格的只读护栏
  • 模式发现+自省
  • AI代理的结构化JSON输出
  • TOON格式的嵌入式工具结果
  • 可预测的执行限制
  • 类型安全架构

🧠 用例

  • AI副驾驶查询数据库
  • 内部数据助理
  • 分析代理
  • 自动化中的安全数据库访问
  • 基于MCP的工作流

📦 安装

npm install -g ajan-sql

或者:

npx ajan-sql

🧩 客户端示例

{
  "mcpServers": {
    "ajan-sql": {
      "command": "npx",
      "args": ["ajan-sql"],
      "env": {
        "DATABASE_DIALECT": "postgres",
        "DATABASE_URL": "postgres://USER:PASSWORD@HOST:PORT/DB"
      }
    }
  }
}

💡 哲学

AI永远不应该有不安全的数据库访问。

ajan-sql 确保查询是安全的、可预测的和可控的。


❤️ 支持

如果此工具可以帮助您:

⭐ 标记回购
☕ 通过GitHub赞助商提供支持

https://github.com/sponsors/borakilicoglu


🔗 链接

  • github:https://github.com/borakilicoglu/ajan-sql
  • npm:https://www.npmjs.com/package/ajan-sql
  • 文件:https://borakilicoglu.github.io/ajan-sql/