Skip to main content
Glama
ProTech001
by ProTech001

MMAR-MCP Сервер

Сервер MCP (Model Context Protocol), который подключает большие языковые модели к платформе метамоделирования MM-AR, позволяя пользователям создавать полные метамодели и экземпляры моделей с помощью взаимодействия на естественном языке.

Обзор

MMAR-MCP предоставляет возможности платформы MM-AR через протокол Model Context Protocol:

  • 62 инструмента для аутентификации, CRUD операций с метамоделями и экземплярами

  • 5 ресурсов, предоставляющих документацию по архитектуре платформы, шаблоны VizRep, схему метамодели, типы атрибутов и эталонную метамодель

  • 3 промпта, кодирующих направленные рабочие процессы для создания метамоделей, создания экземпляров и анализа моделей

Сервер общается через STDIO транспорт и работает с любым MCP-совместимым хостом (Cursor, Claude Desktop или любой клиент, реализующий спецификацию MCP).

Related MCP server: ParaView-MCP

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

Требование

Версия

Назначение

Node.js

v18+

Запуск MCP сервера

Docker

Последняя

Запуск стека платформы MM-AR

MCP хост

Любой

Подключение LLM к серверу (например, Cursor, Claude Desktop)

Быстрый старт

Выполните следующие пять шагов, чтобы перейти от нуля до рабочей настройки.

Шаг 1: Запуск платформы MM-AR

Вариант A: Полное развертывание Docker (рекомендуется для первой настройки)

Клонируйте и запустите полный стек MM-AR с помощью Docker:

git clone https://github.com/MM-AR/mmar-docker-installation.git
cd mmar-docker-installation
docker compose --env-file .env up -d

Подождите, пока все контейнеры не станут здоровыми. Вы можете проверить с помощью:

docker compose ps

Вариант B: Гибридное развертывание (PostgreSQL в Docker, сервисы локально)

Это настройка, использовавшаяся в ходе экспериментов диссертации. Она требует клонирования основного репозитория MM-AR:

# 1. Start PostgreSQL in Docker
docker run -d --name mmar_postgres \
  -e POSTGRES_USER=api -e POSTGRES_PASSWORD=root -e POSTGRES_DB=api \
  -p 5432:5432 postgres:16

# 2. Start the API server (requires mmar-server/.env with JWT_SECRET)
cd mmar-server
export $(cat .env | xargs)
cd ..
node dist/mmar-server/index.js

# 3. Start web clients (in separate terminals)
cd mmar-metamodeling-client && npm start   # port 8070
cd mmar-modeling-client && npm start        # port 8080

После запуска доступны следующие сервисы:

Сервис

URL

Описание

API Сервер

http://localhost:8000

REST API (MCP сервер подключается сюда)

Клиент метамоделирования

http://localhost:8070

Определение языков моделирования

Клиент моделирования

http://localhost:8080

Создание экземпляров моделей

Клиент VizRep

http://localhost:8090

Дизайн визуальных представлений

Проверьте, что API работает, открыв в браузере http://localhost:8000/login. Вы должны увидеть страницу входа. Учетные данные по умолчанию: admin / admin.

Шаг 2: Клонирование и сборка MCP сервера

git clone https://github.com/ProTech001/mmar-mcp-server.git
cd mmar-mcp-server
npm install
npm run build

Команда npm run build компилирует TypeScript в JavaScript в папке dist/. Этот шаг необходим перед запуском сервера.

Шаг 3: Проверка установки

Запустите сквозной набор тестов, чтобы убедиться, что всё работает:

npm test

Это запускает MCP сервер как дочерний процесс и отправляет JSON-RPC сообщения через STDIO, точно так же, как это делал бы реальный MCP хост. Он тестирует рукопожатие, аутентификацию, список инструментов, чтение ресурсов, получение промптов и полный цикл создания/проверки/удаления.

Ожидаемый вывод (все тесты должны быть пройдены):

==============================================
  MM-AR MCP Server — End-to-End Test
==============================================

  ✅ PASS  Initialize (handshake)
           → Server: mmar-mcp-server

  ✅ PASS  List Tools
           → 62 tools registered (expected 62)

  ✅ PASS  List Resources
           → 5 resource(s) (expected 5)

  ✅ PASS  Read Platform Info Resource
           → ...

  ...

==============================================
  Results: 16 passed, 0 failed, 16 total
==============================================

Если какой-либо тест не пройден, см. раздел Устранение неполадок ниже.

Шаг 4: Настройка MCP хоста

Сервер работает через STDIO. Настройте ваш MCP хост на запуск его как подпроцесса.

Cursor IDE — создайте или отредактируйте .cursor/mcp.json в корне вашего проекта:

{
  "mcpServers": {
    "mmar": {
      "command": "node",
      "args": ["/absolute/path/to/mmar-mcp-server/dist/index.js"],
      "env": {
        "MMAR_API_URL": "http://localhost:8000"
      }
    }
  }
}

Claude Desktop — добавьте в файл конфигурации Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json на macOS):

{
  "mcpServers": {
    "mmar": {
      "command": "node",
      "args": ["/absolute/path/to/mmar-mcp-server/dist/index.js"],
      "env": {
        "MMAR_API_URL": "http://localhost:8000"
      }
    }
  }
}

Замените /absolute/path/to/mmar-mcp-server на фактический путь, куда вы клонировали репозиторий.

Шаг 5: Начало использования

После настройки MCP хост может вызывать любой из 62 инструментов. Для распространенных рабочих процессов доступны три направленных промпта:

  1. create-metamodel — Создание нового языка моделирования на основе описания на естественном языке

  2. create-model — Создание экземпляра модели с использованием существующей метамодели

  3. analyze-model — Проверка и анализ существующих моделей

Пример: "Используйте промпт create-metamodel для создания языка моделирования сети Петри с узлами Место, узлами Переход и соединениями Дуга."

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

Сервер читает одну переменную окружения:

Переменная

По умолчанию

Описание

MMAR_API_URL

http://localhost:8000

Базовый URL REST API MM-AR

Установите её через вашу оболочку, конфигурацию MCP хоста (см. Шаг 4) или встроенно:

MMAR_API_URL=http://your-host:8000 node dist/index.js

Каталог инструментов

Все 62 инструмента имеют префикс mmar_ и сгруппированы в три категории:

Аутентификация (3 инструмента)

Инструмент

Описание

mmar_login

Аутентификация с именем пользователя и паролем

mmar_check_session

Проверка, активна ли сессия

mmar_logout

Завершение текущей сессии

Операции с метамоделями (26 инструментов)

Категория

Инструменты

Типы сцен

list_scene_types, get_scene_type, create_scene_type, update_scene_type, delete_scene_type

Классы

get_classes_for_scene_type, get_class, create_class, update_class, delete_class

Классы отношений

get_relationclasses_for_scene_type, get_relationclass, create_relationclass, update_relationclass, delete_relationclass

Атрибуты

get_attribute, list_attribute_types, get_attribute_type, create_attribute_for_class, create_attribute_for_scene_type, update_attribute

Роли

get_role, update_role

Порты

get_port, create_port, update_port

Операции с экземплярами (33 инструмента)

Категория

Инструменты

Сцены

list_scene_instances, get_scene_instance, create_scene_instance, update_scene_instance, delete_scene_instance

Экземпляры классов

get_class_instances, get_class_instance, create_class_instance, update_class_instance, delete_class_instance

Экземпляры отношений

get_relationclass_instances, get_relationclass_instance, create_relationclass_instance, update_relationclass_instance, delete_relationclass_instance

Экземпляры атрибутов

get_attribute_instance, get_attribute_instances_for_class_instance, get_attribute_instances_for_relationclass_instance, update_attribute_instance, delete_attribute_instance

Экземпляры ролей

get_role_instance, get_role_from_for_relationclass_instance, get_role_to_for_relationclass_instance, update_role_instance

Экземпляры портов

get_port_instance, get_port_instances_for_scene_instance, create_port_instance, update_port_instance, delete_port_instance

Точки изгиба

get_bendpoints_for_relationclass_instance, create_bendpoint, update_bendpoint, delete_bendpoint

Все имена инструментов имеют префикс mmar_ (например, mmar_create_class). Префикс опущен в таблице выше для удобочитаемости.

Ресурсы

URI

Описание

mmar://platform/info

Обзор архитектуры платформы и направленные рабочие процессы

mmar://reference/vizrep-templates

Шаблоны кода VizRep для визуальных представлений

mmar://reference/metamodel-schema

JSON схема структуры метамодели

mmar://reference/attribute-types

Доступные типы атрибутов (String, Float, Boolean и т.д.)

mmar://reference/example-metamodel

Полная метамодель сети Петри в качестве эталонного примера

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

mmar-mcp-server/
├── src/
│   ├── index.ts              # Entry point (STDIO transport)
│   ├── server.ts             # MCP server setup and capability registration
│   ├── config.ts             # Configuration (reads MMAR_API_URL)
│   ├── api-client.ts         # MM-AR REST API client with JWT auth and retry logic
│   ├── tools/
│   │   ├── index.ts          # Tool registration hub
│   │   ├── auth.tools.ts     # Authentication tools (3)
│   │   ├── meta.tools.ts     # Metamodel CRUD tools (26)
│   │   └── instance.tools.ts # Instance CRUD tools (33)
│   ├── resources/
│   │   └── index.ts          # Resource definitions (5)
│   └── prompts/
│       └── index.ts          # Prompt definitions (3)
├── test-mcp.mjs              # End-to-end test suite
├── test-data/                 # Example payloads for MCP Inspector testing
│   ├── README.md
│   ├── example-ER-diagram-metamodel.json
│   └── example-petri-net-metamodel.json
├── package.json
├── tsconfig.json
└── .gitignore

Воспроизводимый оценочный стенд

Контролируемые испытания (не чат Cursor). Начните здесь:

experiments/README.md — настройка, как запускать, где находятся JSON → experiments/EVALUATION-PROCEDURE.md — протокол изоляции/оценки → experiments/harness-results/PRELIMINARY-RESULTS.md — предварительные результаты сети Петри (6 испытаний)

cd experiment-harness
npm install
cp .env.example .env   # add ANTHROPIC_API_KEY; never commit .env

export MMAR_API_URL=http://127.0.0.1:8000
curl -s -o /dev/null -w "API %{http_code}\n" http://127.0.0.1:8000/login   # must be 200

npm run one -- --phase metamodel --language petri-net --trial a
npm run one -- --phase instance --language petri-net --trial a
npm run scoreboard
open ../experiments/harness-results/scoreboard.html

Отдавайте предпочтение 127.0.0.1 вместо localhost, если видите отказ в соединении. Повторно запустите npm run scoreboard после новых испытаний.

npm run pilot                 # scorer self-test
npm run pilot -- --with-api   # + reset + MCP dry-run + GT seed (API must be up)

Тестирование с MCP Inspector

Для интерактивной отладки вы можете использовать MCP Inspector:

npm run inspect

Это открывает веб-интерфейс, где вы можете просматривать инструменты, вызывать их вручную и проверять полезные нагрузки запросов/ответов. См. test-data/README.md для пошаговых инструкций и примеров полезных нагрузок.

Устранение неполадок

ECONNREFUSED или "Не удается подключиться к MM-AR API"

Платформа MM-AR не запущена или недоступна по настроенному URL.

  1. Проверьте, что контейнеры Docker работают: docker compose ps

  2. Проверьте, что API работает: curl http://localhost:8000/login

  3. При использовании пользовательского URL убедитесь, что MMAR_API_URL установлен правильно

"Порт 8000 уже используется"

Другой процесс использует порт 8000. Остановите этот процесс или настройте платформу MM-AR на использование другого порта (см. документацию mmar-docker-installation).

Тесты не проходят на этапе "Вход как admin"

База данных MM-AR может быть еще не полностью инициализирована. Контейнерам Docker требуется несколько секунд после запуска для завершения инициализации базы данных. Подождите 10-15 секунд после docker compose up и повторите попытку.

"Не удается найти модуль dist/index.js"

Необходимо скомпилировать исходный код TypeScript сначала:

npm run build

MCP хост не обнаруживает сервер

  • Убедитесь, что путь в конфигурации вашего MCP хоста указывает на абсолютный путь к dist/index.js

  • Перезапустите MCP хост после изменения конфигурации

  • Проверьте, что установлен Node.js v18+: node --version

Связанные репозитории

  • mmar — Основной репозиторий платформы MM-AR

  • mmar-docker-installation — Docker-настройка для полной платформы MM-AR

  • mmar-server — REST API сервер MM-AR

Лицензия

ISC

Цитирование

Если вы используете это программное обеспечение в своих исследованиях, пожалуйста, цитируйте:

@inproceedings{chima2026mmar-mcp,
  title={Agentic Creation of Modeling Languages: Extending the MM-AR Metamodeling Platform with MCP},
  author={Chima, Prosper and Fill, Hans-Georg and Curty, Simon},
  booktitle={Proceedings of the International Conference on Conceptual Modeling (ER), Demos and Posters},
  year={2026}
}
Install Server
F
license - not found
A
quality
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (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 Servers

  • A
    license
    -
    quality
    F
    maintenance
    Integrates multimodal large language models with ParaView to enable the creation and manipulation of scientific visualizations using natural language and visual inputs. It features visual feedback capabilities for iterative refinement, making advanced visualization workflows accessible through intelligent automation.
    58
    BSD 3-Clause
  • -
    license
    -
    quality
    -
    maintenance
    Enables AI agents to traverse SysML v2 model graphs, query requirements, and perform impact analysis for model-based systems engineering. It allows agents to interact with plain-text models to automate documentation and refine system architectures.
  • F
    license
    -
    quality
    F
    maintenance
    Enables AI-driven graphical diagram creation and manipulation using natural language, with support for BPMN workflows, analysis, and manual editing via the Model Context Protocol.
    1

View all related MCP servers

Related MCP Connectors

  • AI Agent with Architectural Memory. Impact analysis (free), tests and code from the graph (pro).

  • Map text into knowledge graphs to create a structured representation of conceptual relations and t…

  • Create and manage AI agents that collaborate and solve problems through natural language interacti…

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/ProTech001/mmar-mcp-server'

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