Skip to content

Foggy Data MCP BridgeAI 原生语义层框架

让 AI 助手安全、准确地通过 MCP 协议查询业务数据

为什么选择这个项目?

❌ 问题:让 AI 直接写 SQL 很危险

问题影响
安全风险AI 可能生成 DELETEUPDATE 或访问敏感表
Schema 暴露必须将完整数据库结构分享给 AI
缺乏业务语义order_status=3 是什么意思?AI 不知道
复杂 JOIN多表关联和聚合查询容易出错,调试成本高

✅ 我们的方案:语义层 + DSL 查询语言

AI → JSON DSL 查询 → 语义层 → 安全 SQL → 数据库

                 • 防止 SQL 注入
                 • 强制访问控制
                 • 处理多表 JOIN
                 • 抽象数据库方言

示例:AI 只需知道语义含义,无需了解数据库内部结构

json
{
  "model": "FactSalesQueryModel",
  "columns": ["customer$name", "sum(totalAmount)"],
  "filters": [{"field": "orderDate", "op": ">=", "value": "2024-01-01"}],
  "orderBy": [{"field": "totalAmount", "dir": "DESC"}],
  "limit": 10
}

🎯 典型应用场景

📊 商业智能

  • 即席查询 - 业务用户用自然语言提问
  • 多维分析 - 按维度分组,聚合度量
  • KPI 仪表盘 - 使用计算字段追踪指标

🔍 数据分析平台

  • 自助分析 - 非技术用户无需 SQL 即可查询
  • 动态过滤 - 灵活条件无需了解 Schema
  • 数据探索 - AI 帮助发现洞察

🏢 企业数据网关

  • 统一数据访问 - 跨多数据库的单一语义层
  • 访问控制 - 基于角色的字段级权限
  • 审计日志 - 追踪所有数据访问

🚀 快速开始

Docker 一键启动

bash
git clone https://github.com/foggy-projects/foggy-data-mcp-bridge.git
cd foggy-data-mcp-bridge/docker/demo
docker compose up -d

Claude Desktop 配置

json
{
  "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-mcpMCP 服务器 - AI 助手集成MCP 服务

📘 TM/QM 建模

📗 FSScript 脚本引擎