Skip to main content
Glama
akashmanjini

MCP Data Catalog Server

by akashmanjini

MCP Data Catalog Server

Сервер MCP, предоставляющий инструменты для работы с синтетическим корпоративным каталогом данных: поиск активов с помощью компонуемого AND/OR DSL-фильтра, происхождение данных, образцы данных, профилирование, история, правила качества и классификация на основе ИИ (обнаружение CDE, разметка PII, генерация бизнес-терминов).

Независимая реализация с нуля системного проекта, который я создал в профессиональном контексте — синтетические данные каталога, без проприетарной бизнес-логики, для портфолио/демонстрационных целей. Не связана и не содержит кода или данных от какого-либо работодателя или клиента.

Что демонстрирует

  • Компонуемый AND/OR DSL-фильтр (src/catalog/filter_dsl.py) — поиск активов принимает вложенное дерево фильтров {"and": [...]} / {"or": [...]} вместо фиксированного набора параметров запроса, поэтому вызывающие могут выражать произвольные логические комбинации предикатов полей без расширения схемы инструмента под каждый случай использования.

  • Эвристическая классификация с запасным вариантом на ИИ (src/catalog/classification.py) — обнаружение критических элементов данных (CDE) сначала выполняет дешёвые эвристики (сопоставление шаблонов имени/типа) и только при неоднозначном результате вызывает (заглушенный) ИИ-классификатор; разметка PII полностью управляется ИИ на основе метаданных активов.

  • Генерация бизнес-терминов, проверенная на соответствие эвристикам управления (src/catalog/business_terms.py) — кандидатные термины сопоставляются с активами каталога через косинусное сходство по эмбеддингам, затем фильтруются через правила управления (соглашение об именовании, список разрешённых доменов) перед публикацией.

  • Поверхность инструментов MCP (src/tools/) — поиск, происхождение данных, образцы данных, профилирование, история, правила качества, классификация CDE, классификация PII и генерация бизнес-терминов, зарегистрированные на реальном сервере SDK mcp в src/server.py.

Related MCP server: Glossary MCP Server

Запуск

python -m venv .venv
source .venv/bin/activate   # or .venv\Scripts\activate on Windows
pip install -r requirements.txt
python -m src.main

Сервер работает через stdio и готов к добавлению в конфигурацию MCP-клиента (например, Claude Desktop или Claude Code), указывающую на python -m src.main в этом каталоге. Все данные каталога синтетические и генерируются в процессе выполнения — внешняя база данных не требуется.

pytest

Структура проекта

src/
  main.py               # entrypoint
  server.py              # MCP server + tool registration
  catalog/
    store.py              # in-memory synthetic catalog
    models.py              # Asset, LineageEdge, QualityRule
    filter_dsl.py            # AND/OR filter tree evaluator
    classification.py         # heuristic-first CDE + AI-driven PII
    business_terms.py          # embedding similarity + governance validation
  tools/
    search.py, lineage.py, sample_data.py, profiling.py,
    history.py, quality_rules.py, classification_tools.py,
    business_term_tool.py
tests/

Related MCP Connectors

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables semantic search and exploration of a business glossary knowledge graph, allowing users to query terms, expand related concepts, trace dependencies, and resolve physical table mappings.
    -
  • A
    license
    B
    quality
    C
    maintenance
    Enables discovery, governance, access, and publishing of data products in an internal data marketplace, with integration for Cloudera AI Workbench and Apache Atlas.
    16
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    Enables querying Tableau lineage through the Metadata API via MCP, supporting impact analysis, where-used lookups, and content search. Provides read-only tools for answering natural-language questions about workbooks, datasources, fields, and dependencies.
    7
    1
    MIT