mcpField
O
OpenSCAD

OpenSCAD

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

OpenSCAD について

OpenSCAD MCP Serverは、SCADソースからPNGプレビューを生成し、STLジオメトリを出力します。AgentやCADワークフロー向けに、視覚的なモデル調整と後工程用データの作成を支援します。

主な機能

  1. 01SCADからPNGプレビューを生成
  2. 02STLジオメトリを出力
  3. 03プレビューのサイズとカメラを設定
  4. 04反復モデリングスキルを同梱

活用シーン

  1. 01SCADの反復中に形状を確認
  2. 02製造や検査向けにジオメトリを出力
  3. 03パラメーター違いのレンダリングを比較

MCP 対応

MCPクライアントに`render_scad_png`と`export_scad_stl`ツールを提供します。結果は画像コンテンツと埋め込みSTLリソースとして返されます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"fboldo-openscad": {
"command": "npx",
"args": [
"-y",
"openscad-mcp-server"
]
}
}
}
起動コマンドnpx -y openscad-mcp-server

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

パッケージ
npmopenscad-mcp-server1.0.6

ツール

2

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

パラメーター型必須説明
widthnumberいいえ出力画像の幅(ピクセル、デフォルト:800)
heightnumberいいえ出力画像の高さ(ピクセル、デフォルト:600)
scadCodestringはいレンダリングする OpenSCAD コード
cameraPresetenumいいえ`cameraPosition` が指定されていない場合に使用する、名前付きカメラプリセットisometric | front | back | left | right | top | bottom
cameraPositionobjectいいえカメラ位置({ x,y,z })。例:{ x: 0, y: -25, z: 20 }
cameraPosition.xnumberいいえカメラの X 座標
cameraPosition.ynumberいいえカメラの Y 座標
cameraPosition.znumberいいえカメラの Z 座標

詳細

OpenSCAD MCP Server

npm version npm downloads CI

OpenSCAD(SCAD)のソースコードからPNG プレビューとSTL ジオメトリをレンダリングする MCP(Model Context Protocol)サーバーです。モデルを視覚的にプレビューし、後続の用途(製造、シミュレーション、検査など)向けにエクスポートできる、エージェント主導の反復的な CAD ワークフローを支援するよう設計されています。

⚠️ ベータ版
この MCP サーバーは現在ベータ版です。パフォーマンス、API、機能は変更される可能性があります。問題の報告や貢献を歓迎します。

ユースケース

  • エージェント主導の反復的なモデリング
    エージェントが OpenSCAD のソースを生成または変更し、形状や比率を評価するための PNG プレビューをレンダリングして、複数のやり取りを通じてモデルを調整します。

  • MCP コンテキスト内でのジオメトリアーティファクトの生成
    エージェントは STL ファイルを具体的なジオメトリアーティファクトとしてエクスポートし、後続のツールに渡したり、保存、検査したり、ほかの MCP 対応システムに引き継いだりできます。

  • パラメトリックデザインの視覚的な根拠付け
    PNG プレビューによって、パラメトリックまたはプログラムで記述された SCAD コードを視覚的に把握でき、幻覚を抑え、空間的な変化についてエージェントが推論できるようになります。

  • 設計の検証と比較
    エージェントはモデルの複数のバリエーション(パラメーターの一括変更など)をレンダリングし、保存またはエクスポートするジオメトリを決定する前に、結果を視覚的に比較できます。

利用可能なツール

  • render_scad_png:SCAD ソースから PNG プレビュー画像をレンダリングします。
    • 入力:scadCode(文字列)、任意の width/height(数値)、任意の cameraPreset と任意の cameraPosition
      • cameraPreset:isometric、front、back、left、right、top、bottom のいずれか
      • cameraPosition:{ x, y, z }
    • 出力:MCP ImageContent
  • export_scad_stl:SCAD ソースから生成した STL をエクスポートします。
    • 入力:scadCode(文字列)、任意の filename(文字列)
    • 出力:MCP 埋め込みリソース(STL)

スキル

このリポジトリには、反復的な SCAD → PNG → 評価 → 改良のループを支援するために、この MCP サーバーの使い方を紹介するOpenSCAD 反復モデリングスキルも含まれています。

制限事項

  • パフォーマンス:複雑な SCAD モデルのレンダリングには時間がかかる場合があり、特に WASM 環境では顕著です。
  • 機能のサポート:OpenSCAD のすべての機能が完全にサポートされているとは限らず、WASM 版では制限がある場合があります。
  • フォント:現在、テキストのレンダリングには対応していません。今後のリリースで対応を予定しています。

インストール

公開されているパッケージは、stdio 経由で実行することを想定しています。npx を使って MCP クライアントで設定してください。

{
  "mcpServers": {
    "openscad": {
      "command": "npx",
      "args": ["-y", "openscad-mcp-server"]
    }
  }
}

HTTP 経由で実行する場合(Docker での実行など)は、--http を渡してください。

MCP_PORT=3000 npx -y openscad-mcp-server --http

サーバーは GET /health と、ステートレスなストリーム可能 HTTP MCP エンドポイント POST /mcp を公開します。

スキルの使用

エージェントスキルは、エージェントに新しい機能や専門知識を付与するための、シンプルでオープンな形式です。

OpenSCAD 反復モデリングスキルを使う最も簡単な方法は、skills CLIを使ってインストールすることです。

npx skills add fboldo/openscad-mcp-server --skill openscad-iterative-modeling

ローカル開発

  • 依存関係をインストール:bun install
  • Stdio(クライアントでの実行方法と同じ):bun index.ts --stdio
  • HTTP(手動テストに便利):bun index.ts(または --http)
    • ポート:MCP_PORT(デフォルトは 3000)
    • エンドポイント:GET /health、MCP は POST /mcp
  • MCP Inspector:bun run dev

類似プロジェクト

  • jhacksman/OpenSCAD-MCP-Server ユーザーのプロンプトから画像を生成し、その後に3D再構築や3Dプリンターの検索まで行う、別のアプローチを採用したプロジェクトです。非常に興味深いプロジェクトです。OpenSCADやMCP サーバーに関心がある方は、ぜひご覧ください。

  • petrijr/openscad-mcp このプロジェクトと似ていますが、Pythonベースのサーバーを使用し、レンダリングにはOpenSCAD CLIを利用します。

関連リンク

ライセンス

MIT — LICENSEをご覧ください。

コメント

MCP は初めてですか?

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

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