DataSearcher MCP
Enables executing SQL queries and performing data analysis directly on ClickHouse databases, including automatic SQL dialect translation.
Provides an embedded analytical engine for ML tasks (clustering, forecasting) and federated queries across multiple databases, with automatic SQL translation.
Enables executing SQL queries and performing data analysis directly on MySQL databases, including automatic SQL dialect translation.
Provides LLM-based classification (classify_rows) and semantic search (semantic_search) using locally hosted Ollama models.
Enables executing SQL queries and performing data analysis directly on PostgreSQL databases, including automatic SQL dialect translation.
Enables executing SQL queries and performing data analysis directly on SQLite databases.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@DataSearcher MCP show top 5 regions by revenue"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
DataSearcher MCP
Подключи базу данных к 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 для сводных таблиц |
|
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_tablesRate limiting — ограничение SQL/ML запросов в минуту
HTTP Bearer auth — для удалённого доступа
Query timeout — защита от тяжёлых запросов
5. Knowledge Base + метаданные
SQLite-хранилище бизнес-описаний: что значит каждая таблица и колонка, кто владелец данных, какие метрики как считаются. Наполняется из:
Схемы БД (автоматически)
dbt manifest (описания, тесты, теги)
DataHub (lineage, глоссарий)
Ручной правки через
update_metadata
6. Семантический поиск + Example Store
semantic_search— поиск по текстовым данным через LLM embeddingsExample Store — база пар «NL-запрос → SQL» для few-shot обучения
search_knowledge— поиск по метаданным и примерам
7. REST API как источник данных
Подключайте не только БД, но и REST API — данные выгружаются в DuckDB и доступны всем 46 инструментам анализа.
8. BI link builder
Генерация 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.yamlconnections:
- 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/mcpHTTP:
datasearcher-mcp --transport http --host 0.0.0.0 --port 8000 --auth-token secret12346 инструментов
SQL и подключения
Инструмент | Что делает |
| SQL-запрос (read-only, markdown/json/csv, авто-трансляция диалектов) |
| План выполнения SQL (EXPLAIN) |
| Структура таблицы (remote или DuckDB) |
| Подключить новую БД в рантайме |
| Обновить схему после изменений в БД |
| Проверить доступность подключения |
| Загрузить CSV/Excel/Parquet |
Аналитика данных
Инструмент | Что делает |
| Умное саммари таблицы |
| Статистика по колонкам |
| Аудит качества (пропуски, дубликаты) |
| Топ-5 инсайтов автоматически |
| Выборка строк |
| Дубликаты (точные и fuzzy) |
| Выбросы (z-score, IQR) |
| Паттерны в тексте (email, ИНН, телефон) |
| SQL с форматами markdown/json/csv |
Статистика и связи
Инструмент | Что делает |
| Корреляции (Пирсон/Спирмен) |
| Форма распределения |
| Кросс-табуляция + Хи-квадрат |
| Сводная таблица (Excel PIVOT) |
| t-тест, Mann-Whitney, KS, Хи-квадрат |
| Сегментация, RFM-анализ |
| Сравнение двух таблиц |
| Тренды, сезонность, скользящее среднее |
ML и прогнозы
Инструмент | Что делает |
| Прогноз тренда (регрессия) |
| Кластеризация K-Means/DBSCAN |
| Важность признаков (Random Forest) |
| Классификация строк через LLM |
| Семантический поиск через embeddings |
| Генерация SQL из описания на русском |
Визуализация и отчёты
Инструмент | Что делает |
| График → PNG + JSON |
| Дашборд 4-6 графиков |
| Standalone HTML с фильтрами |
| Нарратив с графиками |
| Экспорт в CSV |
| Экспорт в XLSX с форматированием |
| URL для Superset/Grafana/Datalens |
Управление данными
Инструмент | Что делает |
| Нормализация, one-hot, извлечение дат |
| JOIN (с авто-определением ключей по FK) |
| Обновить метаописание в Knowledge Base |
| Список расчётных метрик с формулами |
| Скан PII в таблице |
| Логи запросов/ошибок/аудита |
| Добавить эталон «NL→SQL» в Example Store |
| Поиск по базе знаний и примерам |
| Импорт метаданных из dbt manifest |
| Синхронизация с 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 = отключить guardPII auto-detection + masking
При загрузке схемы сервер сканирует текстовые колонки и автоматически определяет: email, телефон (РФ), ИНН, СНИЛС, паспорт, банковскую карту, IP-адрес.
В результатах SQL-запросов PII маскируется: a***@company.com, +7(912)***-**-89, 7710******.
DATASEARCHER_MCP_PII_MASKING=trueKnowledge Base (SQLite)
Бизнес-метаданные в SQLite: описания таблиц, колонок, владельцы, теги, расчётные метрики. Наполняется из 4 источников (fallback-цепочка):
Схема БД — автоматически (DESCRIBE, information_schema, FK)
dbt manifest —
load_dbtинструмент (описания, тесты, теги, слои)DataHub —
sync_datahubинструмент (lineage, глоссарий, владельцы)Ручная правка —
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=trueRate 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Режимы работы подключений
Режим | Как работает | Когда использовать |
| SQL → source DB, ML → DuckDB (лениво) | Универсальный |
| Всё SQL в source DB, без DuckDB | БД быстрая, ML не нужен |
| Таблицы выгружаются в DuckDB при старте | Файлы, маленькие БД |
| Source DB прицепляется к DuckDB | Кросс-БД JOIN |
Поддерживаемые БД
БД | db_type | Remote SQL | Federated |
PostgreSQL |
| ✅ | ✅ |
MySQL / MariaDB |
| ✅ | ✅ |
ClickHouse |
| ✅ | — |
SQLite |
| ✅ | ✅ |
REST API |
| — | — |
CSV | файл | — | — |
Excel (.xlsx) | файл | — | — |
Parquet | файл | — | — |
LLM для классификации и поиска
| Как работает | Когда использовать |
| LLM-клиент ( | Ollama, vLLM, OpenAI |
| Модель хоста через MCP sampling | Claude Desktop |
| Инструкция для хоста | Без LLM |
Работает на бюджетных LLM — достаточно 7B-14B.
Переменные окружения
Префикс DATASEARCHER_MCP_:
Переменная | По умолчанию | Описание |
|
| Файл подключений |
|
| Read-only guard (блок DML/DDL) |
|
| Авто-маскирование PII |
|
| Логирование запросов/ошибок |
|
| Rate limiting |
|
| SQL-запросов в минуту |
|
| ML-запросов в минуту |
|
| Таймаут SQL (сек) |
|
| Трансляция SQL между диалектами |
| `` | Bearer token для HTTP auth |
|
| DuckDB при старте |
|
| Режим по умолчанию |
|
| Example Store (few-shot) |
| — | URL LLM API (OpenAI-compatible) |
| — | Модель 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 toolsadd_exampleA
Добавить эталонный пример «NL-запрос → SQL» в Example Store (ТЗ 1.3). Используется для few-shot обучения generate_sql.
Inputs: sql (required), query (required), is_golden, table_name. Returns: result
attach_databaseA
Подключить новую БД в рантайме без перезапуска сервера. (фича B) Поддерживаемые db_type: postgresql, mysql, clickhouse, sqlite. mode: remote (push-down SQL), dump (выгрузка в DuckDB), auto (по умолчанию).
Inputs: name (required), db_type (required), host, mode, +4 more. Returns: result
auto_insightsD
Авто-инсайты: топ-5 находок с графиками одним вызовом.
Inputs: table_name (required), focus. Returns: result
build_bi_linkC
Сгенерировать URL для внешнего BI-инструмента с предзаполненными фильтрами (ТЗ 3.4). params: JSON {"region": "Москва", "product": "Widget A"} time_from/time_to: для Grafana (например '2024-01-01', '2024-02-01')
Inputs: tool (required), base_url (required), params, time_to, +2 more. Returns: result
build_dashboardD
Набор из 4-6 ключевых графиков одним вызовом.
Inputs: table_name (required), focus. Returns: result
classify_rowsC
Классификация строк по категориям с помощью LLM.
Inputs: columns (required), categories (required), table_name (required), limit, +2 more. Returns: result
cluster_analysisC
Кластеризация K-Means/DBSCAN с auto-выбором k (elbow).
Inputs: columns (required), table_name (required), method, n_clusters, +2 more. Returns: result
compare_tablesC
Сравнение двух таблиц: общие/уникальные строки, расхождения.
Inputs: table_a (required), table_b (required), key_columns (required), mode, +1 more. Returns: result
correlation_analysisC
Корреляционный анализ (Пирсон/Спирмен).
Inputs: table_name (required), method, columns, min_strength. Returns: result
create_public_dashboardB
Создаёт дашборд — standalone HTML с интерактивными фильтрами.
Inputs: title (required), description. Returns: result
cross_tabB
Кросс-табуляция двух категорий: частоты, проценты, Хи-квадрат.
Inputs: col_column (required), row_column (required), table_name (required), agg_function, +2 more. Returns: result
data_quality_reportB
Комплексный отчёт о качестве: полнота, дубликаты, консистентность.
Inputs: table_name (required), key_columns. Returns: result
data_storyC
Data Story: нарратив с графиками — связный рассказ о данных.
Inputs: table_name (required), theme. Returns: result
detect_anomaliesC
Обнаружение выбросов z-score и/или IQR.
Inputs: table_name (required), method, columns, threshold. Returns: result
detect_patternsC
Распознавание паттернов в тексте: email, телефон, URL, ИНН, даты.
Inputs: table_name (required), columns. Returns: result
distribution_analysisC
Анализ распределения: гистограмма, skewness, kurtosis.
Inputs: table_name (required), bins, columns. Returns: result
export_dataC
Экспорт данных в CSV-файл.
Inputs: table_name (required), sql, columns, filename. Returns: result
export_xlsxC
Экспорт данных в XLSX-файл с форматированием (ТЗ 3.3). Заголовки жирным, freeze panes, автоширина, автофильтр, NULL → серый фон.
Inputs: table_name (required), sql, columns, filename. Returns: result
feature_importanceC
Важность признаков (Random Forest + permutation).
Inputs: table_name (required), target_column (required), method, sample_size, +1 more. Returns: result
find_duplicatesC
Поиск дубликатов: точные или fuzzy (Levenshtein).
Inputs: table_name (required), mode, columns, fuzzy_threshold. Returns: result
generate_sqlC
Генерация DuckDB SQL из описания на естественном языке (требует LLM).
Inputs: table_name (required), description (required), execute. Returns: result
get_logsB
Получить логи запросов/ошибок/аудита (ТЗ 9).
Inputs: limit, log_type. Returns: result
get_schemaB
Структура таблицы: колонки, типы, число строк, превью.
Inputs: table_name (required). Returns: result
list_metricsA
Список расчётных метрик с формулами из Knowledge Base (ТЗ 1.1).
Inputs: no named parameters. Returns: result
load_dbtC
Загрузить метаданные из dbt manifest.json в Knowledge Base (ТЗ 1.2).
Inputs: manifest_path. Returns: result
load_fileB
Загрузка CSV/Excel/Parquet файла в DuckDB для анализа. Excel: если sheet не указан, грузит все листы. Parquet загружается через DuckDB read_parquet.
Inputs: path (required), sheet, table_name. Returns: result
merge_tablesC
Умный JOIN двух таблиц с авто-детекцией ключей.
Inputs: table_a (required), table_b (required), join_type, key_columns, +1 more. Returns: result
pivot_tableD
Сводная таблица в стиле Excel (PIVOT).
Inputs: col_column (required), table_name (required), row_columns (required), value_column (required), +1 more. Returns: result
predict_trendC
Прогнозирование тренда (линейная/полиномиальная регрессия).
Inputs: table_name (required), date_column (required), value_column (required), period, +3 more. Returns: result
profile_dataC
Профилирование: статистика по колонкам (null%, уникальность, min/max, top-5).
Inputs: table_name (required), columns. Returns: result
query_explainA
Показать план выполнения SQL (EXPLAIN) и стоимость. Полезно перед тяжёлыми запросами к удалённой БД. (фича G)
Inputs: sql (required), connection. Returns: result
refresh_schemaA
Обновить схему подключений — перечитать таблицы, колонки, FK из source DB (A3). Если connection не указан — обновляет все подключения. Полезно когда в БД добавили таблицы/колонки после старта сервера.
Inputs: connection. Returns: result
sample_dataC
Выборка строк из таблицы.
Inputs: table_name (required), n, where, method, +1 more. Returns: result
scan_piiC
Сканировать таблицу на PII и пометить чувствительные колонки (ТЗ 10).
Inputs: table_name (required). Returns: result
search_knowledgeB
Поиск по базе знаний: метаданные таблиц, описания колонок, метрики, примеры (ТЗ 8). Комбинирует полнотекстовый и семантический поиск.
Inputs: query (required), top_k. Returns: result
segment_dataC
Сегментация: квинтили/децилы/кастомные бакеты или RFM-анализ.
Inputs: column (required), table_name (required), method, rfm_mode, +4 more. Returns: result
semantic_searchA
Семантический поиск по текстовой колонке через LLM embeddings (C3). Находит строки, похожие по смыслу на query, даже если слова не совпадают. Требует LLM_BASE_URL/LLM_MODEL (OpenAI-compatible /v1/embeddings).
Inputs: query (required), table_name (required), text_column (required), top_k, +1 more. Returns: result
smart_summaryC
Умное саммари: ключевые метрики, топ-группы, аномалии, паттерны.
Inputs: table_name (required), focus. Returns: result
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).
Inputs: sql (required), limit, format, connection. Returns: result
statistical_testC
Статистические тесты: t-test, Mann-Whitney, KS, Хи-квадрат.
Inputs: test (required), table_name (required), column, group_a, +2 more. Returns: result
sync_datahubB
Синхронизировать метаданные из DataHub в Knowledge Base (ТЗ 1.2).
Inputs: no named parameters. Returns: result
test_connectionC
Проверить доступность подключения к БД.
Inputs: name (required). Returns: result
time_analysisC
Анализ временных рядов: тренд, рост/падение, скользящее среднее.
Inputs: table_name (required), period, date_column, value_column, +1 more. Returns: result
transform_dataC
Трансформации: normalize, fillna, extract(даты), onehot, bin, derive.
Inputs: operations (required), table_name (required), output_table. Returns: result
update_metadataC
Обновить метаописание таблицы в Knowledge Base (ТЗ 1.1). column_descriptions: JSON {"col1": "описание", "col2": "..."} layer: raw | staging | mart | certified
Inputs: table_name (required), layer, owner, description, +2 more. Returns: result
visualize_dataC
Визуализация: bar/line/pie/scatter/area/histogram. PNG + JSON spec.
Inputs: title (required), x_column (required), y_columns (required), chart_type (required), +3 more. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 46 tools
Many tools occupy adjacent analytical niches—smart_summary, auto_insights, data_story, build_dashboard, and create_public_dashboard all produce summary/insight outputs, while profile_data and data_quality_report overlap and export_data/export_xlsx differ mostly by format. Although descriptions are detailed, an agent would frequently struggle to pick between near-equivalent options.
The vast majority of tools follow a verb_noun snake_case pattern like get_schema, transform_data, and build_dashboard. A few noun-based names such as sql_query, query_explain, correlation_analysis, and data_story are minor deviations, but the overall convention is predictable.
With 46 tools, the surface is heavily overloaded for a single MCP server. Many tools could be consolidated, such as the export pair, dashboard/story/summary family, or the many statistical analysis tools, and the large count increases selection cost and maintenance burden.
Core data connection, query, analysis, visualization, and metadata workflows are broadly covered, so most agent tasks can be completed. However, the knowledge-base lifecycle lacks delete operations, and connection management has attach/test/refresh but no list/detach, creating some dead ends.
Related MCP Connectors
Query, explore, and manage your databases through natural conversation.
Ask business questions in plain English. Get instant answers from your database, no SQL needed.
Ask questions in plain language, get answers from your business database. No SQL required.
Company and industrial data for AI assistants: datasets, SQL, dashboards, alarms, with approvals.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables natural language querying of databases with multi-turn conversations, auto-generated charts, and proactive monitoring via scheduled queries and alerts.1MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to query databases using natural language, with automatic schema discovery and SQL compilation.833 npm3,235Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to securely interact with multiple databases (MySQL, PostgreSQL) via natural language queries, with cross-database querying and enterprise-grade security.13 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables natural language querying of SQL databases using AI, supporting multiple database types and automatic schema discovery.1MIT