DatI Ops skill

A skill that configures the DatI gateway over its HTTP API: data sources, terms and MCP services, with no web UI work.

  • 78 ★ on the repository
  • Last commit
  • Apache-2.0
Skill

Broad access

Why this level

  • The access key opens data source setup and creating, publishing and deleting MCP services.
  • Through the skill the agent handles database credentials and decides which data other agents can see.
All reasons and checks

yimindev/dati

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add skills/dati-ops

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • The access key opens data source setup and creating, publishing and deleting MCP services.
  • Through the skill the agent handles database credentials and decides which data other agents can see.

This is third-party code. Review the repository files before installing.

What it does

DatI is a gateway between databases and AI agents: it publishes MySQL, PostgreSQL, ClickHouse and Doris tables as an MCP service with built-in tools and parameterized SQL. The dati-ops skill stands in for that gateway's web UI. The agent registers a data source, pulls tables and columns, describes subjects and terms, then builds and publishes the MCP service. The API specification ships inside the skill as openapi.json. There is no need to read it whole: the `openapi.py` script returns the path and method on request. The skill takes the server address and key from `DATI_BASE_URL` and `DATI_API_KEY`, and asks the user when they are missing.

Who it is for. Administrators who run DatI and want to configure it through a conversation with an agent.

Good fit when

  • You need to connect a new database and describe tables, columns and value dictionaries.
  • Business terms are linked to fields so the model finds the right tables.
  • Prepared data is published as an MCP service with a set of parameterized queries.
  • A service version is compared with a snapshot and rolled back.

Not a fit when

  • DatI is not deployed: the skill only works against a running server.
  • You need user registration or system administration, which the skill does not cover.
  • The database holds data that must not be exposed to an agent even through a restricted service.

Example request

Create a DatI data source from these parameters, pull the tables and publish an MCP service with a schema inspection tool.

Limitations

The DatI server is deployed separately with `docker compose up -d` and needs Docker and Elasticsearch for semantic search. The skill requires an access key like `sk_...`, sent in a request header, so issue it with minimal rights. The API specification is generated and may lag behind the code; trust the server response when they differ. The skill text is written in Chinese, so the agent translates as it works. The author demo instance is reset periodically, so do not point real databases at it.

How to disable. Delete the skill folder from the agent skills directory. Revoke the access key in DatI and clear the environment variables.

FAQ

Which variables does the skill need?

`DATI_BASE_URL` points to the server, `http://localhost:8085` by default. `DATI_API_KEY` holds the `sk_...` key, sent in the `Authorization: Bearer` header.

What can the skill not do?

Registration, login and system administration are out of scope. API behaviour testing belongs to the separate e2e-tester skill, which is meant for DatI developers.

Where does the agent get the API description?

From openapi.json inside the skill. The `openapi.py` script with `--list` and `--search` finds methods without reading the whole file.

Which databases does DatI support?

MySQL, PostgreSQL, ClickHouse and Doris. For its own data the platform uses H2 in development and MySQL or PostgreSQL in production.

Must the skill run from the repository root?

Running from the root is preferred because the `skills/dati-ops/scripts/openapi.py` path is relative to it. If the path is unavailable, the skill locates the script with `find`.

Discussion

No questions or reviews yet.

Skills
Official

An open-source agent for data engineers: a terminal SQL client with warehouse context, a semantic layer, REST and an MCP server.

CLIBroad access1.9KRepository stars

Official Databricks skills guide coding agents through data work, Lakeflow jobs and resource deployment on the platform.

SkillExtended access397Repository stars
Official

A skill that teaches an agent to search tables, trace lineage and read the glossary in your Marmot catalog via CLI, REST and MCP.

SkillBroad access635Repository stars
Official

A Microsoft plugin with nine skills for Dataverse and Dynamics 365: queries, data import, data model, solutions, admin

PluginBroad access258Repository stars

Live data from 78 platforms as JSON through one key: skills teach an agent to call the Scavio API for Amazon, Airbnb and more

SkillExtended access67Repository stars

Skill and CLI for tables: cleaning with recorded decisions, level-based statistics, a PDF report and a separate audit.

SkillExtended access101Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
DatI Ops (this card)no78
DBHubnonot required3,839connects an agent to a database directly; DatI Ops configures a separate gateway with a term dictionary and permissions
Database MCPyesnot required33gives MCP access to databases; DatI Ops manages the platform that publishes such services

README in short

The repository holds two skills. dati-ops is for platform users and ships independently, while e2e-tester serves developers. The platform runs on Spring Boot and Vue, and the quick start takes three commands: clone, copy `.env.example` and start the containers.

README badge

Original SKILL.md

---
name: dati-ops
description: Use when performing configuration or operations on the DatI platform via its HTTP API — managing data sources, MCP services, subjects, terms, users, or running admin operations.
---

# Dati Ops

## 核心原则

**技能即前端。** 本技能让 agent 通过 HTTP API 完成前端界面上普通用户能做的全部配置与操作,作为 DatI 界面的替代品。

- 站在用户视角审视每一步:返回是否合理、字段是否自洽、操作顺序是否符合业务
- 本技能是**操作指南**,不是测试工具;验证 API 行为正确性用 `e2e-tester` 技能

## 前置要求与认证配置

优先从环境变量中读取连接信息,未配置时由用户在对话中提供:

| 项 | 对应环境变量 | 默认值 / 格式 | 说明 |
|---|---|---|---|
| `baseUrl` | `DATI_BASE_URL` | `http://localhost:8085` | 后端服务地址 |
| `apiKey` | `DATI_API_KEY` | `sk_...` | 访问凭据,所有 HTTP 请求带 `Authorization: Bearer <apiKey>` |

- **推荐方式**:在环境变量中设置 `export DATI_BASE_URL=...` 与 `export DATI_API_KEY=...`,Agent 执行时直接引用环境变量(如 `curl -H "Authorization: Bearer $DATI_API_KEY" $DATI_BASE_URL/v1/...`)。
- **兜底交互**:若环境变量未设置且当前对话上下文未提供,**必须先主动询问用户**获取,禁止自行臆测。认证失败表现为 401。

## 接口事实来源

本技能自包含: 接口定义以**技能目录下的 `openapi.json`** 为准(随技能分发,仓库内由项目脚本 `scripts/fetch-openapi.sh` 同步)。**不要整文件读取**(48KB ≈ 15K token),用查询工具按需取(统一加 `python3` 前缀调用,不依赖执行权限):

```bash
# 首选: 从仓库根调用
python3 skills/dati-ops/scripts/openapi.py /v1/data-sources POST
python3 skills/dati-ops/scripts/openapi.py --list
python3 skills/dati-ops/scripts/openapi.py --search password

# 若上述路径不可用(Git Bash / 目录变动): 先定位再调用
PY=$(find . -path "*dati-ops/scripts/openapi.py" | head -1)
python3 "$PY" /v1/data-sources POST
```

openapi.json 是自动生成物,可能滞后于代码;与后端实际行为不一致时,以实际请求结果为准。

## 使用流程

1. **确认环境**:baseUrl、apiKey 是否已知;未知先问用户
2. **查询接口**:`./scripts/openapi.py <path> <method>`,确认参数、请求体、响应
3. **构造请求**:body 用 snake_case;分离状态码与响应体,如 `curl -w "\n__HTTP__%{http_code}"`
4. **语义检查**:返回是否符合业务预期(ID 有效、状态流转正确、分页 total 合理);异常即使接口成功也要指出

Report a problem