Skip to main content
Glama
akashmanjini

MCP Data Catalog Server

by akashmanjini

Servidor de catálogo de datos MCP

Un servidor MCP que expone herramientas sobre un catálogo de datos empresarial sintético: búsqueda de activos con un DSL de filtros AND/OR componible, linaje, datos de muestra, perfilado, historial, reglas de calidad y clasificación impulsada por IA (detección de CDE, etiquetado de PII, generación de términos de negocio).

Reimplementación independiente y desde cero de un diseño de sistema que construí en un contexto profesional — datos de catálogo sintéticos, sin lógica de negocio propietaria, con fines de portafolio/demostración. No está afiliado a ningún empleador o cliente, y no contiene código ni datos de ellos.

Qué demuestra

  • DSL de filtros AND/OR componible (src/catalog/filter_dsl.py) — la búsqueda de activos acepta un árbol de filtros anidado {"and": [...]} / {"or": [...]} en lugar de un conjunto fijo de parámetros de consulta, de modo que los llamadores pueden expresar combinaciones booleanas arbitrarias de predicados de campo sin que el esquema de la herramienta crezca por caso de uso.

  • Clasificación heurística primero con respaldo de IA (src/catalog/classification.py) — la detección de Elementos de Datos Críticos (CDE) ejecuta primero heurísticas baratas (coincidencia de patrones de nombre/tipo) y solo llama al clasificador de IA (simulado) cuando las heurísticas no son concluyentes; el etiquetado de PII está completamente impulsado por IA a partir de los metadatos de los activos.

  • Generación de términos de negocio validada contra heurísticas de gobernanza (src/catalog/business_terms.py) — los términos candidatos se comparan con los activos del catálogo mediante similitud de coseno sobre embeddings, y luego se filtran a través de reglas de gobernanza (convención de nomenclatura, lista de dominios permitidos) antes de mostrarse para su publicación.

  • Superficie de herramientas MCP (src/tools/) — búsqueda, linaje, datos de muestra, perfilado, historial, reglas de calidad, clasificación de CDE, clasificación de PII y generación de términos de negocio, registrados en un servidor real del SDK mcp en src/server.py.

Related MCP server: Glossary MCP Server

Ejecución

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

El servidor se ejecuta sobre stdio, listo para añadirse a un cliente MCP (por ejemplo, Claude Desktop o Claude Code) con una configuración que apunte a python -m src.main en este directorio. Todos los datos del catálogo son sintéticos y se generan en el proceso — no se requiere base de datos externa.

pytest

Estructura del proyecto

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