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 をサーバーに接続(例: CursorClaude Desktop

クイックスタート

以下の 5 つのステップで、ゼロから動作する環境を構築できます。

ステップ 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 個のツールのいずれかを呼び出せるようになります。一般的なワークフローには、3 つのガイド付きプロンプトが用意されています。

  1. create-metamodel — 自然言語の説明から新しいモデリング言語を作成します。

  2. create-model — 既存のメタモデルを使用してモデルインスタンスを作成します。

  3. analyze-model — 既存のモデルを検査・分析します。

例: 「create-metamodel プロンプトを使用して、Place ノード、Transition ノード、Arc 接続を持つ Petri Net モデリング言語を作成してください。」

設定

サーバーは 1 つの環境変数を読み取ります。

変数

デフォルト

説明

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 つのカテゴリに分類されています。

認証(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

これにより、ツールの参照、手動呼び出し、リクエスト/レスポンスペイロードの検査が可能な Web 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

関連リポジトリ

  • 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}
}
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