🔒
安全优先
基于 DSL 的查询消除 SQL 注入风险。字段级访问控制,只读设计,运行时权限注入。
了解权限控制
| 问题 | 影响 |
|---|---|
| 安全风险 | AI 可能生成 DELETE、UPDATE 或访问敏感表 |
| Schema 暴露 | 必须将完整数据库结构分享给 AI |
| 缺乏业务语义 | order_status=3 是什么意思?AI 不知道 |
| 复杂 JOIN | 多表关联和聚合查询容易出错,调试成本高 |
AI → JSON DSL 查询 → 语义层 → 安全 SQL → 数据库
↓
• 防止 SQL 注入
• 强制访问控制
• 处理多表 JOIN
• 抽象数据库方言示例:AI 只需知道语义含义,无需了解数据库内部结构
{
"model": "FactSalesQueryModel",
"columns": ["customer$name", "sum(totalAmount)"],
"filters": [{"field": "orderDate", "op": ">=", "value": "2024-01-01"}],
"orderBy": [{"field": "totalAmount", "dir": "DESC"}],
"limit": 10
}Docker 一键启动:
git clone https://github.com/foggy-projects/foggy-data-mcp-bridge.git
cd foggy-data-mcp-bridge/docker/demo
docker compose up -dClaude Desktop 配置:
{
"mcpServers": {
"foggy-dataset": {
"url": "http://localhost:7108/mcp/analyst/rpc"
}
}
}然后就可以用自然语言查询数据了:
| 模块 | 说明 | 文档 |
|---|---|---|
| foggy-dataset-model | 语义层引擎 - TM/QM 建模、DSL 查询执行 | 入门指南 |
| foggy-dataset | 数据库抽象层 - 多数据库方言支持 | 查询层文档 |
| foggy-fsscript | 脚本引擎 - 类 JavaScript 语法解析 TM/QM 文件 | FSScript 指南 |
| foggy-dataset-mcp | MCP 服务器 - AI 助手集成 | MCP 服务 |