Skip to main content
Glama
mm6502

Enterprise Architect MCP Server

by mm6502

Enterprise Architect MCP Server

Un servidor MCP de solo lectura para exportaciones .qea de Sparx Enterprise Architect. Da a los agentes de IA acceso a modelos de análisis de EA: buscar elementos, navegar paquetes, leer escenarios de casos de uso y recorrer conectores, sin necesidad de una instancia de EA en ejecución.

Requisitos previos

  • Node.js 22+ (usa el módulo integrado node:sqlite)

  • Un archivo .qea exportado desde Sparx Enterprise Architect

Instalación

Añádelo al .vscode/mcp.json de tu proyecto:

{
  "servers": {
    "enterprise-architect": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "github:DITEC-Mracka/enterprise-architect-mcp"],
      "env": {
        "EA_QEA_PATH": "<path-to-your-qea-file-or-directory>"
      }
    }
  }
}

Reemplaza <path-to-your-qea-file-or-directory> con la ruta real de tu archivo .qea.

Configuración

El servidor resuelve la ruta .qea mediante una cadena de respaldo (gana la primera coincidencia):

  1. Argumento CLImcp-server-ea C:\path\to\model.qea

  2. Variable de entornoEA_QEA_PATH (definida en el bloque env de mcp.json o en el entorno del sistema)

  3. Archivo .envEA_QEA_PATH=... en un archivo .env en el directorio de trabajo

Si la ruta apunta a un directorio, el servidor selecciona automáticamente el archivo .qea más reciente por fecha de modificación.

Configuración con .env (recomendado para equipos)

# Copy the template
cp .env.example .env

# Edit .env with your local path
EA_QEA_PATH=D:\EAExporty\projekt\architektura.qea

El archivo .env está en gitignore: cada desarrollador define su propia ruta sin afectar a la configuración compartida.

Herramientas disponibles

Herramienta

Descripción

ea_search

Búsqueda de texto completo en elementos, atributos, operaciones y restricciones. Insensible a mayúsculas en el alfabeto eslovaco, decodifica texto codificado con entidades.

ea_get_element

Detalle completo del elemento: atributos, operaciones, diagramas en los que aparece, restricciones (pre/post/invariante/proceso). Indica si la multiplicidad de atributos es contrastiva.

ea_list_elements

Lista los elementos de un paquete, opcionalmente filtrados por tipo. Informa del recuento total con paginación.

ea_get_connectors

Relaciones de un elemento: incluye la resolución de enlaces de características (a qué atributo u operación se adjunta cada extremo).

ea_get_diagram_elements

Elementos y conectores de un diagrama, incluidos conectores implícitos y enlaces de características.

ea_get_scenarios

Pasos de escenario de caso de uso con todos los atributos (trigger, uses, result, link, state) y notas de escenario.

ea_get_package_tree

Navega por la jerarquía de paquetes con profundidad recursiva.

ea_list_diagrams

Busca diagramas por nombre y paquete.

ea_resolve

Resuelve referencias de analistas (GUID entre llaves o nombre simple) a candidatos del modelo con la ruta completa del paquete. Recurre a la coincidencia por prefijo de nombre para códigos de analista; cada candidato lleva un match de guid, exact o prefix.

ea_get_schema

Inspecciona el esquema de base de datos del modelo: tablas, columnas, índices, alias de rowid.

ea_get_model_info

Identidad de la exportación abierta: nombre de archivo, tamaño, fecha de modificación, versión del servidor.

Contrato de respuesta

Cada herramienta devuelve JSON estructurado con:

  • _meta.sourceTables — qué tablas de base de datos se consultaron

  • totalMatched / returned / truncated — metadatos de completitud en cada colección

  • continuation — llamada exacta para recuperar el conjunto completo cuando se trunca

  • isError: true + { error: "not_found" } para sujetos inexistentes (distinto de resultados vacíos)

Existen dos campos para evitar que una respuesta inexacta se lea como confirmada:

  • ea_resolvematch siempre está presente; solo prefix es una coincidencia inexacta

  • ea_get_element_meta.attributes.multiplicityIsUniform: true significa que los atributos del elemento no muestran contraste de multiplicidad, por lo que 1..1 no es evidencia de obligatoriedad

Ejemplos de indicaciones

Una vez conectado, prueba indicaciones como:

  • "Busca elementos relacionados con 'právnická osoba'"

  • "Muéstrame la estructura de paquetes bajo la raíz"

  • "¿Cuáles son los escenarios de caso de uso para UC_FEO_2027?"

  • "¿Qué elementos y conectores hay en el diagrama 0103 Spracovanie eFORM?"

  • "Resuelve la referencia {94291B11-C990-482e-BF3F-19EFF04FB37E}"

  • "¿Qué columnas tiene t_connector?"

  • "¿En qué diagramas aparece el elemento a7680?"

-
license - not tested
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • MCP server for AI access to Swagger by SmartBear.

  • Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.

  • Official remote MCP server for Archivist AI TTRPG campaign memory: characters, sessions, and more.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mm6502/enterprise-architect-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server