Skip to main content
Glama

DatI - Database Semantic Gateway for AI Agents

English | 简体中文

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?

  1. Multiple Databases: Supports MySQL, PostgreSQL, ClickHouse, Doris, and other relational and analytical databases

  2. 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

  3. Flexible Integration: Based on standard MCP (Streamable HTTP), easily integrates into your existing agents or workflows

  4. Fast to Build: Out-of-the-box prebuilt tools (metadata inspection, SQL execution) and parameterized SQL tools to publish MCP services without extra deployment

  5. 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

Available Tools

2 tools
execute_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNoJSON-encoded string containing parameter key-value pairs matching the tool template variables.{}
tool_nameYesThe specific pre-configured parameterized SQL tool name to run (e.g. 'add_transaction').
service_codeYesThe unique code of the published MCP service in DatI (e.g. 'family-finance').

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesNatural language question, table name keyword, or business term to search.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

  1. 2 tool updatesv0.1.1
    • Changedexecute_parameterized_sql3 fields changed
      • addedInput schema / properties / params / description
        Added value: +"JSON-encoded string containing parameter key-value pairs matching the tool template variables."
      • addedInput schema / properties / service_code / description
        Added value: +"The unique code of the published MCP service in DatI (e.g. 'family-finance')."
      • addedInput schema / properties / tool_name / description
        Added value: +"The specific pre-configured parameterized SQL tool name to run (e.g. 'add_transaction')."
    • Changedsearch_metadata1 field changed
      • addedInput schema / properties / query / description
        Added value: +"Natural language question, table name keyword, or business term to search."
  2. 2 tool updatesv0.1.0
    • First observedexecute_parameterized_sql
    • First observedsearch_metadata

TDQS

A4.2/5.0

Scored across 2 tools

Disambiguation5/5

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.

Naming Consistency5/5

Both names use consistent snake_case with a verb-first pattern: search_metadata and execute_parameterized_sql. The convention is predictable and readable.

Tool Count3/5

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.

Completeness3/5

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

ActivityActive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    A 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.
    80
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enterprise-grade MCP server for Microsoft SQL Server, enabling semantic schema discovery, table profiling, safe data operations with preview/confirm, and multi-environment support.
    33
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables natural language querying of SQL databases and REST APIs through the MCP protocol, grounded in a semantic layer.
    1,395 npm
    1
    AGPL 3.0