MCP STL 3D レリーフジェネレータ
中文· MCP の紹介· Wiki
このプロジェクトは、2D 画像を 3D 印刷やレンダリングに適した STL 形式の 3D レリーフ モデルに変換する MCP サーバーを提供します。
特徴
- あらゆる画像を3Dレリーフモデルに変換
- 制御モデルの寸法(幅、厚さ)
- 3Dモデルにオプションのベースを追加する
- 異なるレリーフ効果のために深さを反転する
- 即時ダウンロードリンクによる高速処理
インストール
前提条件
オプション1: ローカルインストール
- リポジトリをクローンします。
git clone https://github.com/bigchx/mcp_3d_relief.git
cd mcp_3d_relief
- 依存関係をインストールします:
uv pip sync requirements.txt
- サーバーを実行/検査します。
mcp run server.py
mcp dev server.py
使用法
JSON構成
{
"mcpServers": {
"mcp_3d_relief": {
"command": "uv",
"args": ["--directory", "{fill_in_your_path_here}", "run", "server.py"]
}
}
}
image_path
: 入力画像ファイルへのローカルパスまたはWeb URLmodel_width
: 3Dモデルの幅(mm)(デフォルト: 50.0)model_thickness
: 3Dモデルの最大厚さ/高さ(mm)(デフォルト: 5.0)base_thickness
: ベースの厚さ(mm)(デフォルト: 2.0)skip_depth
: 画像を直接使用するか、深度マップを生成するか(デフォルト: true)invert_depth
: レリーフを反転します(明るい領域は高くなるのではなく低くなります)(デフォルト: false)detail_level
: 処理画像の解像度を制御します(デフォルト:1.0)。detail_level = 1.0 の場合、画像は320ピクセルの解像度で処理され、通常100MB未満のSTLファイルが生成されます。値を大きくするとディテールの品質は向上しますが、処理時間とSTLファイルサイズが大幅に増加します。例えば、detail_level を2倍にすると、ファイルサイズは4倍以上になる可能性があります。使用には注意が必要です。
応答
MCP ツールは次の JSON 応答を返します。
{
"status": "success",
"depth_map_path": "path/to/yourimage_depth_map.png",
"stl_path": "path/to/yourimage.stl"
}
LLM は、提供された URL を使用して、この MCP サーバーから生成されたファイルにアクセスできます。
コマンドライン
コマンドラインから直接スクリプトを使用して、画像からレリーフ モデルを生成することもできます。
python3 relief.py path/to/your/image.jpg
外部深度マップ生成
より高品質な深度マップが必要な場合は、 Depth-Anything-V2などの外部深度マップ生成サービスを利用できます。このサービスは、より正確な深度マップを生成し、このプロジェクトで使用できます。
- https://huggingface.co/spaces/depth-anything/Depth-Anything-V2をご覧ください
- 画像をアップロードして深度マップを生成します
- 生成された深度マップをダウンロードする
skip_depth=false
を設定して、この深度マップをコンバーターで使用します。
このアプローチにより、特に複雑な画像の場合、より優れた 3D レリーフ モデルを提供できます。
仕組み
- 画像は深度マップを作成するために処理されます(暗いピクセル = 低く、明るいピクセル = 高くなります)
- 深度マップは三角形のファセットを持つ3Dメッシュに変換されます
- モデルの底にベースが追加されます
- モデルはSTLファイルとして保存されます
私たちのパートナー