Skip to main content
Glama
MarkIvor

DataSearcher MCP

by MarkIvor

DataSearcher MCP

Python MCP DuckDB License Language

Подключи базу данных к Claude или Cursor — и спрашивай на русском: «какие товары продаются хуже всего», «найди аномалии в продажах», «прогноз на 3 месяца». 46 инструментов: SQL, статистика, ML, графики, дашборды + enterprise: read-only guard, PII masking, аудит-логи, Knowledge Base, dbt, DataHub, semantic search.


Что это такое?

DataSearcher MCP — это мост между вашей базой данных и ИИ-ассистентом (Claude Desktop, Cursor, VS Code).

Обычно, чтобы проанализировать данные из БД, нужно писать SQL-запросы вручную или открывать BI-систему. С этим MCP-сервером вы просто разговариваете с ИИ на обычном русском языке, а он сам:

  • пишет и выполняет SQL к вашей базе (read-only, с защитой от изменений)

  • строит графики и дашборды

  • находит аномалии, корреляции, инсайты

  • прогнозирует тренды (ML)

  • генерирует HTML-отчёты и XLSX-экспорты

  • маскирует PII (email, телефон, ИНН) в результатах

  • логирует все запросы для аудита

Пример диалога

Вы: Подключись к моей PostgreSQL и покажи топ-5 регионов по выручке

ИИ: [вызывает sql_query → SQL выполняется прямо в вашей PostgreSQL]
    Вот топ-5 регионов по выручке:
    | Регион       | Выручка     | Заказов |
    |--------------|-------------|---------|
    | Москва       | 1 358 468 ₽ | 55      |
    | Новосибирск  | 1 036 564 ₽ | 45      |
    ...

Вы: Найди аномалии в суммах заказов

ИИ: [вызывает detect_anomalies → z-score + IQR]
    Обнаружено 3 выброса в колонке amount:
    - Заказ #1047: 49 870 ₽ (z-score = 4.2)
    - Заказ #2891: 48 200 ₽ (z-score = 3.8)
    ...

Вы: Построй дашборд и сохрани как HTML

ИИ: [вызывает create_public_dashboard → генерирует HTML с графиками и фильтрами]
    Дашборд создан! Откройте файл:
    /tmp/datasearcher_mcp_dashboards/abc123/dashboard.html

Почему это круто?

Без DataSearcher MCP

С DataSearcher MCP

Пишешь SQL вручную

ИИ сам пишет и выполняет SQL

Открываешь BI-систему для графиков

Графики и дашборды прямо в чате

Excel для сводных таблиц

pivot_table одним вызовом

Python + Jupyter для ML

Прогнозы и кластеризация через чат

Каждая БД — свой диалект SQL

Пишешь на DuckDB SQL — сервер переводит

Нет защиты от случайного DROP

Read-only guard блокирует DML/DDL

PII в открытом виде

Авто-маскирование email/телефон/ИНН

Нет аудита кто что запросил

Полный лог запросов и ошибок


Related MCP server: GraphJin

Чем отличается от других MCP-серверов?

1. SQL выполняется в вашей базе, а не во встроенной

Когда вы спрашиваете «покажи продажи по регионам», SQL выполняется напрямую в вашей PostgreSQL/MySQL/ClickHouse — с индексами, оптимизатором, кешем. DuckDB подключается только для ML-задач (кластеризация, прогнозы), выгружая только нужные колонки.

2. Пишешь на одном SQL — работает в любой БД

Написали DATE_TRUNC('month', date_col) (DuckDB-синтаксис)? Сервер автоматически переведёт под диалект source DB через sqlglot.

3. Кросс-БД JOIN через federated-режим

Прицепите PostgreSQL и MySQL к DuckDB одновременно и сделайте JOIN между ними — без выгрузки данных.

4. Enterprise-безопасность

  • Read-only guard — блокирует INSERT/UPDATE/DELETE/DROP/TRUNCATE

  • PII auto-detection + masking — автоматически находит email, телефон, ИНН, СНИЛС, паспорт и маскирует в результатах

  • Schema ACL — фильтрация raw/staging таблиц, allowed_schemas/blocked_tables

  • Rate limiting — ограничение SQL/ML запросов в минуту

  • HTTP Bearer auth — для удалённого доступа

  • Query timeout — защита от тяжёлых запросов

5. Knowledge Base + метаданные

SQLite-хранилище бизнес-описаний: что значит каждая таблица и колонка, кто владелец данных, какие метрики как считаются. Наполняется из:

  1. Схемы БД (автоматически)

  2. dbt manifest (описания, тесты, теги)

  3. DataHub (lineage, глоссарий)

  4. Ручной правки через update_metadata

6. Семантический поиск + Example Store

  • semantic_search — поиск по текстовым данным через LLM embeddings

  • Example Store — база пар «NL-запрос → SQL» для few-shot обучения

  • search_knowledge — поиск по метаданным и примерам

7. REST API как источник данных

Подключайте не только БД, но и REST API — данные выгружаются в DuckDB и доступны всем 46 инструментам анализа.

Генерация URL для Superset, Grafana, Yandex Datalens, Tableau, Power BI с предзаполненными фильтрами.


Быстрый старт

Шаг 1. Установка

git clone https://github.com/MarkIvor/mcp-datasearcher.git
cd mcp-datasearcher
pip install -e ".[all]"

Шаг 2. Настройка подключений

cp connections.example.yaml connections.yaml
connections:
  - name: my_db
    db_type: postgresql          # postgresql | mysql | clickhouse | sqlite | api
    host: localhost
    port: 5432
    database: mydb
    username: ${DB_USER}
    password: ${DB_PASSWORD}
    mode: auto                   # auto | remote | dump | federated
    # ── Семантический слой ──
    allowed_schemas: [mart, analytics]
    blocked_tables: [raw_*, stg_*, tmp_*]

  # REST API тоже можно:
  - name: crm_api
    db_type: api
    base_url: https://api.company.com/v1
    auth_header: "Authorization: Bearer ${CRM_TOKEN}"
    endpoints:
      - path: /customers
        table_name: customers
    mode: dump

# dbt (опционально):
# dbt:
#   manifest_path: ./target/manifest.json

# DataHub (опционально):
# datahub:
#   server_url: http://datahub.company.com:8080
#   token: ${DATAHUB_TOKEN}

Шаг 3. Подключение к Claude Desktop

{
  "mcpServers": {
    "datasearcher": {
      "command": "datasearcher-mcp",
      "args": ["--config", "/path/to/connections.yaml"]
    }
  }
}

Cursor (.cursor/mcp.json):

{"mcpServers": {"datasearcher": {"command": "datasearcher-mcp", "args": ["--config", "/path/to/connections.yaml"]}}}

Docker:

cp connections.example.yaml connections.yaml
docker compose up -d    # → http://localhost:8000/mcp

HTTP:

datasearcher-mcp --transport http --host 0.0.0.0 --port 8000 --auth-token secret123

46 инструментов

SQL и подключения

Инструмент

Что делает

sql_query

SQL-запрос (read-only, markdown/json/csv, авто-трансляция диалектов)

query_explain

План выполнения SQL (EXPLAIN)

get_schema

Структура таблицы (remote или DuckDB)

attach_database

Подключить новую БД в рантайме

refresh_schema

Обновить схему после изменений в БД

test_connection

Проверить доступность подключения

load_file

Загрузить CSV/Excel/Parquet

Аналитика данных

Инструмент

Что делает

smart_summary

Умное саммари таблицы

profile_data

Статистика по колонкам

data_quality_report

Аудит качества (пропуски, дубликаты)

auto_insights

Топ-5 инсайтов автоматически

sample_data

Выборка строк

find_duplicates

Дубликаты (точные и fuzzy)

detect_anomalies

Выбросы (z-score, IQR)

detect_patterns

Паттерны в тексте (email, ИНН, телефон)

sql_query

SQL с форматами markdown/json/csv

Статистика и связи

Инструмент

Что делает

correlation_analysis

Корреляции (Пирсон/Спирмен)

distribution_analysis

Форма распределения

cross_tab

Кросс-табуляция + Хи-квадрат

pivot_table

Сводная таблица (Excel PIVOT)

statistical_test

t-тест, Mann-Whitney, KS, Хи-квадрат

segment_data

Сегментация, RFM-анализ

compare_tables

Сравнение двух таблиц

time_analysis

Тренды, сезонность, скользящее среднее

ML и прогнозы

Инструмент

Что делает

predict_trend

Прогноз тренда (регрессия)

cluster_analysis

Кластеризация K-Means/DBSCAN

feature_importance

Важность признаков (Random Forest)

classify_rows

Классификация строк через LLM

semantic_search

Семантический поиск через embeddings

generate_sql

Генерация SQL из описания на русском

Визуализация и отчёты

Инструмент

Что делает

visualize_data

График → PNG + JSON

build_dashboard

Дашборд 4-6 графиков

create_public_dashboard

Standalone HTML с фильтрами

data_story

Нарратив с графиками

export_data

Экспорт в CSV

export_xlsx

Экспорт в XLSX с форматированием

build_bi_link

URL для Superset/Grafana/Datalens

Управление данными

Инструмент

Что делает

transform_data

Нормализация, one-hot, извлечение дат

merge_tables

JOIN (с авто-определением ключей по FK)

update_metadata

Обновить метаописание в Knowledge Base

list_metrics

Список расчётных метрик с формулами

scan_pii

Скан PII в таблице

get_logs

Логи запросов/ошибок/аудита

add_example

Добавить эталон «NL→SQL» в Example Store

search_knowledge

Поиск по базе знаний и примерам

load_dbt

Импорт метаданных из dbt manifest

sync_datahub

Синхронизация с DataHub

Ресурсы (5)

  • schema://tables — таблицы с типами, бизнес-описаниями, PII-метками

  • schema://diagram — Mermaid ER-диаграмма

  • knowledge://tables — метаданные, владельцы, метрики

  • connection://list — подключения и режимы

  • reasoning://last — Chain of Thought (история запросов)

Промпты (2)

  • analyze_table — системный промпт аналитика

  • weekly_report — шаблон еженедельного отчёта


Enterprise-фичи

Read-only guard

Все SQL-запросы проверяются: INSERT/UPDATE/DELETE/DROP/TRUNCATE/ALTER — заблокированы. Разрешены только SELECT/WITH/EXPLAIN/SHOW/DESCRIBE.

# Настройка
DATASEARCHER_MCP_READ_ONLY=true   # false = отключить guard

PII auto-detection + masking

При загрузке схемы сервер сканирует текстовые колонки и автоматически определяет: email, телефон (РФ), ИНН, СНИЛС, паспорт, банковскую карту, IP-адрес.

В результатах SQL-запросов PII маскируется: a***@company.com, +7(912)***-**-89, 7710******.

DATASEARCHER_MCP_PII_MASKING=true

Knowledge Base (SQLite)

Бизнес-метаданные в SQLite: описания таблиц, колонок, владельцы, теги, расчётные метрики. Наполняется из 4 источников (fallback-цепочка):

  1. Схема БД — автоматически (DESCRIBE, information_schema, FK)

  2. dbt manifestload_dbt инструмент (описания, тесты, теги, слои)

  3. DataHubsync_datahub инструмент (lineage, глоссарий, владельцы)

  4. Ручная правкаupdate_metadata инструмент

Логирование и аудит

Каждый SQL-запрос, ML-вызов, ошибка — логируется в SQLite (append-only):

  • query_log: timestamp, tool, SQL, таблица, длительность, статус

  • error_log: тип ошибки, сообщение, SQL, stack trace

  • audit_log: действия (attach, refresh, load_file, update_metadata)

DATASEARCHER_MCP_LOG_ENABLED=true

Rate limiting

Per-tool throttling: SQL — 60/мин, ML — 10/мин (настраивается).

Schema ACL

Фильтрация таблиц по бизнес-слою:

allowed_schemas: [mart, analytics]    # только эти схемы
blocked_tables: [raw_*, stg_*, tmp_*]  # glob-паттерны исключений

REST API connector

Подключение данных из REST API как обычных таблиц:

- name: crm_api
  db_type: api
  base_url: https://api.company.com/v1
  auth_header: "Authorization: Bearer ${CRM_TOKEN}"
  endpoints:
    - path: /customers
      table_name: customers
  pagination: offset    # offset | cursor | none
  mode: dump            # выгрузить в DuckDB

Режимы работы подключений

Режим

Как работает

Когда использовать

auto (по умолч.)

SQL → source DB, ML → DuckDB (лениво)

Универсальный

remote

Всё SQL в source DB, без DuckDB

БД быстрая, ML не нужен

dump

Таблицы выгружаются в DuckDB при старте

Файлы, маленькие БД

federated

Source DB прицепляется к DuckDB

Кросс-БД JOIN


Поддерживаемые БД

БД

db_type

Remote SQL

Federated

PostgreSQL

postgresql

MySQL / MariaDB

mysql

ClickHouse

clickhouse

SQLite

sqlite

REST API

api

CSV

файл

Excel (.xlsx)

файл

Parquet

файл


LLM для классификации и поиска

llm_mode

Как работает

Когда использовать

builtin

LLM-клиент (LLM_BASE_URL/LLM_MODEL)

Ollama, vLLM, OpenAI

sampling

Модель хоста через MCP sampling

Claude Desktop

none

Инструкция для хоста

Без LLM

Работает на бюджетных LLM — достаточно 7B-14B.


Переменные окружения

Префикс DATASEARCHER_MCP_:

Переменная

По умолчанию

Описание

DATASEARCHER_MCP_CONNECTIONS_FILE

connections.yaml

Файл подключений

DATASEARCHER_MCP_READ_ONLY

true

Read-only guard (блок DML/DDL)

DATASEARCHER_MCP_PII_MASKING

true

Авто-маскирование PII

DATASEARCHER_MCP_LOG_ENABLED

true

Логирование запросов/ошибок

DATASEARCHER_MCP_RATE_LIMIT_ENABLED

true

Rate limiting

DATASEARCHER_MCP_RATE_LIMIT_SQL

60

SQL-запросов в минуту

DATASEARCHER_MCP_RATE_LIMIT_ML

10

ML-запросов в минуту

DATASEARCHER_MCP_QUERY_TIMEOUT

60

Таймаут SQL (сек)

DATASEARCHER_MCP_AUTO_TRANSLATE

true

Трансляция SQL между диалектами

DATASEARCHER_MCP_AUTH_TOKEN

``

Bearer token для HTTP auth

DATASEARCHER_MCP_DUCKDB_ENABLED

false

DuckDB при старте

DATASEARCHER_MCP_DEFAULT_MODE

auto

Режим по умолчанию

DATASEARCHER_MCP_EXAMPLE_STORE_ENABLED

true

Example Store (few-shot)

LLM_BASE_URL

URL LLM API (OpenAI-compatible)

LLM_MODEL

Модель LLM


Архитектура

datasearcher-mcp/
  src/datasearcher_mcp/
    __main__.py             # CLI: --transport, --config, --auth-token
    config.py               # 30+ настроек (pydantic-settings)
    engine.py               # движок: remote/dump/auto/federated, ACL, KB, PII
    server.py               # FastMCP: 46 tools + 5 resources + 2 prompts
    session.py              # DuckDB-сессия (ленивая)
    sql_guard.py            # read-only enforcement (блок DML/DDL)
    error_handler.py        # человекочитаемые SQL-ошибки
    logging_db.py           # SQLite append-only логи (query/error/audit)
    pii_detector.py         # авто-детекция + маскирование PII
    rate_limiter.py         # per-tool throttling
    knowledge_base.py       # SQLite KB (описания, владельцы, метрики)
    dbt_loader.py           # парсинг dbt manifest.json
    datahub_client.py       # DataHub GraphQL клиент
    example_store.py        # NL→SQL пары + semantic search
    bi_linker.py            # URL builder для BI-инструментов
    llm_client.py           # LLM-клиент (OpenAI-compatible)
    embeddings.py           # semantic search через embeddings
    connectors/
      base.py, sqlalchemy_base.py
      postgres.py, mysql.py, clickhouse.py, sqlite_conn.py
      api.py                # REST API коннектор
    tools/                  # 30 аналитических инструментов
    render/                 # matplotlib PNG + парсинг маркеров
    prompts/                # системный промпт аналитика

Ключевые решения

Решение

Почему так

DuckDB выключен по умолчанию

Source DB умнее (индексы, оптимизатор)

sqlglot для трансляции SQL

Один SQL — работает в любой БД

Federated через DuckDB extensions

Кросс-БД JOIN без ETL

Read-only guard

Защита production-данных от случайных изменений

PII auto-detection

Compliance без ручной разметки

SQLite для KB и логов

Zero-dependency, embedded, не требует сервера

Example Store

Few-shot обучение из прошлых запросов

Технологии

Слой

Технология

MCP

mcp[cli] 1.28 (FastMCP, stdio/SSE/HTTP)

SQL

Source DB (push-down) или DuckDB (lazy/federated)

Трансляция SQL

sqlglot

ML

scikit-learn, scipy, numpy

Графики

matplotlib (PNG)

KB / логи

SQLite (embedded)

Embeddings

OpenAI-compatible /v1/embeddings

Драйверы БД

psycopg2, pymysql, clickhouse-connect, aiosqlite

Файлы

CSV/Parquet (DuckDB), Excel (openpyxl)

Дашборды

HTML + DuckDB-WASM + Chart.js

Auth

Bearer token (Starlette)


Лицензия

MIT

Available Tools

46 tools
add_exampleA

Добавить эталонный пример «NL-запрос → SQL» в Example Store (ТЗ 1.3). Используется для few-shot обучения generate_sql.

ParametersJSON Schema
NameRequiredDescriptionDefault
sqlYes
queryYes
is_goldenNo
table_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool appends an example, but it does not mention whether duplicate queries are allowed, whether existing examples are replaced, how is_golden affects behavior, or any validation or side effects. The mutation implications are only implicit.

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?

Two concise sentences, front-loaded with the main action and followed by the purpose. Both sentences earn their place, and there is no redundant or filler wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The core operation and purpose are clear, and an output schema exists so return values need not be described. However, the tool has four parameters with no schema descriptions and no annotations, and the description leaves the optional parameters' semantics and behavioral edge cases unexplained. It is adequate for a simple call but not fully complete.

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 0%, but the phrase 'NL-запрос → SQL' gives meaningful semantics for query and sql, the two required parameters. However, is_golden and table_name are left entirely to inference, and their defaults and roles are not explained. The description partially compensates for the schema, but not fully.

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 clearly states a specific verb and resource: it adds a reference example (NL-query → SQL) to the Example Store, and explicitly ties this to few-shot training for generate_sql. This distinguishes it from sibling tools like sql_query or generate_sql, which consume rather than add examples.

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?

The description provides clear context by stating the tool is used for few-shot training of generate_sql, which implies when an agent should add an example. It does not explicitly state when not to use it or name alternatives, but the intended use is concrete enough for routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

attach_databaseA

Подключить новую БД в рантайме без перезапуска сервера. (фича B) Поддерживаемые db_type: postgresql, mysql, clickhouse, sqlite. mode: remote (push-down SQL), dump (выгрузка в DuckDB), auto (по умолчанию).

ParametersJSON Schema
NameRequiredDescriptionDefault
hostNo
modeNoauto
nameYes
portNo
db_typeYes
databaseNo
passwordNo
usernameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden. It adds useful detail about runtime behavior, supported db_type values, and the meaning of remote/dump/auto modes. However, it does not disclose side effects, required privileges, persistence of the attachment, or failure behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded, with the core purpose in the first line. The only minor filler is the parenthetical '(feature B)', but overall every major sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers essential domain concepts like db_type and mode, and an output schema exists for return values. However, for an 8-parameter mutation-like tool with no annotations, it omits prerequisites, side effects, and details about what 'name' refers to, leaving meaningful ambiguity.

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 0%, so the description must add meaning. It enriches db_type with supported values and explains the mode enum semantics beyond the raw choices. Most other parameters are self-explanatory from their names, but 'name' and the exact connection semantics remain under-specified.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: attaching a new database at runtime without restarting the server. It names the operation, the resource, and key constraints, making it distinct from read-only or analysis tools. However, it does not explicitly contrast itself with siblings like test_connection.

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?

The phrase 'without restarting the server' gives a clear usage context: use this when you need to attach a database during runtime rather than through a restart/config change. It also mentions supported db_type values and modes, which clarifies common variants. It does not name alternatives or exclusions explicitly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

auto_insightsD

Авто-инсайты: топ-5 находок с графиками одним вызовом.

ParametersJSON Schema
NameRequiredDescriptionDefault
focusNo
table_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1.3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only gives a high-level promise and does not state whether the tool is read-only, requires a connected table, handles empty tables, or has any side effects. This is a significant transparency gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short (one sentence) but is under-specified rather than concise. It front-loads the tool name and gives no operational detail, so the sentence is not efficiently informative. The brevity does not serve the agent's needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool likely performs complex analysis and returns charts, the description is far from complete. It lacks any explanation of prerequisites, return format, parameter usage, or output schema details, making it inadequate for an agent to call correctly. The presence of an output schema does not compensate for the missing behavioral and parameter context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has zero description coverage for its two parameters (table_name and focus), and the description does not explain their roles or required formats. An agent cannot infer what table_name refers to or how to use the optional focus parameter, so the description adds no value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it returns 'top-5 findings with charts in one call,' giving a basic idea, but it does not specify what kind of data, what constitutes a 'finding,' or how it differs from other analysis tools like smart_summary or detect_anomalies. The verb is implicit and the resource is vague, so it only partially clarifies purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No mention of when to use this tool versus alternatives, no conditions or exclusions. The description provides zero guidance on selection criteria, leaving the agent to guess based on the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

build_dashboardD

Набор из 4-6 ключевых графиков одним вызовом.

ParametersJSON Schema
NameRequiredDescriptionDefault
focusNo
table_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the full burden of behavioral disclosure. It adds only a small behavioral fact (a batch of 4-6 charts in one call) but omits whether this is read-only, what the response contains, whether it mutates state, and how failures or partial results are handled.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The text is short, but brevity here is under-specification rather than effective conciseness. The only informative content is a count range and 'one call,' which is not enough to make the description useful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value details are not strictly required. However, the description still lacks the selection criteria for the charts, the role of the focus parameter, and any differentiation from closely related siblings, leaving the tool incomplete for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description mentions neither table_name nor focus. An agent cannot infer what table_name refers to, what focus controls, or how the choice of default '' affects the dashboard, so the description does nothing to compensate for the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description is a noun phrase ('A set of 4-6 key charts in one call') with no explicit verb or resource, so it only weakly indicates that the tool builds or returns a dashboard. It also does not explain what makes charts 'key,' which prevents an agent from distinguishing it from sibling tools like visualize_data or create_public_dashboard.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use build_dashboard versus calling individual chart tools, visualize_data, or create_public_dashboard. The phrase 'in one call' implies a convenience/batching purpose, but there is no explicit context, precondition, or alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

classify_rowsC

Классификация строк по категориям с помощью LLM.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
whereNo
columnsYes
categoriesYes
table_nameYes
instructionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full behavioral burden. It only mentions that an LLM is used, without disclosing whether the operation is read-only, whether it writes results, how limits or filters affect behavior, or any side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no wasted words, which makes it easy to parse. However, it is underspecified for a tool with six parameters and several sibling alternatives.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so the description does not need to explain return values. Still, missing parameter semantics, usage guidance, and behavioral disclosure leave the agent unable to reliably construct a correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain any of the six parameters. Required fields like table_name, columns, and categories are completely undocumented beyond their names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear purpose: classifying rows into categories using an LLM. It identifies the resource (rows) and the mechanism (LLM-based categorization), though it does not explicitly differentiate from sibling tools like segment_data or cluster_analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or scenarios where a sibling tool would be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cluster_analysisC

Кластеризация K-Means/DBSCAN с auto-выбором k (elbow).

ParametersJSON Schema
NameRequiredDescriptionDefault
methodNokmeans
columnsYes
n_clustersNo
table_nameYes
sample_sizeNo
min_cluster_sizeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must carry the behavioral burden, but it only mentions the algorithms and elbow-based auto-k selection. It does not disclose whether the operation writes to the database, how DBSCAN interacts with the k/n_clusters parameter, or what transformation or result the user should expect.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single compact phrase with no wasted words and it front-loads the core method. It is concise, though it achieves conciseness by omitting important details rather than by being efficiently comprehensive.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a six-parameter tool with a required string columns parameter and no schema descriptions, this description is insufficient. It does not explain how to format columns, when n_clusters is used, the role of sample_size or min_cluster_size, or what the output contains, even though an output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description needs to explain the six parameters. It only clarifies the method choices and hints at auto-selection of k, leaving table_name, columns, sample_size, and min_cluster_size unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description, 'K-Means/DBSCAN clustering with auto-selection of k (elbow),' clearly identifies the operation as clustering and names the supported algorithms. It is specific about the resource and technique but lacks an explicit verb and does not distinguish the tool from sibling tools like segment_data or classify_rows.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use cluster_analysis versus sibling tools such as segment_data or detect_patterns. The phrase 'clustering' implies the general use case, but no prerequisites, exclusions, or algorithm-selection guidance are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compare_tablesC

Сравнение двух таблиц: общие/уникальные строки, расхождения.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNofull
table_aYes
table_bYes
key_columnsYes
compare_columnsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It explains what the output categories are, but does not state whether the operation is read-only, how keys are matched, what happens when key columns are not unique, or whether this can be expensive on large tables.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short, front-loaded, and free of fluff. However, for a tool with five parameters and no schema descriptions, this level of brevity becomes under-specification rather than appropriately sized conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has five parameters, three required, and no annotation support or schema descriptions. The description conveys only the general purpose and omits critical input semantics, mode behavior, and how it relates to sibling comparison tools. The existing output schema does not compensate for missing input guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description adds no parameter-level meaning. It does not explain how to specify key_columns, compare_columns, or how mode alters results; the enum values are self-descriptive but the crucial column-format details are absent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific operation, comparing two tables, and lists concrete result categories: common/unique rows and discrepancies. This separates it from merge_tables and sql_query at a high level, though it does not explicitly name a sibling alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given for when to use this tool versus siblings such as merge_tables, find_duplicates, or sql_query. There is no mention of prerequisites, supported table sources, or which mode to pick in which scenario, so usage must be inferred entirely from the tool name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

correlation_analysisC

Корреляционный анализ (Пирсон/Спирмен).

ParametersJSON Schema
NameRequiredDescriptionDefault
methodNopearson
columnsNo
table_nameYes
min_strengthNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It merely names the analysis type and methods; it does not say whether the operation is read-only, what it returns, how missing values are handled, or whether any filtering or thresholding is applied. The word 'analysis' weakly implies computation but not enough to be transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one short fragment with no wasted words, but it is under-specified rather than appropriately concise. For a tool with four parameters and no annotation support, this brevity sacrifices necessary information and cannot be considered well-structured for agent consumption.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even though an output schema exists, the description lacks annotations, parameter semantics, and usage guidance. An agent cannot tell what table_name refers to, what format columns expects, or what min_strength controls. The method options provide only a sliver of the context needed for reliable invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description should compensate for undocumented parameters. It does not: it only mentions Pearson/Spearman, which merely duplicates the existing method enum in the schema. There is no explanation of table_name, columns, or min_strength, leaving the agent without enough context to correctly fill three of the four parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The Russian description translates to 'Correlation analysis (Pearson/Spearman)', which identifies the domain and supported methods but never states an explicit verb, operating resource, or result. It is less a tautology than a vague purpose statement: an agent can infer the tool computes correlations, but not that it correlates columns of a table or how it differs from statistical_test.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool instead of alternatives like statistical_test, distribution_analysis, or cross_tab. No context, preconditions, exclusions, or alternative tool names are mentioned, so the agent must rely entirely on the tool's name and sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_public_dashboardB

Создаёт дашборд — standalone HTML с интерактивными фильтрами.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
descriptionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral disclosure burden. It does reveal that the output is a standalone HTML artifact with interactive filters, which is useful, but it omits side effects, the public exposure implications, access considerations, and what the returned result contains.

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 description is a single, tightly worded sentence with no filler. It front-loads the core action and then adds the most decision-relevant detail, the standalone HTML format with interactive filters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple creation tool with an output schema and self-explanatory parameters, the description is minimally sufficient. However, the missing clarification of the 'public' aspect and the lack of differentiation from other dashboard-creation siblings mean an agent could select or invoke it incorrectly in a larger toolset.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it does not mention the title or description parameters at all. The schema itself shows types and defaults, so this is not a complete failure, but the description adds no parameter-level meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear action and resource: it creates a dashboard, and further specifies the output as standalone HTML with interactive filters. However, it does not distinguish this from the sibling build_dashboard or clarify what 'public' means in the tool name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives like build_dashboard, visualize_data, or data_story. No contexts, exclusions, or selection criteria are provided, leaving the agent to infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cross_tabB

Кросс-табуляция двух категорий: частоты, проценты, Хи-квадрат.

ParametersJSON Schema
NameRequiredDescriptionDefault
col_columnYes
row_columnYes
table_nameYes
agg_functionNocount
show_percentNo
value_columnNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden. It discloses key outputs (frequencies, percentages, chi-square) but does not clarify assumptions, side effects, handling of missing values, or whether aggregation changes the chi-square computation. Some transparency is present, but significant behavioral details are missing.

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 description is a single, front-loaded sentence with no filler. Every word contributes meaning, and it is appropriately sized for the tool's scope.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although an output schema exists, the tool has six parameters with zero description coverage and no annotations. The description does not explain how to configure aggregation, percentage display, or value column selection, leaving the agent without enough context to invoke the tool confidently in varied scenarios.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only implicitly maps 'two categories' to row_column and col_column; agg_function, value_column, and show_percent are not explained. The mention of 'percentages' hints at show_percent, but overall the description adds little semantic value over the bare parameter names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific operation — cross-tabulation of two categorical fields — and names concrete outputs: frequencies, percentages, and chi-square. This clearly distinguishes it as an analytical tool, though it does not explicitly differentiate from nearby siblings like pivot_table or statistical_test.

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?

The phrase 'cross-tabulation of two categories' gives clear context for when the tool is appropriate: when an agent needs a contingency table for two categorical columns. It doesn't provide exclusions or name alternatives, but the intended use is reasonably clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

data_quality_reportB

Комплексный отчёт о качестве: полнота, дубликаты, консистентность.

ParametersJSON Schema
NameRequiredDescriptionDefault
table_nameYes
key_columnsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden and does disclose the general behavior: it reports on completeness, duplicates, and consistency. However, it does not clarify whether the operation is read-only, how key_columns influences the report, or what execution behavior to expect, leaving the agent to infer these details.

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 description is a single front-loaded sentence with no filler. Every word contributes to communicating the tool's core output and scope, and it is appropriately compact for a simple report tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although an output schema exists and return values need not be described, the definition is incomplete for practical selection and invocation: it lacks usage guidance, parameter explanation, and enough behavioral detail. An agent given this text among 40+ siblings would have difficulty deciding when to use it and how to set key_columns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it does not explain either parameter. 'key_columns' is left entirely undefined, and the description never connects it to the duplicate/consistency checks despite the name suggesting that relationship.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb-like resource: it produces a comprehensive quality report covering completeness, duplicates, and consistency. It goes beyond a tautology by enumerating concrete quality dimensions, though it does not explicitly distinguish itself from siblings like find_duplicates.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus alternatives such as profile_data, find_duplicates, or detect_anomalies. The intended use is only implied by the name and phrase 'quality report'; no exclusions or alternative conditions are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

data_storyC

Data Story: нарратив с графиками — связный рассказ о данных.

ParametersJSON Schema
NameRequiredDescriptionDefault
themeNo
table_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full behavioral burden. It only hints at the output format (narrative with charts) and says nothing about side effects, dependencies, required permissions, how table_name and theme affect behavior, or any limitations. This is insufficient for a tool with no annotation context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short, but 'Data Story:' redundantly repeats the tool name. The remaining phrase is under-specified rather than economically complete, and there is no structure to help an agent extract key directives quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even though an output schema exists and the tool has only two parameters, the description still misses crucial context: how this tool differs from visualize_data or smart_summary, what inputs mean, and what behavior to expect. The minimal description leaves significant gaps for safe invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description mentions neither table_name nor theme. It does not explain that table_name is the data source or what theme controls. Since the schema provides only names and types, the description adds no semantic value for the parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says the tool produces a 'narrative with charts' and a 'coherent story about data', which conveys an intent but no explicit verb like 'generate' or 'create'. It also does not distinguish this tool from siblings such as visualize_data, smart_summary, or auto_insights, leaving the precise purpose somewhat vague.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use data_story versus its many sibling tools. The description implies it is for creating narrative data reports, but it never states the conditions, exclusions, or alternatives, so an agent cannot make an informed choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

detect_anomaliesC

Обнаружение выбросов z-score и/или IQR.

ParametersJSON Schema
NameRequiredDescriptionDefault
methodNoboth
columnsNo
thresholdNo
table_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the behavioral disclosure burden. It discloses the algorithmic approach (z-score and/or IQR) and implies a read-only analysis through the word 'detects', but it does not explicitly state side effects, data requirements, or how anomalies are returned. The disclosure is partial but not contradictory.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no filler or repetition. It front-loads the core purpose and method. It is concise, though slightly under-specified for a tool with four parameters and no annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of annotations and 0% schema description coverage, the description is not complete enough for confident invocation. It does not explain how columns should be provided, what threshold=0 means as a default, whether the tool modifies data, or what the anomaly result contains. The output schema covers returns, but the input side remains ambiguous.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description needed to compensate for explaining parameters like columns and threshold. It briefly clarifies the method via 'z-score and/or IQR', but the meanings of threshold, columns format, and default behavior are left unspecified. The schema provides titles/defaults/enums, but not enough semantic depth.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool detects outliers using z-score and/or IQR, which is concrete and non-tautological. It does not explicitly name the target resource or contrast with siblings like detect_patterns or statistical_test, so it stops short of full differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool instead of alternatives, how to choose between zscore, iqr, and both, or what prerequisites exist (e.g., numeric columns). The purpose implies an anomaly-detection scenario, but no explicit when-to-use/when-not-to-use information is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

detect_patternsC

Распознавание паттернов в тексте: email, телефон, URL, ИНН, даты.

ParametersJSON Schema
NameRequiredDescriptionDefault
columnsNo
table_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states that patterns are recognized in text but does not say whether the operation is read-only, whether it scans the whole table or only specified columns, or what kind of results are returned beyond the existence of an output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence with no filler and is front-loaded with the core function. While it omits important usage and parameter details, the concise structure itself is well-formed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 2 parameters and many similar sibling tools, the description is incomplete: it lacks usage guidance, parameter semantics, and any clarification of behavior beyond pattern recognition. The presence of an output schema reduces the need to describe return values, but the description still does not provide enough context for confident invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description adds nothing about the parameters. The input schema shows only bare property names (table_name, columns), and the tool description does not explain how columns should be specified or what values are expected, leaving an agent to guess the format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a clear verb ('распознавание') and identifies the resource being acted on: text patterns. It gives concrete examples (email, phone, URL, INN, dates) that make the tool's scope understandable, which is enough to distinguish its general intent from siblings even if it does not explicitly name alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool instead of similar siblings like scan_pii, detect_anomalies, or data_quality_report. No conditions, exclusions, or alternative tool names are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

distribution_analysisC

Анализ распределения: гистограмма, skewness, kurtosis.

ParametersJSON Schema
NameRequiredDescriptionDefault
binsNo
columnsNo
table_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry behavioral disclosure, but it only names three outputs. It does not mention how columns or bins are interpreted, what happens with non-numeric columns, missing values, or whether the operation is read-only.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The text is a compact, front-loaded phrase with no filler; every word adds information. It is concise, even if the content is thinner than an agent likely needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so the return values are partly covered, but the description omits parameter semantics, usage conditions, and sibling differentiation. For a 3-parameter tool in a large family of analysis tools, this is not complete enough to invoke confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description does not explain table_name, columns, or bins. The mention of histogram hints that bins relate to binning, but the parameters' meaning and defaults are not spelled out.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear purpose: analyzing the distribution of data, and lists concrete outputs (histogram, skewness, kurtosis). It is identifiable among siblings like correlation_analysis or statistical_test, though it does not explicitly name alternatives or boundaries.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to choose distribution_analysis over similar tools such as profile_data, statistical_test, or detect_anomalies. There are no conditions, prerequisites, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_dataC

Экспорт данных в CSV-файл.

ParametersJSON Schema
NameRequiredDescriptionDefault
sqlNo
columnsNo
filenameNo
table_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure, but it only says 'export data to CSV'. It does not reveal side effects, file handling, whether existing files are overwritten, permissions needed, or what the operation returns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and front-loaded, but it is under-specified rather than appropriately concise. A single phrase with no parameter or usage context does not earn its place as a complete tool definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with four parameters, no annotations, and a generic purpose, the description is far from complete. Although an output schema exists and may describe return values, the description still omits essential detail about how to use the parameters and when this tool is appropriate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain any of the four parameters: table_name, sql, columns, or filename. The agent is left without guidance on what data gets exported, how filtering works, or how the output file name is determined.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a concrete action, 'export', and a concrete target format, 'CSV file', which makes the tool's core purpose understandable. It implicitly differentiates from the sibling export_xlsx by format, though it does not clarify what data is exported or how it is selected.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool rather than alternatives such as export_xlsx, nor any explanation of prerequisites or typical contexts. The intended use must be inferred entirely from the tool name and format mention.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_xlsxC

Экспорт данных в XLSX-файл с форматированием (ТЗ 3.3). Заголовки жирным, freeze panes, автоширина, автофильтр, NULL → серый фон.

ParametersJSON Schema
NameRequiredDescriptionDefault
sqlNo
columnsNo
filenameNo
table_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It does disclose formatting behaviors (bold headers, freeze panes, etc.), which gives some transparency about what the tool does. However, it does not mention whether the file is overwritten, required permissions, error handling, or any side effects. The cryptic 'ТЗ 3.3' adds no behavioral insight. This is partial disclosure, not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (two sentences) and front-loads the main purpose. It includes useful formatting details. However, the reference to 'ТЗ 3.3' is cryptic and may confuse rather than inform, slightly reducing effectiveness. Overall, it is efficient with minimal waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (4 parameters, no annotations, no schema descriptions, output schema exists but not described), the description is inadequate. It does not explain how to construct the export, what inputs are required, or what the output looks like (though output schema exists, it's not referenced). An agent would need additional knowledge to call this correctly, making it incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not compensate by explaining any of the four parameters. Parameter names like 'sql', 'columns', 'filename', and 'table_name' are somewhat self-explanatory, but the description offers no hints about their format, relationships, or required combinations. For a tool with 4 parameters and zero schema descriptions, this is a significant gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Export data to XLSX file with formatting' and lists specific formatting behaviors (bold headers, freeze panes, auto-width, auto-filter, NULL → gray). This gives a specific verb and resource, but it does not explicitly distinguish from the sibling 'export_data' tool, which could be a generic export. The formatting details add clarity, but the lack of explicit differentiation prevents a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'export_data' or 'sql_query'. It does not mention conditions, prerequisites, or scenarios where this tool is preferred. The reader must infer that it is for formatted XLSX export, but no explicit when/when-not guidance is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

feature_importanceC

Важность признаков (Random Forest + permutation).

ParametersJSON Schema
NameRequiredDescriptionDefault
methodNoboth
table_nameYes
sample_sizeNo
target_columnYes
feature_columnsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It only names the methods (Random Forest + permutation) but does not mention whether the operation is read-only, what happens to the data, or how results are returned. It adds minimal behavioral context beyond the method names.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise—a single sentence with no fluff. It is front-loaded with the main purpose. However, the brevity sacrifices needed detail, which is a structural tradeoff, but for this dimension the conciseness itself is appropriate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with five parameters and an output schema, the description is severely incomplete. It does not explain the output format, the meaning of the parameters, or the intended use cases. Even with the output schema, the agent would not know typical inputs or how to configure method, sample_size, or feature_columns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate by explaining parameter meanings, but it does not. None of the five parameters (table_name, target_column, method, sample_size, feature_columns) are described. The description provides no value for parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states what the tool computes: feature importance using Random Forest and permutation methods. It gives a specific resource and task, but does not distinguish it from sibling tools like correlation_analysis or statistical_test. The purpose is understandable, but lacks explicit differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description does not mention when to prefer it over correlation_analysis, statistical_test, or other related tools. There is no context about the expected use case or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_duplicatesC

Поиск дубликатов: точные или fuzzy (Levenshtein).

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoexact
columnsNo
table_nameYes
fuzzy_thresholdNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It reveals the matching algorithm (Levenshtein for fuzzy), but says nothing about whether the operation is read-only, how duplicate groups are returned, how the threshold is applied, or any side effects or permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and free of filler, which is good, but it is closer to a headline than an operational definition. For a tool with four parameters and no annotation support, the single sentence is too terse to be considered well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations and minimal description, the agent is missing important context: what columns default to, how fuzzy_threshold behaves, and what kind of output to expect beyond the output schema signal. The description is only minimally viable for simple calls using defaults.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only covers the exact/fuzzy mode concept. The meanings of columns, fuzzy_threshold, and table_name are left to their titles, and the description does not explain defaults such as an empty columns string or a threshold of 0.8.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly names the resource ('duplicates') and the operation ('search'), and it adds a distinguishing method detail: exact or fuzzy matching via Levenshtein. This helps separate it from generic analytics siblings such as profile_data or data_quality_report. It is still slightly ambiguous whether duplicates are row-level or column-value-level.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement about when to use this tool instead of siblings like detect_anomalies, detect_patterns, or data_quality_report. No exclusions, prerequisites, or alternative tool names are mentioned, so the agent must infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_sqlC

Генерация DuckDB SQL из описания на естественном языке (требует LLM).

ParametersJSON Schema
NameRequiredDescriptionDefault
executeNo
table_nameYes
descriptionYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions that the tool requires an LLM, which hints at cost or latency, but it does not disclose the meaning or side effects of the execute parameter, whether generated SQL is run against the database, or any read/write implications.

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?

One short sentence with no filler or repetition. The core behavior is front-loaded, and the LLM requirement is a meaningful additional note. Every word contributes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even though an output schema exists, the definition omits essential operational context: what 'execute' does by default, whether a database must be attached first, and whether the result is SQL text, query results, or both. For a tool with three parameters and overlapping siblings, this is incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for undeclared parameter meanings. It clarifies that 'description' is a natural-language spec, but it says nothing about 'table_name' or 'execute', leaving two of three parameters semantically ambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('generation') and resource ('DuckDB SQL'), and identifies the input as a natural-language description. This clearly conveys the tool's core function, though it does not explicitly distinguish itself from closely related siblings like sql_query or query_explain.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use generate_sql versus alternatives such as sql_query, transform_data, or query_explain. The description only says what the tool does, not the conditions or workflow context that should lead an agent to choose it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_logsB

Получить логи запросов/ошибок/аудита (ТЗ 9).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
log_typeNoquery

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'get' and enumerates log categories; it does not state read-only guarantees, response ordering, limits beyond the default, or whether the returned logs are current or scoped to a time window.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short front-loaded sentence is efficient and easy to scan. The parenthetical 'ТЗ 9' is a reference that is not useful to an agent, preventing a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter tool with an output schema, the description and schema together are enough to invoke the tool correctly. However, the lack of usage guidance and behavioral details leaves the context less complete than it could be.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain the limit parameter or explicitly map 'запросов/ошибок/аудита' to log_type. The schema's enum and defaults give basic meaning, but the description adds little beyond restating the categories.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Получить' (get) and names the resource 'логи запросов/ошибок/аудита', which tells an agent this is a log-retrieval tool with three categories. It is clearly distinct from siblings like sql_query or get_schema, though it does not explicitly contrast with any sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The use case is implied: call this tool when query, error, or audit logs are needed. There is no explicit comparison to alternatives or conditions for when not to use it, so the agent must infer applicability from the title and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_schemaB

Структура таблицы: колонки, типы, число строк, превью.

ParametersJSON Schema
NameRequiredDescriptionDefault
table_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral disclosure burden. It discloses what the result covers (columns, types, row count, preview), implying a read-only metadata operation, but does not explicitly state side-effect-free behavior, access requirements, or limitations.

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 description is a single compact phrase that front-loads the essential output components without filler. Every word contributes to understanding what the tool returns.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple and has an output schema, so return details may be covered there. However, the description omits usage context and parameter clarification, leaving an agent to infer how to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not mention table_name or how it is used. The parameter name is self-explanatory, but the description adds no semantic value beyond the bare schema definition.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool returns table structure components: columns, types, row count, and preview. This makes the core purpose clear and distinguishes it from value-oriented siblings like sample_data or profile_data, though it lacks an explicit verb.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool versus alternatives like refresh_schema, profile_data, or sample_data. The description implies schema inspection but does not state conditions, exclusions, or preferred sibling routes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_metricsA

Список расчётных метрик с формулами из Knowledge Base (ТЗ 1.1).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the disclosure burden. 'List' implies a read-only operation and the source is stated, but behavior such as whether all metrics are returned at once, ordering, ownership, or any side effects is not disclosed. For a zero-parameter listing tool this is acceptable but not rich.

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?

A single, compact sentence that front-loads the core action and resource, and adds the meaningful context of the Knowledge Base and specification reference. No filler or redundancy.

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?

For a no-parameter tool with an output schema present, the description is complete enough for an agent to invoke it correctly. It states what is listed, from where, and even references the relevant specification.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the baseline is 4. The description correctly does not invent parameter details; there is nothing more it needs to explain about inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('List') and names a clear resource: calculated metrics with formulas from the Knowledge Base, referenced as ТЗ 1.1. It is unambiguous about what the tool returns, though it does not explicitly contrast itself with siblings such as search_knowledge.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to prefer this tool over alternatives like search_knowledge or get_schema. The intended use is only implied by the tool name and the phrase 'from Knowledge Base'; no exclusions or fallback routing are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

load_dbtC

Загрузить метаданные из dbt manifest.json в Knowledge Base (ТЗ 1.2).

ParametersJSON Schema
NameRequiredDescriptionDefault
manifest_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are absent, so the description must carry the full behavioral burden. It only discloses that metadata is loaded, but not whether the load overwrites existing content, merges, or requires any prerequisites. Idempotency, permissions, and failure behavior are left unstated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that conveys the core action and resource. The parenthetical 'ТЗ 1.2' adds little for an external agent, slightly reducing efficiency, but the overall structure is compact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, but the absence of annotations and the one-line description leave critical context missing for a mutating tool. An agent knows what to load but not the side effects on the Knowledge Base, whether data is replaced, or what preconditions must hold.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description should compensate by explaining manifest_path. It only indirectly references the dbt manifest file and says nothing about the parameter's optionality or default empty-string behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear action ('load'), a specific source ('dbt manifest.json'), and a destination ('Knowledge Base'). It is specific enough to distinguish from generic siblings like load_file or sync_datahub, though it does not explicitly name an alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus load_file, sync_datahub, or update_metadata. The 'ТЗ 1.2' reference is an internal spec label that provides no actionable usage context for an AI agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

load_fileB

Загрузка CSV/Excel/Parquet файла в DuckDB для анализа. Excel: если sheet не указан, грузит все листы. Parquet загружается через DuckDB read_parquet.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
sheetNo
table_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden. It adds useful behaviors: Excel loads all sheets when sheet is omitted, and Parquet is loaded via DuckDB read_parquet. However, it does not disclose whether existing tables are overwritten, how table_name is used, or what happens on errors.

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 description is compact at two sentences with no filler. The first sentence front-loads the core purpose, and the second adds relevant format-specific details that justify their place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with three parameters, no annotations, and 0% schema coverage, the description is incomplete. It omits table_name semantics and does not address key edge cases like existing table behavior. The presence of an output schema reduces the need to document return values, but invocation guidance remains insufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains the sheet parameter's default behavior and the Parquet loading mechanism, but it leaves table_name entirely undocumented, leaving the agent unsure how that parameter affects the load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: loading CSV/Excel/Parquet files into DuckDB for analysis. It clearly names supported formats and the target system, but it does not explicitly distinguish itself from sibling tools like attach_database or export_data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives such as attach_database or sql_query. The phrase 'для анализа' implies a general use case, but no exclusions, prerequisites, or alternative routing are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

merge_tablesC

Умный JOIN двух таблиц с авто-детекцией ключей.

ParametersJSON Schema
NameRequiredDescriptionDefault
table_aYes
table_bYes
join_typeNoinner
key_columnsNo
output_tableNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It reveals the key behavior of automatic key detection, but it does not explain whether the operation modifies data, creates an output table, requires specific permissions, or how ambiguous or missing keys are handled. The term 'smart' is vague and leaves important side effects unstated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. However, it is undersized for a tool with five parameters and no annotations: it communicates the core idea but omits enough detail that the brevity becomes under-specification rather than effective conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's five parameters, no annotations, and a vague 'smart' algorithm, the description is far from complete. The presence of an output schema covers return values, but the tool still lacks any explanation of when to use it, how auto-detection works, or what the key_columns override does. An agent would have to guess at critical invocation details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not compensate. The only parameter-related insight is that key detection is automatic, which hints at the key_columns behavior. However, table_a, table_b, join_type, and output_table are all left with only their schema titles and defaults, with no explanation of expected values or relationships.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action: a smart JOIN of two tables with automatic key detection. It identifies both the verb and the resource, and the phrase 'JOIN of two tables' is enough to distinguish it from general SQL query or data comparison tools. However, it does not explicitly contrast it with any sibling tool, so it falls short of full differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no indication of when to use this tool versus alternatives like sql_query, compare_tables, or transform_data. It does not state use cases, prerequisites, or scenarios where a different tool would be preferable. The only implicit guidance is that the user has two tables and wants a join.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pivot_tableD

Сводная таблица в стиле Excel (PIVOT).

ParametersJSON Schema
NameRequiredDescriptionDefault
col_columnYes
table_nameYes
row_columnsYes
agg_functionNosum
value_columnYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1.9/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'pivot table in Excel style' and reveals nothing about whether this reads data, creates a new artifact, aggregates values, or has side effects. The description adds no behavioral information beyond the tool's name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single phrase is very short and front-loaded, with no filler words. However, it is under-specified rather than efficiently complete, and the lack of structure means the agent gets no semantic organization to help with invocation. Conciseness is achieved at the expense of necessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a five-parameter tool with no annotations, no parameter-level description coverage, and a one-line generic description. The output schema exists, but the description still fails to explain the operation's inputs, expected behavior, or relationship to sibling tools. The definition is far from complete enough for reliable agent invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description provides no clarification for any parameter. The five parameters (table_name, row_columns, col_column, value_column, agg_function) remain entirely unexplained, so an agent must guess their meaning and constraints from names alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies the concept ('Сводная таблица в стиле Excel (PIVOT)') and implies a pivot-table operation on a table, so an agent can roughly infer purpose. However, it lacks a specific verb and does not differentiate from sibling tools like cross_tab, which likely overlap heavily. The name itself does most of the work.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. The sibling list includes cross_tab and sql_query, which could serve similar analytical purposes, but the description gives no selection criteria or exclusions. Usage context is entirely absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

predict_trendC

Прогнозирование тренда (линейная/полиномиальная регрессия).

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNomonth
model_typeNolinear
table_nameYes
date_columnYes
value_columnYes
forecast_periodsNo
polynomial_degreeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure, but it only restates the regression/forecasting function. It does not reveal whether the tool writes anything, what data requirements or assumptions apply, how missing values are handled, or what the returned output looks like.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is front-loaded and contains no fluff, so it is concise. However, given seven parameters and a nontrivial forecasting task, this brevity is closer to under-specification than to appropriately sized documentation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The output schema exists but is not shown, and the text gives no context about required inputs, model calibration, or result interpretation. An agent with only this description would lack the information needed to call predict_trend correctly with the right table, columns, and forecast settings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Parameter description coverage is 0%, and the description only hints at the model_type concept via 'linear/polynomial regression'. It leaves table_name, date_column, value_column, period, forecast_periods, and polynomial_degree semantically undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies a specific verb (forecasting) and a concrete resource (trend), and names the two model types (linear and polynomial regression). It clearly conveys the core task, though it does not explicitly differentiate the tool from sibling analytics tools like time_analysis or detect_anomalies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use predict_trend over sibling tools, nor about prerequisites such as needing a time-series table with a date column and a numeric value column. No exclusions or alternatives are mentioned, so an agent is left to infer the appropriate usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

profile_dataC

Профилирование: статистика по колонкам (null%, уникальность, min/max, top-5).

ParametersJSON Schema
NameRequiredDescriptionDefault
columnsNo
table_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the type of statistics computed but does not state whether the operation is read-only, any side effects, permission requirements, or potential performance impact. Such information is critical for a profiling tool that likely scans full tables. The description is minimal and does not go beyond the basic output.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, compact sentence that front-loads the core purpose. It avoids unnecessary words and is appropriately sized. However, it is so brief that it sacrifices substantive content, though that is not a conciseness penalty — it is structurally efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even though an output schema exists (so return format is covered), the description is incomplete for a tool with no annotations and two parameters. It omits parameter meanings, usage conditions, and any behavioral safety context. An agent would struggle to know how to pass the optional 'columns' parameter or whether the operation is safe to run. The description is adequate only as a terse overview.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain either parameter. 'table_name' is required but never mentioned, and 'columns' (optional, default '') is not clarified regarding format (e.g., comma-separated list?) or behavior when empty. The description adds no value beyond the schema's property names, leaving the agent guessing about expected values.

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 clearly states a specific verb ('Профилирование' – profiling) and a concrete resource (column statistics) with explicit outputs: null%, uniqueness, min/max, top-5. This distinguishes it from sibling tools like data_quality_report or find_duplicates by specifying the exact metrics computed. Even though it's in Russian, the meaning is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as data_quality_report or distribution_analysis. There is no mention of appropriate use cases, exclusions, or comparisons to sibling tools. An agent would have to infer from the name and stats listed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

query_explainA

Показать план выполнения SQL (EXPLAIN) и стоимость. Полезно перед тяжёлыми запросами к удалённой БД. (фича G)

ParametersJSON Schema
NameRequiredDescriptionDefault
sqlYes
connectionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden. It does convey that the tool returns a plan and cost rather than query results, and it implies a pre-check role. However, it does not explicitly state whether the query is executed, whether the operation is read-only, or what side effects may occur. No contradiction exists with annotations because there are none.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded: the first sentence states the core purpose, and the second gives a practical use case. The trailing '(фича G)' is minor noise that does not help an agent invoke the tool, preventing a perfect score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values do not need to be explained in the description. The main gaps are the undocumented connection parameter and the lack of an explicit safety/no-execution statement. For a simple EXPLAIN tool this is still minimally workable for an agent familiar with SQL.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for both parameters. It indirectly covers 'sql' by referencing SQL, but it says nothing about the 'connection' parameter or its default behavior. This leaves an agent guessing about an optional but important parameter.

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 opens with a specific verb and resource: 'show SQL execution plan (EXPLAIN) and cost.' This clearly distinguishes it from sibling tools like sql_query, which executes queries, and from other analysis tools. Even without naming alternatives, the EXPLAIN semantics make the tool's purpose unmistakable.

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?

The description states a concrete use case: useful before heavy queries to a remote database. This tells an agent when to prefer this tool over directly executing a query. It does not list exclusions or explicitly name alternative tools, but the guidance is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

refresh_schemaA

Обновить схему подключений — перечитать таблицы, колонки, FK из source DB (A3). Если connection не указан — обновляет все подключения. Полезно когда в БД добавили таблицы/колонки после старта сервера.

ParametersJSON Schema
NameRequiredDescriptionDefault
connectionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of behavioral disclosure. It covers the key conditional behavior (updates all connections if none specified) and the fact that it re-reads from the source database. It doesn't describe potential side effects, whether the schema cache is overwritten, or any required permissions.

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 description is three concise sentences with no filler. The first sentence gives the core action, the second explains the conditional behavior, and the third gives a practical trigger scenario. Everything earns its place.

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?

For a simple tool with one optional parameter and an existing output schema, the description covers the action, the condition, and when to use it. Nothing critical for an agent to invoke the tool correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides no parameter description and coverage is 0%, so the description must compensate. It does this by explaining that omitting connection refreshes all connections, giving meaning to the optional parameter. It doesn't specify format or examples, but for a single optional string this is sufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('refresh connection schema') and the resource being refreshed (tables, columns, FKs from source DB A3). It is specific enough to understand the tool's core function, though it does not explicitly distinguish it from sibling get_schema.

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?

The description provides a clear usage scenario: useful when tables/columns were added after server start. It also explains the conditional behavior when connection is omitted. However, it doesn't explicitly mention alternatives or when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sample_dataC

Выборка строк из таблицы.

ParametersJSON Schema
NameRequiredDescriptionDefault
nNo
whereNo
methodNorandom
table_nameYes
stratify_columnNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the full burden of behavioral disclosure. It only says rows are sampled and does not explain whether the operation is read-only, how random selection works, whether filters apply via the where parameter, or what output structure is returned. This is insufficient for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short, but this is under-specification rather than effective conciseness. A single phrase conveys the basic purpose but omits the parameter behavior and selection semantics that an agent needs to invoke the tool correctly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given five parameters, one required field, an enum, and no annotations, the description is not complete enough. It does not explain the meaning of the sampling methods, the filter syntax, or how stratify_column relates to method, so an agent cannot reliably construct a correct call from the provided text.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not compensate by explaining any of the five parameters. It does not mention n, where, method, stratify_column, or table_name, leaving the agent to guess their meaning and interactions solely from names and defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb-resource relationship: 'sampling rows from a table.' It identifies what the tool does at a basic level, though it does not differentiate it from sibling tools like sql_query or profile_data and does not clarify whether this is a preview or statistical sampling operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use sample_data versus alternatives such as sql_query, profile_data, or get_schema. There is no mention of typical use cases, prerequisites, or exclusions, so an agent must infer when this tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scan_piiC

Сканировать таблицу на PII и пометить чувствительные колонки (ТЗ 10).

ParametersJSON Schema
NameRequiredDescriptionDefault
table_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. 'Пометить чувствительные колонки' implies a mutation or metadata update, but the description does not say whether the marking is reversible, whether it modifies table metadata, or whether any permissions are required.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with the key action and target front-loaded. The trailing '(ТЗ 10)' reference is project-specific noise that does not help an agent invoke the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with an output schema present, this is mostly callable. However, it omits side-effect disclosure and any usage context relative to the large set of sibling data-analysis tools, leaving gaps in when and how it should be used.

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 0% and table_name has no schema help. The description adds the minimal meaning that the parameter is the table to scan for PII, but it does not cover naming format, qualified names, or error behavior. Some compensation occurs, but it is thin.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Сканировать') and resource ('таблицу'), and states the goal: detect PII and mark sensitive columns. This distinguishes it from siblings like profile_data or data_quality_report, though it does not explicitly name an alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool versus siblings such as profile_data, data_quality_report, or semantic_search. The description only states the action, leaving the intended use case to be inferred from the tool name and wording.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_knowledgeB

Поиск по базе знаний: метаданные таблиц, описания колонок, метрики, примеры (ТЗ 8). Комбинирует полнотекстовый и семантический поиск.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
top_kNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of disclosing behavior. It does reveal a meaningful behavioral trait: it combines full-text and semantic search. However, it does not mention result ordering, whether it only reads data, any limitations on query structure, or how `top_k` affects behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with no filler. The scope is listed first, followed by a useful behavioral detail. The cryptic parenthetical '(ТЗ 8)' adds little for an agent, but it does not significantly harm clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema, so return values are covered elsewhere. The description gives the core purpose and hybrid-search behavior, but it lacks parameter-level guidance and explicit routing versus sibling tools. It is adequate for a simple search tool but has clear gaps in usage recommendations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the two parameters. It does not explain what `query` should contain or how `top_k` controls result count. The parameter names are somewhat self-explanatory, but the description adds no meaning beyond the raw schema fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action and resource: searching the knowledge base for table metadata, column descriptions, metrics, and examples. It also adds a differentiator by noting it combines full-text and semantic search, which helps separate it from the sibling `semantic_search`. It does not explicitly name sibling tools, but the scope is much clearer than a generic 'search' statement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The usage context is implied: use this tool to find knowledge-base content such as metadata and column descriptions. The hybrid-search note implies it is appropriate when both full-text and semantic matching are needed, but it does not state when to prefer `semantic_search`, `get_schema`, or other siblings, nor does it give any exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

segment_dataC

Сегментация: квинтили/децилы/кастомные бакеты или RFM-анализ.

ParametersJSON Schema
NameRequiredDescriptionDefault
columnYes
methodNoquintile
rfm_modeNo
id_columnNo
table_nameYes
date_columnNo
amount_columnNo
custom_boundsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It does not mention whether the tool modifies the data, returns a new column, or has any side effects. The output schema exists (per context) but is not described here, so the agent has no idea what happens after invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short (one sentence), which makes it easy to parse, but it is under-specified for a tool with 8 parameters. It lacks any structured guidance, so the conciseness is not beneficial; it reads more like an incomplete summary than a helpful definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of the tool (8 parameters, including an enum and RFM mode), the description is severely incomplete. It does not explain how to configure the segmentation, what inputs are required, or what the output looks like. Combined with zero parameter descriptions in the schema, this tool is nearly impossible to use correctly without external documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, and the tool description does not explain any of the 8 parameters. The description mentions methods but does not map them to the 'method', 'rfm_mode', or 'custom_bounds' parameters. This is a critical gap, as the agent cannot know how to configure the segmentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs segmentation with specific methods (quintiles, deciles, custom buckets, RFM). This distinguishes it from sibling tools like cluster_analysis and classify_rows. However, it does not explicitly mention the input data source (table and column), which is only implied by the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites, use cases, or exclusions. An agent must infer usage from the schema alone, which is insufficient for choosing between this and related analysis tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

smart_summaryC

Умное саммари: ключевые метрики, топ-группы, аномалии, паттерны.

ParametersJSON Schema
NameRequiredDescriptionDefault
focusNo
table_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden of behavioral disclosure. It states what kinds of insights the summary includes, but it does not disclose how the summary is computed, whether it is read-only, what scope it covers, or any limitations or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and contains no fluff, but it is more of a fragment than a structured explanation. It is concise without being informative enough to be considered well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although an output schema exists, so return-value documentation is less critical, the description still fails to explain the meaning of the 'focus' parameter or how this tool relates to the many analytical sibling tools. For a parameterized tool with no annotations, this is not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description adds no meaning to either parameter. 'table_name' is only implicit from the tool's purpose, and 'focus' is entirely unexplained, even though it likely controls what the summary emphasizes.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the tool's function as a 'smart summary' and lists its contents (key metrics, top groups, anomalies, patterns), so an agent can infer it produces a synthesized analytical overview. However, it is a noun phrase rather than a specific verb+resource statement, and it does not distinguish this from closely related siblings like auto_insights, data_story, or detect_patterns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is used to get a concise analytical summary of a table, but it gives no explicit guidance on when to choose it over alternatives or when not to use it. No exclusions, prerequisites, or routing hints are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sql_queryA

Выполняет SQL-запрос (read-only). По умолчанию — push-down к source DB (remote). SQL пишется в DuckDB-синтаксисе, автоматически переводится под диалект source DB (sqlglot). Read-only: INSERT/UPDATE/DELETE/DROP заблокированы. format: markdown (по умолчанию), json, csv. limit: ограничение строк (0 = default 200).

ParametersJSON Schema
NameRequiredDescriptionDefault
sqlYes
limitNo
formatNomarkdown
connectionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description fully carries the behavioral burden. It clearly discloses read-only enforcement, push-down execution, SQL syntax translation via sqlglot, blocked statement types, and default row limit. This is unusually transparent for a tool with no annotations.

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 description is compact and front-loaded: the core purpose appears first, followed by essential behavioral constraints and parameter notes. Every line adds information, with no filler or repetition of the tool name.

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 SQL execution tool, the description covers the operation, safety constraints, syntax model, output formats, and default limit. It does not explain the `connection` parameter or error behavior, but the presence of an output schema reduces the need to describe return values. Overall, it is nearly complete for the tool's complexity.

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 0%, so the description must compensate. It explains format (markdown/json/csv) and limit (0 = default 200), adding real value beyond the schema. However, it omits any explanation of the `connection` parameter, leaving a meaningful gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the action (executes SQL query) and resource (read-only query against source DB), with a specific verb and resource. It doesn't explicitly differentiate from siblings like query_explain or generate_sql, but the read-only execution purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies appropriate use: running read-only SQL with push-down execution and automatic dialect translation. It states that INSERT/UPDATE/DELETE/DROP are blocked, providing an implicit exclusion, but it does not explicitly say when to prefer this tool over its siblings or mention alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

statistical_testC

Статистические тесты: t-test, Mann-Whitney, KS, Хи-квадрат.

ParametersJSON Schema
NameRequiredDescriptionDefault
testYes
columnNo
group_aNo
group_bNo
table_nameYes
group_columnNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.2/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden, but it only restates that statistical tests are run and gives their names. It does not disclose how data is grouped, whether assumptions apply, what outputs are produced, or whether the operation is read-only.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single compact phrase with no fluff, which serves conciseness, but it is under-specified for a tool with six parameters. It is not structured to convey parameter relationships or usage details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a six-parameter tool with zero parameter documentation and no annotations, this description is far too thin. An agent cannot determine how to fill group_a, group_b, group_column, or column for each test, nor what the result format is beyond the existence of an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage and the description provides no explanation for table_name, column, group_a, group_b, or group_column. The test enum is self-documenting, but the relationship between tests and required grouping/column parameters is entirely absent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool's function and enumerates four concrete statistical tests (t-test, Mann-Whitney, KS, Chi-square), making it clear this is a hypothesis-testing tool. It is less than a full sentence with no explicit verb, but the list of tests is specific enough to separate it from broader analysis siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to choose this tool over closely related siblings such as compare_tables or correlation_analysis, nor any criteria for selecting among the four tests. The description only lists available tests without explaining use context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sync_datahubB

Синхронизировать метаданные из DataHub в Knowledge Base (ТЗ 1.2).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries full responsibility for explaining behavior. It discloses only the action and direction, not whether the synchronization overwrites, merges, creates new entries, requires credentials, or is idempotent.

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 description is a single, front-loaded sentence with the verb at the beginning and no filler. The parenthetical '(ТЗ 1.2)' is a minor spec reference, but overall the description is appropriately concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with an output schema, this is enough to invoke the operation syntactically. However, synchronization semantics such as incremental vs full sync, effect on existing Knowledge Base content, and connection requirements are missing, which is a meaningful gap given there are no annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero properties, so there are no parameters for the description to clarify. Per the baseline for a zero-parameter tool, this is adequate even though no additional parameter detail is provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific operation ('synchronize metadata'), a source (DataHub), and a target (Knowledge Base), which makes the tool's purpose identifiable. It does not explicitly differentiate it from sibling tools such as update_metadata or load_dbt, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus alternatives like update_metadata or search_knowledge. There are no stated prerequisites, such as a configured DataHub connection, and no exclusions; the only usage signal is the literal meaning of 'synchronize'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

test_connectionC

Проверить доступность подключения к БД.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the full burden. It only says the tool checks connection availability but does not disclose side effects, error behavior, return format, or whether it opens a network connection. This is minimal and leaves key behavior implicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence with no filler, which is good, but it is under-specified rather than effectively concise. It is front-loaded but does not provide enough substance to be considered well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one required parameter, no annotations, and no parameter explanation, the description is not complete enough for reliable invocation. The presence of an output schema reduces the need to describe return values, but the core parameter semantics and usage context are still missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain the required 'name' parameter. The agent cannot determine whether 'name' refers to a connection name, database name, host, or other identifier.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The Russian description 'Проверить доступность подключения к БД' clearly states a specific action (check) and resource (database connection availability). It is distinct from the query/analysis siblings, though it does not explicitly name an alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus alternatives such as sql_query, refresh_schema, or get_logs. The implied pre-flight use case is not stated, and no exclusions or selection criteria are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

time_analysisC

Анализ временных рядов: тренд, рост/падение, скользящее среднее.

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNomonth
table_nameYes
date_columnNo
value_columnNo
moving_avg_windowNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It names trend, growth/decline, and moving average as outputs, but does not explain return shape, side effects, prerequisites, or how missing data or invalid columns are handled. This is thin for a tool operating on table data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise phrase that front-loads the core purpose and mentions the main analytical outputs. However, it is too sparse to be fully useful, so it earns high marks for brevity but not the top score due to missing elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although an output schema exists, the description is incomplete for an analysis tool with five parameters and no schema-level descriptions. It does not explain required columns, how period granularity works, how the moving-average window is applied, or how this tool relates to similar siblings like predict_trend.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for undocumented parameters. It mentions moving average, which maps to moving_avg_window, but gives no explanation of date_column, value_column, period, or table_name semantics beyond what their titles already state. Most parameter meaning is left to inference.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Time series analysis: trend, growth/decline, moving average,' which names the resource and the kind of computations performed. While it does not explicitly differentiate from siblings like detect_anomalies or predict_trend, the mention of specific analytical outputs makes the purpose reasonably distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool versus alternatives such as detect_anomalies, predict_trend, or smart_summary. The intended context is only implied by the phrase 'time series analysis,' leaving the agent to infer when this tool is preferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

transform_dataC

Трансформации: normalize, fillna, extract(даты), onehot, bin, derive.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationsYes
table_nameYes
output_tableNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure, but it only names transformation categories. It does not state whether the input table is modified in place, whether output_table is required to avoid side effects, or what happens if an operation is invalid or unsupported. The operation list provides minimal behavioral context but leaves major effects undisclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The text is extremely short, which is concise, but it is a fragment rather than a well-structured definition. It omits the necessary usage and behavior content, so the brevity reflects under-specification rather than effective density.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with three parameters, no annotations, and many siblings, the description is far from complete. It does not explain how to construct the operations string, the role of optional output_table, or the effect on the source table. The presence of an output schema reduces the need to describe return values, but the core invocation contract is still missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It partly does by enumerating candidate values for operations (normalize, fillna, extract dates, onehot, bin, derive), but it does not explain the expected string format, separators, per-operation arguments, or the meaning of table_name and output_table.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The tool name and the Russian fragment indicate that it applies transformations to data, and the list names specific operations (normalize, fillna, extract dates, onehot, bin, derive), so it is not a pure tautology. However, it lacks a full sentence stating what the tool does, what input it acts on, and how it differs from sibling data-preparation tools like segment_data or merge_tables.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as sql_query, profile_data, or other siblings. No contexts, exclusions, or prerequisites are mentioned; the agent must infer applicability solely from the list of transformation names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_metadataC

Обновить метаописание таблицы в Knowledge Base (ТЗ 1.1). column_descriptions: JSON {"col1": "описание", "col2": "..."} layer: raw | staging | mart | certified

ParametersJSON Schema
NameRequiredDescriptionDefault
layerNo
ownerNo
table_nameYes
descriptionNo
is_certifiedNo
column_descriptionsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'update' and provides field hints; it does not disclose whether metadata is overwritten partially or fully, what effect is_certified has, whether permissions are needed, or what side effects occur.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the core purpose, followed by parameter hints. The 'ТЗ 1.1' token is mildly extraneous, but overall the structure is economical and readable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 6-parameter mutation tool with no annotations and no schema-level parameter descriptions, this is insufficient. It provides only two parameter hints and no behavioral or usage context; the output schema reduces the need to describe returns, but the input side remains under-specified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It usefully documents the column_descriptions JSON format and the allowed layer values, but it says nothing about the required table_name or about owner, description, and is_certified. Most parameters remain ambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear action ('Обновить метаописание таблицы') and a clear resource ('Knowledge Base'). It is distinctive enough against the sibling list, though the internal spec code 'ТЗ 1.1' adds little and 'метаописание' is slightly vague.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool—when updating table metadata in the Knowledge Base—but gives no explicit guidance, no exclusions, and no alternatives. With siblings like refresh_schema, search_knowledge, and sync_datahub nearby, the lack of routing guidance is a real gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

visualize_dataC

Визуализация: bar/line/pie/scatter/area/histogram. PNG + JSON spec.

ParametersJSON Schema
NameRequiredDescriptionDefault
sqlNo
limitNo
titleYes
x_columnYes
y_columnsYes
chart_typeYes
table_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only mentions output format (PNG + JSON) but does not state whether the tool is read-only, has side effects, or how it handles errors or limits. This is insufficient for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence that is concise but severely under-specified. It front-loads chart types but omits crucial context, making it inadequately sized for a tool with 7 parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For the tool's complexity (7 parameters, 0% schema descriptions, no annotations), the description is extremely incomplete. It does not explain how to specify data, the content of the JSON spec, or any parameter constraints, leaving an agent without enough information to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description adds no meaning to parameters like table_name, x_column, y_columns, title, limit, or sql. The only mention of chart types duplicates the enum values, providing no extra semantic value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool produces visualizations of specific chart types (bar/line/pie/scatter/area/histogram) and outputs PNG + JSON, making its core purpose clear. However, it does not explicitly mention that it operates on a table or columns, which are evident from the schema, though this is minor.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like profile_data or correlation_analysis. There is no mention of prerequisites, typical use cases, or when not to use it.

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. Dates show when Glama detected each change.

  1. 46 tool updatesv1.0.0
    • First observedadd_example
    • First observedattach_database
    • First observedauto_insights
    • First observedbuild_bi_link
    • First observedbuild_dashboard
    • First observedclassify_rows
    • First observedcluster_analysis
    • First observedcompare_tables
    • First observedcorrelation_analysis
    • First observedcreate_public_dashboard
    • First observedcross_tab
    • First observeddata_quality_report
    • First observeddata_story
    • First observeddetect_anomalies
    • First observeddetect_patterns
    • First observeddistribution_analysis
    • First observedexport_data
    • First observedexport_xlsx
    • First observedfeature_importance
    • First observedfind_duplicates
    • First observedgenerate_sql
    • First observedget_logs
    • First observedget_schema
    • First observedlist_metrics
    • First observedload_dbt
    • First observedload_file
    • First observedmerge_tables
    • First observedpivot_table
    • First observedpredict_trend
    • First observedprofile_data
    • First observedquery_explain
    • First observedrefresh_schema
    • First observedsample_data
    • First observedscan_pii
    • First observedsearch_knowledge
    • First observedsegment_data
    • First observedsemantic_search
    • First observedsmart_summary
    • First observedsql_query
    • First observedstatistical_test
    • First observedsync_datahub
    • First observedtest_connection
    • First observedtime_analysis
    • First observedtransform_data
    • First observedupdate_metadata
    • First observedvisualize_data

TDQS

C2.4/5.0
Disambiguation2/5

Many tools have overlapping analytical/reporting purposes: smart_summary, auto_insights, data_story, build_dashboard, and create_public_dashboard all produce insight-style outputs, while export_data and export_xlsx duplicate export functionality. Even with descriptions, an agent would struggle to choose among the many analysis and quality tools (profile_data, data_quality_report, find_duplicates, detect_anomalies) without deep domain knowledge.

Naming Consistency4/5

Tool names are uniformly snake_case and mostly follow a verb_noun pattern (get_schema, attach_database, export_data, load_file). Some names deviate toward noun_analysis (correlation_analysis, distribution_analysis) or compound adjectives (semantic_search, smart_summary), but the overall style remains predictable and readable.

Tool Count2/5

46 tools is far beyond the typical well-scoped range and moves into kitchen-sink territory. The server attempts to cover SQL access, schema management, semantic search, quality analysis, ML, dashboards, BI integration, knowledge base, and data governance, making the set feel sprawling rather than curated.

Completeness3/5

The tool surface is extremely broad and covers most data exploration, analysis, export, and metadata workflows, but the large number of overlapping insight/report tools suggests the domain was not tightly defined. Some basic lifecycle operations are missing (e.g., detach/remove a connection, delete metadata entries), which creates minor gaps.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables natural language querying of databases with multi-turn conversations, auto-generated charts, and proactive monitoring via scheduled queries and alerts.
    1
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to query databases using natural language, with automatic schema discovery and SQL compilation.
    6,002
    3,158
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to securely interact with multiple databases (MySQL, PostgreSQL) via natural language queries, with cross-database querying and enterprise-grade security.
    21
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables natural language querying of SQL databases using AI, supporting multiple database types and automatic schema discovery.
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MarkIvor/mcp-datasearcher'

If you have feedback or need assistance with the MCP directory API, please join our Discord server