mcpField
M
Model Lab

Model Lab

ローカル
github.com/hpdkhoaメディア・デザイン21 週間前に更新

Model Lab について

Model Labは、パラメーターからBlender用のリグ付きゲーム銃器モデルを生成するMCPサーバーです。FBXや動作を含むblendファイルを出力し、構築内容を検査して参照写真と輪郭を比較します。外形と可動部のみを扱います。

主な機能

  1. 01パラメーターによるBlender銃器モデル生成
  2. 02リグ付きFBXとアタッチメントの出力
  3. 03動作アクション付きblendファイル
  4. 04形状と部品完全性の検査
  5. 05参照写真との輪郭比較

活用シーン

  1. 01ゲーム用の可変銃器アセット作成
  2. 02実銃写真を基準にしたモデル検査
  3. 03アタッチメントの個別アセット出力

MCP 対応

プリセット、プラットフォーム、パラメーター、アタッチメントの一覧取得、銃器やクリップの生成、参照画像との比較、既存ビルドの確認を行うツールをMCPクライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"hpdkhoa-modellab": {
"command": "uvx",
"args": [
"modellab-mcp"
],
"env": {
"MODELLAB_BLENDER": "<MODELLAB_BLENDER>",
"MODELLAB_OUT": "<MODELLAB_OUT>",
"MODELLAB_WAIT_FOR": "<MODELLAB_WAIT_FOR>"
}
}
}
}
起動コマンドuvx modellab-mcp
設定が必要な環境変数
MODELLAB_BLENDERBlender's executable (4.2 or later), if it is not on the PATH or in the usual install folder
MODELLAB_OUTThe only folder Model Lab writes to (builds, clips, comparisons); defaults to ~/.modellab
MODELLAB_WAIT_FOROptional process names that hold the machine (e.g. UnrealEditor.exe,blender.exe); a build refuses to start while one runs

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypimodellab-mcp0.2.0

ツール

10

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

Model Lab

パラメーターをもとにBlenderで作成し、リグを設定して実銃と照合した、ゲーム用銃モデル。

ライセンス:MIT Python 3.10+ PyPI:modellab-mcp MCP レジストリ:modellab-mcp Blender:4.2+ ツール:10 プリセット:AR-15 5種類

いくつかのパラメーターをもとに、Blenderでゲーム用の銃モデルを作成するMCP サーバーです。各モデルには、実際の部品と実際の比率、可動部ごとのボーン、クリップ、ゲームに必要な情報が含まれます。生成のたびにモデルを自己検査し、さらに実銃の写真と輪郭を照合する二次検査も行います。

ホログラフィックサイト、マグニファイア、ライト、バーティカルグリップを取り付けたAR-15

「右側のレールにドットサイトとライトを付けたM4A1」と頼むと、Model Labはリグ付きFBX、アタッチメントごとのFBX、.blend、画像シート、銃の座標系で各マークを記録したfacts.jsonを作成します。失敗したチェックがあれば、その内容も知らせます。作成するのはゲームモデルのみです。外形と可動部を作成しますが、動作する内部機構や製造用データは作成しません。

生成物

生成物内容
SK_<name>_Rig.fbxリグ付きの銃。Bolt、ChargingHandle、DustCover、BoltCatch、MagRelease、Selector、Trigger、ForwardAssist、Magazine、MagRound、Stockが含まれ、それぞれに実際のピボットと移動量が設定されています
SM_<name>_Magazine.fbxマガジン単体。手で持てるよう、原点は給弾リップにあります
アタッチメントごとのFBX 1つリコイルラグが原点です。可動部がある場合(折りたたみ式サイト、フリップキャップ、反転式マグニファイア)はSK_が付きます
<name>.blendすべての要素が含まれ、可動部の動作はアクションとして設定されています
facts.jsonマーク(薬室、排莢口、マガジンウェル、給弾リップ、グリップ、支持手、銃口、サイト)、レールとスロット、アタッチメントとソケット、部品表、すべてのチェック結果
sheet.png左右、上面、正面、クローズアップ、オープンアクション、サイト越しの視界を示すラベル付き画像

銃の座標系の単位はセンチメートルです。+Xは銃の左側、+Yは前方、+Zは上方です。原点は、ボルトが静止位置にあるときのボルトフェイスです。

右側から見たM4A1

インストール

Model Labの実行には、Python 3.10以降とBlender 4.2以降が必要です。

uvx modellab-mcp

または

pip install modellab-mcp

MCP クライアント(Claude Code、Claude Desktop、またはstdio サーバーを実行できる任意のクライアント)に追加します。

{
  "mcpServers": {
    "modellab": {
      "command": "uvx",
      "args": ["modellab-mcp"],
      "env": { "MODELLAB_BLENDER": "C:/Program Files/Blender Foundation/Blender 4.2/blender.exe" }
    }
  }
}
設定説明
MODELLAB_BLENDERBlenderの実行ファイルです。BlenderがPATH上または通常のインストール先にある場合は、省略できます。
MODELLAB_OUTModel Labが書き込みを行う唯一のフォルダーです。既定値は~/.modellabです。
MODELLAB_WAIT_FOR任意で指定する、マシンを占有するプロセス名です。例:UnrealEditor.exe,blender.exe。該当するプロセスの実行中は、生成を開始しません。既定では無効です。
MODELLAB_IDLE_OKMODELLAB_WAIT_FORと併用します。長時間稼働するワーカーを示すコマンドラインの一部(既定値はposelab_mcp)です。このようなワーカーは、ビジー状態の間だけ実行中とみなされます。

ツール

ツール内容
list_presetsすぐに使える銃:M4A1、M16A2、AR15、M4A1_Kitted、AR15_Optic。
list_platforms, describe_params銃のファミリーと、すべてのパラメーターを確認できます。各パラメーターの範囲または選択肢、単位、意味、実際の数値の出典が表示されます。
list_attachmentsレールとM-LOKスロット用の9種類のアタッチメントクラス。
build_gunプリセットまたはプラットフォームから銃を構築し、任意のパラメーターを変更できます。motion=trueを指定すると、動作のGIFが追加されます。
build_gun_clips構築した銃専用のクリップを、その銃のリグ上で計測して作成します。各クリップはFBXとGIFが1つずつです。
list_references, compare_to_reference実銃との照合:構築した銃の輪郭を写真と比較します。
list_builds, read_buildこれまでの構築結果とその情報を確認できます。

同じ呼び出しをシェルから実行できます:modellab presets、modellab build M4A1 stock_pos=2 name=MyM4、 modellab clips <build>、modellab compare。一覧を表示するにはmodellab helpを実行します。

すべての構築結果を自己チェック

構築結果には、各チェックの値が表示されます。チェック項目は次のとおりです。

  • 公表されている数値に対する全長(M4A1は29.75インチと33インチ、M16A2は39.63インチ);
  • 銃腔に対する薬室の位置;
  • ダストカバー:排莢口全体を覆い、下端を軸に開き、下側に当たるところで止まること(構築時には1度ずつ動かし、最初に接触した位置で止めます);
  • マガジンがマガジンウェルの壁に触れず、正しく装着されていること;
  • ボルトが最上段の弾丸を越えて移動すること;
  • 照準線:リア・アパーチャとフロントポストが同じ高さにあること;
  • 各アタッチメントが適合するレールに取り付けられ、銃のすべての状態で干渉せず、光学照準器がアイアンサイトの照準線上にあること;
  • 実際の特徴を備えた、目に見えるすべてのパーツ(parts_complete)。パーツ一覧には、実銃で人が目にする各パーツと、そのパーツとして認識されるための特徴が記載されています。たとえば、チャージングハンドルの湾曲した翼、フィンガーフック、ラッチ、ロールピン、ボルトキャッチのセレーション、キャッスルナットの切り欠き、フロントサイトベースの銃剣ラグ、スイベル、テーパーピンなどです。特徴が1つでも欠けると、構築結果は不合格になります。レールの番号などの刻印は形状ではなく、テクスチャとして記載されています。

チャージングハンドルの接写

実銃との照合

compare_to_referenceは、参照写真本来の縮尺で構築した銃の側面輪郭を描画します。銃口と銃腔を基準に両者の位置を合わせ、列ごとに両方の輪郭を計測し、差があるパーツを示します。オーバーレイでは、写真の上にモデルが透過した赤色で表示されます。写真の暗い部分が透けて見える箇所は、実銃にはあるもののモデルにはない部分です。

参照写真に重ねたM4A1の輪郭

このチェックにより、自己チェックでは見つけられなかった不具合が判明しました。ロアレシーバーが1.55 cm後方にずれていたこと、フロントサイトベースが2.4 cm後方にあり形状も異なっていたこと、ストックの輪郭、マガジンの湾曲、レールの高さです。現在、銃の輪郭において長さが1.75 cmを超える部分では、ずれが1 cmを超える箇所はありません。アタッチメントはクラス単位であり、写真に写った正確なモデルとは異なるため、照合時には輪郭を分けて扱います。

参照画像はパッケージに同梱されています。PEO SoldierによるM4A1カービンの写真で、 Wikimedia CommonsのFile:M4A1-flattop.jpgです。米国連邦政府の著作物としてパブリックドメインになっています。照合では、0.394インチ間隔のレールの歯から縮尺を読み取ります。

レール上のアタッチメント

各レールは、ピカティニーピッチ(MIL-STD-1913)に沿ったスロットを報告します。スロット 0 は後端です。M-LOK ハンドガードもスロットを報告します(32 × 7 mm、間隔 40 mm)。アタッチメントは名前で指定するか、{item, rail, slot, state, options} の形式で渡します。

{"preset": "M4A1", "params": {"attachments": [{"item": "flip_rear", "state": "down"}, "red_dot", "weapon_light"]}}

9 種類のクラスがあります。折りたたみ式のリアサイトとフロントサイト、M4 のキャリングハンドル、フリップキャップ付きの 30 mm レッドドットサイト、ホログラフィックサイト、フリップマウント式の 3 倍マグニファイア、4×32 プリズムサイト、バーティカルグリップ、ウェポンライトです。ビルド時に、各アタッチメントがレールに取り付けられること、すべての状態で銃と干渉しないこと、また、下図のように他のアタッチメントとも干渉しないことを確認します。あるアタッチメントが別のアタッチメントの動きを妨げる場合、ビルド結果に表示します。マグニファイアの後ろにあるリアサイトは、マグニファイアを横に振った後でのみ起こせます。

レッドドットサイト越しの照準像。中央にあるのは A2 ポストです

動きとクリップ

各 .blend ファイルには、アクションとしてサイクルが含まれています。motion=true を指定すると、チャージングハンドルを引き、カバーが跳ね上がり、ボルトキャリアが戻り、マガジンを抜き差しし、最後にアタッチメントを動かす様子を GIF でレンダリングします。

マグニファイアとホログラフィックサイトを装着した AR-15 のサイクル

build_gun_clips は実際の所要時間に基づき、1 秒あたり 60 フレームで銃のクリップを作成します。チャージ、薬室の確認、発射(サイクルは 75 ms)、最後の発射(ボルトがストップに掛かった状態)、リロード、空の状態からのリロード、ストックの各位置が含まれます。各クリップは計測されます。各パーツはそれぞれの軸に沿って動き、全ストロークを行います。ボルトキャリアが 1 cm 動く前にカバーが開き、マガジンはマガジンウェルから抜かれて装着され、マガジンが入るまでボルトが保持されます。

空の状態からのリロード:新しいマガジンが装着されるまでボルトが開いたまま保持されます

次の改善:手で握る部分の角を丸める

オーナー、2026-10-21:「グリップに鋭い角はない。これが、マニュアルや画像を見たときに Model Lab に加える次の改善になる。角を少し丸めて、特に人がつかんで握る部分をそうしてほしい。鋭い角は手や人を傷つけるので、たいてい鋭い角にはしない。手で握れるよう、もっと丸くしてほしい」

  • 手でつかんだり握ったりするすべてのパーツの角を丸めます。グリップ、ピストルグリップのパネル、ハンドガード、マガジン、チャージングハンドル、ストックのチークとバットが対象です。
  • 半径は、マニュアル、図面、写真に記載されている場合はそこから読み取ります。記載がない場合は、名称を付けた人間工学の資料に基づき、パーツとともに記録します。
  • 実銃との照合では、これらの角も比較します。

測定値で見る重要性:デジタル化した M1911A1 では、グリップセーフティが角ばった突起になっていました。手をグリップに置くと、手のひらに食い込むセーフティの角の深さは 0.42 cm でした(手のひらがへこむ深さは 0.27 cm)。MIL-STD-1472G 5.7.7.6 が許容する最小値である 0.75 mm だけグリップパーツを丸めると、へこみを超える深さは 0.09 cm に減りました。赤は変更前(鋭角)、青は変更後(丸角)です。下には、変更前と変更後の箇所のクローズアップを示します。

鋭角と丸角のグリップセーフティに当たる手のひらのクリップ

制限事項

  • 現時点で対応しているプラットフォームは AR-15 系のみです。今後、他のプラットフォームにも対応する予定です。
  • 参照写真は M4A1 の右側面のみです。
  • クリップは銃の側面のみを対象とします。手のクリップにはアームリグが必要です。
  • セレクターのクリップはまだありません。SAFE 時のレバーの向きが、資料と照合されていません。
  • 多くの数値は写真から寸法を推定したものです。describe_params にはすべての出典と推定値が一覧表示されます。

商標

M-LOK は Magpul Industries の商標です。Model Lab は公開されている寸法に基づいて M-LOK スロットを描画しており、Magpul とは関係ありません。AR-15 は Colt's Manufacturing の商標です。ここでは一般的な意味でライフルの系統を指します。軍の型式名(M4A1、M16A2、M68)は、Model Lab が複製する銃やパーツの名称です。特定の製品を推奨するものではありません。

ライセンス

MIT。LICENSE をご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。