Skip to main content
Glama
mm6502

Enterprise Architect MCP Server

by mm6502

Сервер Enterprise Architect MCP

Сервер MCP только для чтения для экспортов Sparx Enterprise Architect .qea. Предоставляет AI-агентам доступ к аналитическим моделям EA — поиск элементов, навигация по пакетам, чтение сценариев вариантов использования и обход соединителей — без запущенного экземпляра EA.

Предварительные требования

  • Node.js 22+ (использует встроенный модуль node:sqlite)

  • Файл .qea, экспортированный из Sparx Enterprise Architect

Установка

Добавьте в файл .vscode/mcp.json вашего проекта:

{
  "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>"
      }
    }
  }
}

Замените <path-to-your-qea-file-or-directory> на фактический путь к вашему файлу .qea.

Конфигурация

Сервер определяет путь к .qea, используя цепочку резервных вариантов (первый совпавший выигрывает):

  1. Аргумент командной строкиmcp-server-ea C:\path\to\model.qea

  2. Переменная окруженияEA_QEA_PATH (задаётся в блоке env в mcp.json или в системном окружении)

  3. Файл .envEA_QEA_PATH=... в файле .env в рабочем каталоге

Если путь указывает на каталог, сервер автоматически выбирает самый новый файл .qea по времени изменения.

Настройка с помощью .env (рекомендуется для команд)

# Copy the template
cp .env.example .env

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

Файл .env игнорируется git — каждый разработчик задаёт свой путь, не влияя на общую конфигурацию.

Доступные инструменты

Инструмент

Описание

ea_search

Полнотекстовый поиск по элементам, атрибутам, операциям и ограничениям. Без учёта регистра для словацкого алфавита, декодирует текст с сущностями.

ea_get_element

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

ea_list_elements

Список элементов в пакете, опционально фильтруется по типу. Сообщает общее количество с пагинацией.

ea_get_connectors

Связи для элемента — включает разрешение ссылок на функции (к какому атрибуту/операции прикрепляется каждый конец).

ea_get_diagram_elements

Элементы и соединители на диаграмме, включая подразумеваемые соединители и ссылки на функции.

ea_get_scenarios

Шаги сценариев вариантов использования со всеми атрибутами (триггер, использование, результат, ссылка, состояние) и примечания к сценариям.

ea_get_package_tree

Навигация по иерархии пакетов с рекурсивной глубиной.

ea_list_diagrams

Поиск диаграмм по имени и пакету.

ea_resolve

Разрешение ссылок аналитика (идентификатор в фигурных скобках или простое имя) на кандидатов в модели с полным путём пакета. При отсутствии точного совпадения выполняется сопоставление по префиксу имени для кодов аналитика; каждый кандидат содержит match со значением guid, exact или prefix.

ea_get_schema

Интроспекция схемы базы данных модели — таблицы, столбцы, индексы, псевдоним rowid.

ea_get_model_info

Идентификация открытого экспорта — имя файла, размер, дата изменения, версия сервера.

Контракт ответа

Каждый инструмент возвращает структурированный JSON со следующими полями:

  • _meta.sourceTables — какие таблицы базы данных были задействованы

  • totalMatched / returned / truncated — метаданные полноты для каждой коллекции

  • continuation — точный вызов для получения полного набора при усечении

  • isError: true + { error: "not_found" } для несуществующих объектов (отличается от пустых результатов)

Два поля существуют, чтобы неточный ответ не был воспринят как подтверждённый:

  • ea_resolvematch всегда присутствует; только prefix является неточным совпадением

  • ea_get_element_meta.attributes.multiplicityIsUniform: true означает, что атрибуты элемента не показывают контраста множественности, поэтому 1..1 не является свидетельством обязательности

Примеры запросов

После подключения попробуйте такие запросы:

  • "Найти элементы, связанные с 'právnická osoba'"

  • "Показать структуру пакетов в корневом каталоге"

  • "Какие сценарии вариантов использования для UC_FEO_2027?"

  • "Какие элементы и соединители находятся на диаграмме 0103 Spracovanie eFORM?"

  • "Разрешить ссылку {94291B11-C990-482e-BF3F-19EFF04FB37E}"

  • "Какие столбцы есть в t_connector?"

  • "На каких диаграммах присутствует элемент 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