mmar-mcp-server
MMAR-MCP 서버
MM-AR 메타모델링 플랫폼에 연결하여 사용자가 자연어 상호작용을 통해 완전한 메타모델과 모델 인스턴스를 생성할 수 있게 해주는 MCP(Model Context Protocol) 서버입니다.
개요
MMAR-MCP는 Model Context Protocol을 통해 MM-AR 플랫폼의 기능을 노출합니다:
62개의 도구 — 인증, 메타모델 CRUD, 인스턴스 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 배포 (처음 설정에 권장)
Docker를 사용하여 전체 MM-AR 스택을 클론하고 시작합니다:
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 클라이언트 | 시각적 표현 설계 |
브라우저에서 http://localhost:8000/login에 접속하여 API가 작동 중인지 확인합니다. 로그인 페이지가 보여야 합니다. 기본 자격 증명: admin / admin.
2단계: MCP 서버 클론 및 빌드
git clone https://github.com/ProTech001/mmar-mcp-server.git
cd mmar-mcp-server
npm install
npm run buildnpm run build 단계는 TypeScript를 dist/ 폴더의 JavaScript로 컴파일합니다. 이 단계는 서버가 실행되기 전에 필요합니다.
3단계: 설치 확인
종단 간 테스트 스위트를 실행하여 모든 것이 작동하는지 확인합니다:
npm test이 명령은 MCP 서버를 자식 프로세스로 생성하고 실제 MCP 호스트처럼 STDIO를 통해 JSON-RPC 메시지를 보냅니다. 핸드셰이크, 인증, 도구 목록, 리소스 읽기, 프롬프트 검색 및 전체 생성/확인/삭제 주기를 테스트합니다.
예상 출력 (모든 테스트 통과):
==============================================
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 구성 파일(macOS의 경우 ~/Library/Application Support/Claude/claude_desktop_config.json`)에 추가합니다:
{
"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 프롬프트를 사용하여 Place 노드, Transition 노드 및 Arc 연결이 있는 Petri Net 모델링 언어를 생성하세요."
구성
서버는 하나의 환경 변수를 읽습니다:
변수 | 기본값 | 설명 |
|
| MM-AR REST API의 기본 URL |
셸, 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 등) |
| 참조 예제로서의 완전한 Petri Net 메타모델 |
프로젝트 구조
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 — Petri Net 예비 결과 (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연결 거부 오류가 발생하면 localhost 대신 127.0.0.1을 사용하세요. 새 시도 후 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이 명령은 도구를 탐색하고, 수동으로 호출하고, 요청/응답 페이로드를 검사할 수 있는 웹 UI를 엽니다. 단계별 지침과 예제 페이로드는 test-data/README.md를 참조하세요.
문제 해결
ECONNREFUSED 또는 "MM-AR API에 연결할 수 없음"
MM-AR 플랫폼이 실행 중이 아니거나 구성된 URL에 연결할 수 없습니다.
Docker 컨테이너가 실행 중인지 확인:
docker compose psAPI가 작동 중인지 확인:
curl http://localhost:8000/login사용자 정의 URL을 사용하는 경우
MMAR_API_URL이 올바르게 설정되었는지 확인
"포트 8000이 이미 사용 중입니다"
다른 프로세스가 포트 8000을 사용하고 있습니다. 해당 프로세스를 중지하거나 MM-AR 플랫폼이 다른 포트를 사용하도록 구성하세요(mmar-docker-installation 문서 참조).
"admin으로 로그인" 테스트 실패
MM-AR 데이터베이스가 아직 완전히 초기화되지 않았을 수 있습니다. Docker 컨테이너는 시작 후 데이터베이스 초기화를 완료하는 데 몇 초가 필요합니다. docker compose up 후 10-15초 기다렸다가 다시 시도하세요.
"모듈 dist/index.js를 찾을 수 없습니다"
TypeScript 소스를 먼저 컴파일해야 합니다:
npm run buildMCP 호스트가 서버를 감지하지 못함
MCP 호스트 구성의 경로가
dist/index.js의 절대 경로를 가리키는지 확인구성을 변경한 후 MCP 호스트 다시 시작
Node.js v18+가 설치되었는지 확인:
node --version
관련 저장소
mmar — 메인 MM-AR 플랫폼 저장소
mmar-docker-installation — 전체 MM-AR 플랫폼을 위한 Docker 기반 설정
mmar-server — MM-AR REST API 서버
라이선스
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