Security First
DSL-based queries eliminate SQL injection risks. Field-level access control with read-only design.
Access Control
Enable AI assistants to query business data safely and accurately through MCP protocol
| Problem | Impact |
|---|---|
| Security Risks | AI may generate DELETE, UPDATE, or access sensitive tables |
| Schema Exposure | Must share complete database schema with AI |
| No Business Semantics | What does order_status=3 mean? AI doesn't know |
| Complex JOINs | Multi-table relationships and aggregations are fragile |
AI → JSON DSL Query → Semantic Layer → Safe SQL → Database
↓
• Prevents SQL injection
• Enforces access control
• Handles multi-table JOINs
• Abstracts database dialectsExample: AI only needs to know semantic meaning, not database internals
{
"model": "FactSalesQueryModel",
"columns": ["customer$name", "sum(totalAmount)"],
"filters": [{"field": "orderDate", "op": ">=", "value": "2024-01-01"}],
"orderBy": [{"field": "totalAmount", "dir": "DESC"}],
"limit": 10
}Docker One-Click Start:
git clone https://github.com/foggy-projects/foggy-data-mcp-bridge.git
cd foggy-data-mcp-bridge/docker/demo
docker compose up -dClaude Desktop Configuration:
{
"mcpServers": {
"foggy-dataset": {
"url": "http://localhost:7108/mcp/analyst/rpc"
}
}
}Then query data using natural language:
| Module | Description | Docs |
|---|---|---|
| foggy-dataset-model | Semantic layer engine - TM/QM modeling, DSL query execution | Guide |
| foggy-dataset | Database abstraction - Multi-database dialect support | Query Layer |
| foggy-fsscript | Script engine - JavaScript-like syntax for TM/QM files | FSScript Guide |
| foggy-dataset-mcp | MCP server - AI assistant integration | MCP Service |