mcp-stl について
mcp-stlは、STL形式の3Dメッシュファイルを読み込み、作成、編集するMCPサーバーです。メッシュ変換、基本形状、エンジン設計用形状のツールを備えています。
主な機能
- 01メッシュデータの読み込みとファイル概要の確認
- 02ASCIIまたはバイナリ形式のSTL出力
- 03メッシュの移動、回転、拡大縮小、せん断、反転
- 04メッシュの結合と直線・円形配列の作成
- 05基本形状とエンジン設計用形状の作成
活用シーン
- 01既存のSTLメッシュの確認
- 02モデルの変換や結合による再利用
- 03基本形状やエンジン設計用STL形状の生成
MCP 対応
MCPクライアントに、STLファイルの解析・書き込み、メッシュ操作、形状生成のツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ツール一覧はまだ取得されていません
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-stl
STL 3D モデルファイルを編集するための MCP サーバーです。Model Context Protocol を通じて、STL ファイルの解析、表示、操作を行うツールを提供します。
インストール
pip install mcp-stl
MCP サーバー
mcp-name: io.github.daedalus/mcp-stl
ツール
読み込みと書き込み
- read_stl_file:STL ファイルを読み込み、メッシュデータ(頂点、法線、バウンディングボックス)を返します
- get_mesh_info:形状データ全体を読み込まずに、STL ファイルの概要情報を取得します
- write_stl:メッシュデータを STL ファイルに書き込みます(ASCII またはバイナリ形式)
変換
- translate_stl:指定した X、Y、Z のオフセット分だけメッシュを移動します
- rotate_stl:指定した角度(度)で、X、Y、または Z 軸を中心にメッシュを回転します
- scale_stl:指定した X、Y、Z の係数でメッシュを拡大・縮小します
- shear_stl:せん断変換を適用します(別の軸に沿った単位ごとに、1 つの軸をずらします)
- mirror_stl:指定した軸に垂直な平面を基準に、メッシュを反転(鏡映)します
- rotate_stl_axis:任意の軸ベクトルを中心にメッシュを回転します(ロドリゲスの公式)
- combine_stl:複数の STL ファイルを 1 つに結合します
- array_linear:固定の X/Y/Z オフセットで間隔を空けて、メッシュのコピーを N 個作成します
- array_circular:軸を中心に等角度間隔で、メッシュのコピーを N 個作成します
プリミティブ
- create_cube:立方体のメッシュを作成します
- create_box:幅、高さ、奥行きを個別に指定できる直方体のメッシュを作成します
- create_sphere:球のメッシュを作成します
- create_cylinder:円柱のメッシュを作成します
- create_cone:円錐のメッシュを作成します
- create_torus:トーラス(ドーナツ形)のメッシュを作成します
- create_plane:平面のメッシュを作成します
- create_capsule:カプセル形(両端に半球状のキャップが付いた円柱)のメッシュを作成します
- create_ellipsoid:各軸の半径を個別に指定できる楕円体を作成します
- create_frustum:円錐台を作成します
- create_tube:中空円柱(チューブ/パイプ)を作成します
- create_pyramid:正 n 角錐を作成します
- create_prism:正 n 角柱(例:六角柱)を作成します
- create_hemisphere:半球(底面が平らなドーム)を作成します
- create_wedge:直角三角形のくさび(三角柱)を作成します
エンジン設計用の形状
- create_gear:平歯車のメッシュを作成します(モジュール、歯数、圧力角を設定可能)
- create_spring:らせん状のコイルばねを作成します
- create_connecting_rod:大端部と小端部に穴のあるコネクティングロッドを作成します
- create_crankshaft:スロー数 N のクランクシャフトを作成します
- create_valve:ポペットバルブ(ステム+ヘッドディスク)を作成します
- create_camshaft_lobe:コサイン形状のノーズプロファイルを持つ偏心カムローブを作成します
使い方
Python API
from mcp_stl import read_stl_file, create_cube, translate_stl
# Read an existing STL file
mesh = read_stl_file("model.stl")
print(f"Faces: {mesh.face_count}")
# Create a primitive
create_cube("cube.stl", size=2.0)
# Transform a mesh
translate_stl("input.stl", "output.stl", x=10.0, y=0.0, z=5.0)
MCP サーバー
MCP クライアントで設定します:
{
"mcpServers": {
"mcp-stl": {
"command": "mcp-stl"
}
}
}
開発
git clone https://github.com/daedalus/mcp-stl.git
cd mcp-stl
pip install -e ".[test]"
# run tests
pytest
# format
ruff format src/ tests/
# lint
ruff check src/ tests/
# type check
mypy src/
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。