DataHub MCP Server
MCP-сервер DataHub: агент ищет таблицы и столбцы по метаданным, строит lineage и находит SQL-запросы аналитиков
- 85 ★ репозитория
- Последний коммит
- Apache-2.0
Расширенный доступ
Почему такой уровень
- Сервер читает метаданные всего каталога от имени владельца токена, включая описания, владельцев и тексты запросов.
- При `TOOLS_IS_MUTATION_ENABLED=true` агент меняет теги, владельцев, домены и описания в DataHub.
Установка
- Работает в
Ручная установка
uvx mcp-server-datahubЛокальный режим stdio. Адрес и токен DataHub берутся из `DATAHUB_GMS_URL` и `DATAHUB_GMS_TOKEN` либо из `~/.datahubenv`.
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Сервер читает метаданные всего каталога от имени владельца токена, включая описания, владельцев и тексты запросов.
- При `TOOLS_IS_MUTATION_ENABLED=true` агент меняет теги, владельцев, домены и описания в DataHub.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Официальный MCP-сервер DataHub запускается командой `uvx mcp-server-datahub` и подключает агента к каталогу данных. Инструмент `search` понимает запросы с префиксом `/q`: подстановки, поля и булеву логику, например `/q tag:PII` или `/q (sales OR revenue) AND quarterly`. `get_lineage` показывает происхождение данных на уровне таблиц и столбцов, `get_dataset_queries` отдает настоящие SQL-запросы к набору данных, `list_schema_fields` читает схему по страницам. По умолчанию сервер только читает. Изменение тегов, глоссарных терминов, владельцев, доменов, описаний и структурных свойств включает `TOOLS_IS_MUTATION_ENABLED=true`. Для общего доступа есть отдельная HTTP-точка входа `mcp-server-datahub-http` и образ Docker: каждый клиент присылает собственный токен DataHub, а общий `DATAHUB_GMS_TOKEN` сервер не принимает.
Для кого. Аналитикам и инженерам данных с работающим DataHub, которые просят агента найти нужную таблицу и написать SQL по реальным запросам коллег.
Подходит, если
- Перед написанием SQL агент находит таблицу `adoptions` и смотрит, как ее запрашивают в компании.
- Столбец собираются переименовать, и агент перечисляет дашборды и таблицы ниже по потоку, которые его используют.
- Для аудита надо перечислить все наборы данных с тегом `PII`.
- Новичок спрашивает, кто владелец таблицы и какой глоссарный термин описывает метрику.
- После ревью агент проставляет теги и владельцев списку таблиц при включенном `TOOLS_IS_MUTATION_ENABLED`.
Не подходит, если
- DataHub не развернут: сервер подключается к существующему экземпляру через `DATAHUB_GMS_URL`.
- Метаданные в каталоге не загружены: поиск и lineage работают по тому, что уже есть в DataHub.
- Агент должен выполнять SQL по хранилищу: среди инструментов сервера запуска запросов нет.
- Все команды собираются работать с одним общим токеном: HTTP-режим не стартует при заданном `DATAHUB_GMS_TOKEN`.
Пример запроса к агенту
Найди в DataHub таблицу с усыновлениями питомцев, покажи ее схему и типовые запросы, затем напиши SQL для числа усыновлений за прошлый месяц.MCP
- Транспорт
- stdio, http, sse
- Авторизация
- API-ключ
Переменные окружения
DATAHUB_GMS_URLобязательная- Адрес сервера DataHub.
DATAHUB_GMS_TOKENобязательная, секрет- Персональный токен DataHub для режима stdio. HTTP-режим с ним не стартует.
TOOLS_IS_MUTATION_ENABLED- `true` включает инструменты изменения метаданных.
Ограничения
Нужен работающий DataHub и его адрес `DATAHUB_GMS_URL`. В режиме stdio токен берется из `DATAHUB_GMS_TOKEN` или из файла `~/.datahubenv`, который создает `datahub init`. HTTP-режим вынесен в отдельную точку входа и ломает старые развертывания с общим токеном. SSE годится только для доверенной локальной сети. Инструменты изменения метаданных, `get_me` и сохранение документов включаются переменными окружения, а длина ответов ограничена `TOOL_RESPONSE_TOKEN_LIMIT` в 80000 токенов.
Как отключить. Удалите сервер `datahub` из конфигурации MCP-клиента и отзовите персональный токен в DataHub. Запись метаданных выключает возврат `TOOLS_IS_MUTATION_ENABLED=false`.
Частые вопросы
Как запустить DataHub MCP Server локально?
Выполните `uvx mcp-server-datahub` с переменными `DATAHUB_GMS_URL` и `DATAHUB_GMS_TOKEN`. Если переменных нет, сервер читает `~/.datahubenv`, который создает `datahub init`.
Как развернуть сервер для всей команды?
Запустите образ `acryldata/mcp-server-datahub:latest` с `DATAHUB_GMS_URL`. Клиенты подключаются к `http://localhost:8000/mcp` и в каждом запросе присылают свой токен в заголовке `Authorization: Bearer`.
Может ли агент менять метаданные?
Только после `TOOLS_IS_MUTATION_ENABLED=true`. Тогда доступны добавление и удаление тегов, терминов, владельцев и доменов, а также правка описаний.
Как найти все данные с тегом PII?
Вызовите `search` с запросом `/q tag:PII`. Результат можно сузить булевой логикой и фильтрами, а продолжение листают пагинацией.
Какие инструменты чтения есть у сервера?
`search`, `get_lineage`, `get_dataset_queries`, `get_entities`, `get_aspect_history`, `list_schema_fields` и `get_lineage_paths_between`. Для документов добавляются `search_documents` и `grep_documents`.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыЭкономный по токенам MCP-сервер для PostgreSQL, MySQL, MariaDB, SQL Server и SQLite с режимом только для чтения
Официальный MCP-сервер Data Commons: агент ищет статистические показатели и тянет наблюдения по странам, регионам и городам.
Один MCP-сервер для SQLite, SQL Server, PostgreSQL и MySQL: агент читает и меняет данные, правит схему и выгружает CSV и JSON
Один бинарник MCP-сервера для MySQL, MariaDB, PostgreSQL и SQLite: запросы только на чтение по умолчанию и маскировка ПДн
MCP-сервер Dremio: агент смотрит таблицы, ищет закономерности в данных и разбирает нагрузку кластера.
MCP-сервер для доступа агента к MySQL: чтение схемы и запросы, по умолчанию только на чтение, запись включается флагами
Коротко о README
Проект перечисляет инструменты поиска, происхождения данных, схем и документов, режимы stdio и HTTP, переменные окружения и разбирает пример: от вопроса про усыновления питомцев до готового SQL.