DatI
Allows connecting to ClickHouse analytical databases, with tools for metadata inspection and SQL execution so AI agents can query analytical data.
Allows connecting to MySQL relational databases, exposing metadata inspection and SQL execution tools for querying and updating data.
Allows connecting to PostgreSQL relational databases, exposing metadata inspection and SQL execution tools for querying and updating data.
DatI - Database Semantic Gateway for AI Agents
DatI (Data Intelligence) is a lightweight semantic gateway connecting AI Agents with enterprise databases. Simply connect a database, configure semantic metadata, and enable prebuilt or parameterized SQL tools to publish an MCP service that connects with your agents or any MCP host.
┌────────────────────┐ ┌────────────────────┐ ┌────────────────────┐
│ User A: OpenCode │ │ User B: WorkBuddy │ │ User N: DataAgent │
└──────────┬─────────┘ └──────────┬─────────┘ └──────────┬─────────┘
└───────────────────────┼───────────────────────┘
│ MCP (Streamable HTTP)
▼
┌─────────────────────────────── DatI ───────────────────────────────┐
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Semantic │ │ Security │ │ Tools │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└──────────────────────────────────┬─────────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────────────────┐
│ MySQL │ PostgreSQL │ ClickHouse │ Doris │
└────────────────────────────────────────────────────────────────────┘Try It Online
Demo URL: http://47.99.122.223:18085/
Account / Password: demo / demo123
The demo instance is preloaded with sample data and reset periodically.
Related MCP server: foggy-odoo-bridge
Why DatI?
Multiple Databases: Supports MySQL, PostgreSQL, ClickHouse, Doris, and other relational and analytical databases
Semantic Enhancement: Supports business terms, column aliases, and automatic enum dictionary extraction. Combined with semantic search, it helps models understand business jargon and find the right tables
Flexible Integration: Based on standard MCP (Streamable HTTP), easily integrates into your existing agents or workflows
Fast to Build: Out-of-the-box prebuilt tools (metadata inspection, SQL execution) and parameterized SQL tools to publish MCP services without extra deployment
Access Control: Centrally manages credentials with support for user-level permission isolation
Use Cases
Natural Language Data Analysis: Connect business databases and support NL2SQL analysis workflows with metadata configuration and prebuilt tools
Lightweight App Development: Wrap databases as MCP services so agents can query and update data through conversation to build lightweight applications
Tech Stack
Backend: Spring Boot 3.5.x + Java 21 + JPA
Frontend: Vue 3 + TypeScript + Vite + Element Plus + TailwindCSS 4
Database: H2 (Development) / MySQL / PostgreSQL (Production)
Search Engine: Elasticsearch (Semantic Retrieval)
Documentation
Local Development Guide: Environment setup, startup, common commands, and development conventions
Server Deployment Guide: Single-node Docker Compose deployment (no registry needed)
Agent Skills (Agent Skills Open Standard, auto-discovered by repository agents):
dati-ops: User Skill — Configure and operate the platform via HTTP APIs (data sources, subjects & terms, MCP services); self-contained with built-in openapi.json and query tools, independently distributable; connected in-repo via
.agents/skills/dati-ops/e2e-tester: Developer Skill — E2E HTTP integration tests and API behavior validation (see test cases in e2e-tests/test-cases/)
Examples:
Family Finance Assistant: Multi-user collaborative bookkeeping, parameterized permission control, transparent SQL queries, and self-healing agent workflows
Architecture & Design (Maintained continuously alongside code):
User Guide: docs/user-guide (VitePress site, bilingual)
API Specification: docs/api/openapi.json (Used by E2E test toolchains)
AI Coding Assistant Guidelines: AGENTS.md and .agents/rules/ (Backend, frontend, and design system rules)
Available Tools
2 toolsexecute_parameterized_sqlA
Execute a pre-configured parameterized SQL tool published on the DatI MCP gateway.
Behavior: - May mutate data depending on the configured SQL template (INSERT/UPDATE/DELETE). - Safe execution: Protected by DatI row-level permission guards and SQL parameter binding. Usage Guidelines: - Use this tool when you need to run specific business database operations. - Prerequisite: Use search_metadata first if you are unsure of the service or parameters.
| Name | Required | Description | Default |
|---|---|---|---|
| params | No | JSON-encoded string containing parameter key-value pairs matching the tool template variables. | {} |
| tool_name | Yes | The specific pre-configured parameterized SQL tool name to run (e.g. 'add_transaction'). | |
| service_code | Yes | The unique code of the published MCP service in DatI (e.g. 'family-finance'). |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose the critical trait that the operation may mutate data (INSERT/UPDATE/DELETE depending on the template). It also names the safety controls (row-level permission guards, SQL parameter binding), which is useful context an agent cannot get from the schema. It stops short of describing failure behavior or result shape, but the output schema covers returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose sentence is front-loaded, followed by tight Behavior and Usage Guidelines sections with no filler. Every bullet carries information (mutation risk, safety guards, prerequisite) rather than restating the name or schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with full schema coverage and an output schema, the description supplies the missing pieces an agent needs: mutation risk, safety guarantees, and the discovery prerequisite. Only minor gaps remain (e.g., error/partial-failure semantics), which are not essential for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters already have documented semantics in the schema. The description only adds the notion that params must match the template variables, which is marginal beyond what the schema already states — the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (Execute) and resource (a pre-configured parameterized SQL tool published on the DatI MCP gateway), and clarifies that the tool is a dispatcher for published SQL templates rather than a generic query runner. That framing lets an agent distinguish it from the discovery-oriented sibling search_metadata.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear context for use (running specific business database operations) and an explicit prerequisite: call search_metadata first when the service or parameters are unknown. There is no explicit when-not guidance, but the routing to search_metadata covers the main alternative for a two-tool set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_metadataA
Search tables, column definitions, and business semantic terms across databases connected to DatI.
Behavior: - Read-only: Safe to call anytime with no side effects or destructive actions. Usage Guidelines: - Call this tool FIRST to discover existing tables, columns, and business terms before invoking execute_parameterized_sql. - Suitable for resolving NL2SQL schema ambiguity and understanding domain-specific abbreviations.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Natural language question, table name keyword, or business term to search. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description does disclose the key behavioral trait: 'Read-only: Safe to call anytime with no side effects or destructive actions.' It does not mention caching, rate limits, or result ordering, but the safety profile is adequately covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, front-loaded with the purpose, and uses clear labeled sections ('Behavior', 'Usage Guidelines') that make it easy to scan. Every sentence adds value with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a single parameter with full schema coverage, an output schema that already defines return values, and no complex annotations, the description covers the essential behavioral and usage context. Nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the single 'query' parameter as a natural-language question, table keyword, or business term. The description adds no additional syntax or format details beyond what the schema provides, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Search') and a precise resource set ('tables, column definitions, and business semantic terms across databases'), which is far more than the bare name implies. It clearly delineates it from the sibling tool execute_parameterized_sql by focusing on discovery rather than execution.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says 'Call this tool FIRST ... before invoking execute_parameterized_sql' and specifies use cases like 'resolving NL2SQL schema ambiguity' and 'understanding domain-specific abbreviations.' This gives concrete when-to-use guidance and names the alternative tool, leaving no ambiguity about ordering.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v0.1.1- Changed
execute_parameterized_sql3 fields changed- added
Input schema / properties / params / descriptionAdded value: +"JSON-encoded string containing parameter key-value pairs matching the tool template variables." - added
Input schema / properties / service_code / descriptionAdded value: +"The unique code of the published MCP service in DatI (e.g. 'family-finance')." - added
Input schema / properties / tool_name / descriptionAdded value: +"The specific pre-configured parameterized SQL tool name to run (e.g. 'add_transaction')."
- Changed
search_metadata1 field changed- added
Input schema / properties / query / descriptionAdded value: +"Natural language question, table name keyword, or business term to search."
2 tool updates
v0.1.0- First observed
execute_parameterized_sql - First observed
search_metadata
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: search_metadata is read-only discovery of schemas and terms, while execute_parameterized_sql runs a pre-configured SQL operation. There is no meaningful overlap or risk of misselection.
Both names use consistent snake_case with a verb-first pattern: search_metadata and execute_parameterized_sql. The convention is predictable and readable.
Only two tools are provided, which feels thin even for a focused MCP gateway. A minimal search-and-execute pair can work, but the surface is borderline and lacks supporting operations.
Metadata search and parameterized execution cover the core loop, but there is no explicit tool to discover the available parameterized SQL services or their parameters. This notable gap may force agents to rely on implicit knowledge.
Maintenance
Related MCP Connectors
Governed data discovery, exact queries, decisions, simulations, and runtime utilities over MCP.
Data-ontology maps of your business systems, served to AI agents over MCP.
Unified gateway exposing 150+ tools across all NexGenData MCP servers via one endpoint.
Hosted MCP server for AI-driven data ops. Create apps, manage schemas, and CRUD structured data.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA universal database gateway implementing the Model Context Protocol, enabling MCP-compatible clients to connect, explore, and manage multiple databases with advanced features like OAuth2 authentication, health checks, and SQL optimization.80MIT
- AlicenseNot gradedqualityCmaintenanceGoverned MCP access to Odoo business data, preserving Odoo permissions via a semantic query layer.5Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnterprise-grade MCP server for Microsoft SQL Server, enabling semantic schema discovery, table profiling, safe data operations with preview/confirm, and multi-environment support.33MIT

Atlas MCPofficial
AlicenseNot gradedqualityAmaintenanceEnables natural language querying of SQL databases and REST APIs through the MCP protocol, grounded in a semantic layer.1,395 npm1AGPL 3.0