mmar-mcp-server
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
Предварительные требования
Требование | Версия | Назначение |
v18+ | Запуск MCP сервера | |
Последняя | Запуск стека платформы 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 Сервер | REST API (MCP сервер подключается сюда) | |
Клиент метамоделирования | Определение языков моделирования | |
Клиент моделирования | Создание экземпляров моделей | |
Клиент VizRep | Дизайн визуальных представлений |
Проверьте, что 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 инструментов. Для распространенных рабочих процессов доступны три направленных промпта:
create-metamodel — Создание нового языка моделирования на основе описания на естественном языке
create-model — Создание экземпляра модели с использованием существующей метамодели
analyze-model — Проверка и анализ существующих моделей
Пример: "Используйте промпт create-metamodel для создания языка моделирования сети Петри с узлами Место, узлами Переход и соединениями Дуга."
Конфигурация
Сервер читает одну переменную окружения:
Переменная | По умолчанию | Описание |
|
| Базовый URL REST API MM-AR |
Установите её через вашу оболочку, конфигурацию MCP хоста (см. Шаг 4) или встроенно:
MMAR_API_URL=http://your-host:8000 node dist/index.jsКаталог инструментов
Все 62 инструмента имеют префикс mmar_ и сгруппированы в три категории:
Аутентификация (3 инструмента)
Инструмент | Описание |
| Аутентификация с именем пользователя и паролем |
| Проверка, активна ли сессия |
| Завершение текущей сессии |
Операции с метамоделями (26 инструментов)
Категория | Инструменты |
Типы сцен |
|
Классы |
|
Классы отношений |
|
Атрибуты |
|
Роли |
|
Порты |
|
Операции с экземплярами (33 инструмента)
Категория | Инструменты |
Сцены |
|
Экземпляры классов |
|
Экземпляры отношений |
|
Экземпляры атрибутов |
|
Экземпляры ролей |
|
Экземпляры портов |
|
Точки изгиба |
|
Все имена инструментов имеют префикс mmar_ (например, mmar_create_class). Префикс опущен в таблице выше для удобочитаемости.
Ресурсы
URI | Описание |
| Обзор архитектуры платформы и направленные рабочие процессы |
| Шаблоны кода VizRep для визуальных представлений |
| JSON схема структуры метамодели |
| Доступные типы атрибутов (String, Float, Boolean и т.д.) |
| Полная метамодель сети Петри в качестве эталонного примера |
Структура проекта
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.
Проверьте, что контейнеры Docker работают:
docker compose psПроверьте, что API работает:
curl http://localhost:8000/loginПри использовании пользовательского 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 buildMCP хост не обнаруживает сервер
Убедитесь, что путь в конфигурации вашего 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}
}Maintenance
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
- AlicenseAqualityFmaintenanceEnables natural language control of AutoCAD LT through AutoLISP code generation and execution, allowing users to create engineering drawings with conversational prompts.8451MIT
- Alicense-qualityFmaintenanceIntegrates 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.58BSD 3-Clause
- -license-quality-maintenanceEnables 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.
- Flicense-qualityFmaintenanceEnables 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
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…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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