Skip to main content
Glama
ProTech001
by ProTech001

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

사전 요구 사항

요구 사항

버전

목적

Node.js

v18+

MCP 서버 실행

Docker

최신

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 서버

http://localhost:8000

REST API (MCP 서버가 여기에 연결)

메타모델링 클라이언트

http://localhost:8070

모델링 언어 정의

모델링 클라이언트

http://localhost:8080

모델 인스턴스 생성

VizRep 클라이언트

http://localhost:8090

시각적 표현 설계

브라우저에서 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 build

npm 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개의 도구 중 하나를 호출할 수 있습니다. 일반적인 워크플로우를 위해 세 가지 안내 프롬프트를 사용할 수 있습니다:

  1. create-metamodel — 자연어 설명에서 새로운 모델링 언어 생성

  2. create-model — 기존 메타모델을 사용하여 모델 인스턴스 생성

  3. analyze-model — 기존 모델 검사 및 분석

예시: "create-metamodel 프롬프트를 사용하여 Place 노드, Transition 노드 및 Arc 연결이 있는 Petri Net 모델링 언어를 생성하세요."

구성

서버는 하나의 환경 변수를 읽습니다:

변수

기본값

설명

MMAR_API_URL

http://localhost:8000

MM-AR REST API의 기본 URL

셸, 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

참조 예제로서의 완전한 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에 연결할 수 없습니다.

  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 컨테이너는 시작 후 데이터베이스 초기화를 완료하는 데 몇 초가 필요합니다. docker compose up 후 10-15초 기다렸다가 다시 시도하세요.

"모듈 dist/index.js를 찾을 수 없습니다"

TypeScript 소스를 먼저 컴파일해야 합니다:

npm run build

MCP 호스트가 서버를 감지하지 못함

  • MCP 호스트 구성의 경로가 dist/index.js절대 경로를 가리키는지 확인

  • 구성을 변경한 후 MCP 호스트 다시 시작

  • Node.js v18+가 설치되었는지 확인: node --version

관련 저장소

라이선스

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