DataSearcher MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LLM_MODEL | No | Model name for LLM | |
| LLM_BASE_URL | No | URL of LLM API (OpenAI-compatible) for classifier and search | |
| DATASEARCHER_MCP_AUTH_TOKEN | No | Bearer token for HTTP authentication | |
| DATASEARCHER_MCP_CHARTS_MODE | No | Charts mode: json/png/both | both |
| DATASEARCHER_MCP_DEFAULT_MODE | No | Default mode for connections (auto/remote/dump/federated) | auto |
| DATASEARCHER_MCP_QUERY_TIMEOUT | No | SQL query timeout in seconds (0 = no limit) | 60 |
| DATASEARCHER_MCP_AUTO_TRANSLATE | No | Enable automatic SQL dialect translation | true |
| DATASEARCHER_MCP_CONNECTIONS_FILE | No | Path to connections configuration file | connections.yaml |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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). |
| query_explainA | Показать план выполнения SQL (EXPLAIN) и стоимость. Полезно перед тяжёлыми запросами к удалённой БД. (фича G) |
| get_schemaB | Структура таблицы: колонки, типы, число строк, превью. |
| attach_databaseA | Подключить новую БД в рантайме без перезапуска сервера. (фича B) Поддерживаемые db_type: postgresql, mysql, clickhouse, sqlite. mode: remote (push-down SQL), dump (выгрузка в DuckDB), auto (по умолчанию). |
| refresh_schemaA | Обновить схему подключений — перечитать таблицы, колонки, FK из source DB (A3). Если connection не указан — обновляет все подключения. Полезно когда в БД добавили таблицы/колонки после старта сервера. |
| semantic_searchA | Семантический поиск по текстовой колонке через LLM embeddings (C3). Находит строки, похожие по смыслу на query, даже если слова не совпадают. Требует LLM_BASE_URL/LLM_MODEL (OpenAI-compatible /v1/embeddings). |
| test_connectionC | Проверить доступность подключения к БД. |
| profile_dataC | Профилирование: статистика по колонкам (null%, уникальность, min/max, top-5). |
| smart_summaryC | Умное саммари: ключевые метрики, топ-группы, аномалии, паттерны. |
| data_quality_reportB | Комплексный отчёт о качестве: полнота, дубликаты, консистентность. |
| find_duplicatesC | Поиск дубликатов: точные или fuzzy (Levenshtein). |
| detect_anomaliesC | Обнаружение выбросов z-score и/или IQR. |
| sample_dataC | Выборка строк из таблицы. |
| correlation_analysisC | Корреляционный анализ (Пирсон/Спирмен). |
| distribution_analysisC | Анализ распределения: гистограмма, skewness, kurtosis. |
| cross_tabB | Кросс-табуляция двух категорий: частоты, проценты, Хи-квадрат. |
| pivot_tableD | Сводная таблица в стиле Excel (PIVOT). |
| segment_dataC | Сегментация: квинтили/децилы/кастомные бакеты или RFM-анализ. |
| compare_tablesC | Сравнение двух таблиц: общие/уникальные строки, расхождения. |
| time_analysisC | Анализ временных рядов: тренд, рост/падение, скользящее среднее. |
| auto_insightsD | Авто-инсайты: топ-5 находок с графиками одним вызовом. |
| generate_sqlC | Генерация DuckDB SQL из описания на естественном языке (требует LLM). |
| visualize_dataC | Визуализация: bar/line/pie/scatter/area/histogram. PNG + JSON spec. |
| predict_trendC | Прогнозирование тренда (линейная/полиномиальная регрессия). |
| cluster_analysisC | Кластеризация K-Means/DBSCAN с auto-выбором k (elbow). |
| feature_importanceC | Важность признаков (Random Forest + permutation). |
| statistical_testC | Статистические тесты: t-test, Mann-Whitney, KS, Хи-квадрат. |
| classify_rowsC | Классификация строк по категориям с помощью LLM. |
| transform_dataC | Трансформации: normalize, fillna, extract(даты), onehot, bin, derive. |
| merge_tablesC | Умный JOIN двух таблиц с авто-детекцией ключей. |
| export_dataC | Экспорт данных в CSV-файл. |
| detect_patternsC | Распознавание паттернов в тексте: email, телефон, URL, ИНН, даты. |
| build_dashboardD | Набор из 4-6 ключевых графиков одним вызовом. |
| data_storyC | Data Story: нарратив с графиками — связный рассказ о данных. |
| create_public_dashboardB | Создаёт дашборд — standalone HTML с интерактивными фильтрами. |
| load_fileB | Загрузка CSV/Excel/Parquet файла в DuckDB для анализа. Excel: если sheet не указан, грузит все листы. Parquet загружается через DuckDB read_parquet. |
| update_metadataC | Обновить метаописание таблицы в Knowledge Base (ТЗ 1.1). column_descriptions: JSON {"col1": "описание", "col2": "..."} layer: raw | staging | mart | certified |
| list_metricsA | Список расчётных метрик с формулами из Knowledge Base (ТЗ 1.1). |
| scan_piiC | Сканировать таблицу на PII и пометить чувствительные колонки (ТЗ 10). |
| get_logsB | Получить логи запросов/ошибок/аудита (ТЗ 9). |
| load_dbtC | Загрузить метаданные из dbt manifest.json в Knowledge Base (ТЗ 1.2). |
| export_xlsxC | Экспорт данных в XLSX-файл с форматированием (ТЗ 3.3). Заголовки жирным, freeze panes, автоширина, автофильтр, NULL → серый фон. |
| add_exampleA | Добавить эталонный пример «NL-запрос → SQL» в Example Store (ТЗ 1.3). Используется для few-shot обучения generate_sql. |
| search_knowledgeB | Поиск по базе знаний: метаданные таблиц, описания колонок, метрики, примеры (ТЗ 8). Комбинирует полнотекстовый и семантический поиск. |
| sync_datahubB | Синхронизировать метаданные из DataHub в Knowledge Base (ТЗ 1.2). |
| build_bi_linkC | Сгенерировать URL для внешнего BI-инструмента с предзаполненными фильтрами (ТЗ 3.4). params: JSON {"region": "Москва", "product": "Widget A"} time_from/time_to: для Grafana (например '2024-01-01', '2024-02-01') |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| analyze_table | Системный промпт аналитика с контекстом схемы для заданной таблицы. |
| weekly_report | Шаблон еженедельного отчёта по таблице (фича D). Запускает профиль + дашборд + авто-инсайты + экспорт одной командой. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| list_tables_resource | Список всех таблиц с колонками, типами и бизнес-описаниями из KB (ТЗ 1.1). |
| list_connections_resource | Подключения к БД. |
| er_diagram_resource | Mermaid ER-диаграмма таблиц и связей (D5). FK + эвристика по именам. Рендерится в чате Claude/Cursor как визуальная диаграмма. |
| knowledge_tables_resource | Бизнес-метаданные: описания таблиц, владельцы, теги, метрики (ТЗ 1.1). |
| reasoning_resource | Ход рассуждений последнего запроса — Chain of Thought (ТЗ 4.1). |
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.