mcpField
O
orcaslicer-mcp

orcaslicer-mcp

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

orcaslicer-mcp について

OrcaSlicer MCP は、実行中の OrcaSlicer に AI アシスタントが接続し、モデルの読み込み、設定の調整、スライスを行える MCP サーバーです。機能ごとの時間やフィラメント量などを数値で返すため、各設定の影響を検討できます。変更はすべて GUI に反映され、スライサーの操作は利用者が保持します。

主な機能

  1. 01約 800 項目の OrcaSlicer 設定の読み書き
  2. 02機能別のスライス時間・フィラメント・流量の集計
  3. 03複数バリアントのスライス比較と差分表示
  4. 04到達不能な制限値を検出する物理チェック
  5. 05プリンターの状態を読み取り専用で取得
  6. 06過去の出力結果の保存と参照

活用シーン

  1. 01設定変更が印刷時間とフィラメント使用量に与える影響の分析
  2. 02スライス前の physics チェックによるプロファイル検証
  3. 03レイヤー高さ別の時間と材料量の比較
  4. 04プリンターの加熱状況と初層の進行確認

MCP 対応

本プロジェクトは、スライス、プリセット、プレート配置、レンダリング、プリンター状態などのツールを MCP クライアントに公開する MCP サーバーです。ローカルマシンで設定された OrcaSlicer のアドレスに接続し、3D プリンターへは読み取り専用のリクエストのみを送信します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"maxellis-orcaslicer": {
"command": "uvx",
"args": [
"orcaslicer-mcp"
],
"env": {
"ORCA_API_TOKEN": "<ORCA_API_TOKEN>",
"ORCA_API_URL": "<ORCA_API_URL>",
"ORCA_MCP_ALLOW_KEYS": "<ORCA_MCP_ALLOW_KEYS>",
"ORCA_PRINTER_URL": "<ORCA_PRINTER_URL>",
"ORCA_PRINTER_API_KEY": "<ORCA_PRINTER_API_KEY>",
"ORCA_PRINTER_ID": "<ORCA_PRINTER_ID>"
}
}
}
}
起動コマンドuvx orcaslicer-mcp
設定が必要な環境変数
ORCA_API_TOKENシークレットRemote API token from the OrcaSlicer MCP build (Preferences -> Remote API)
ORCA_API_URLOrcaSlicer Remote API address; defaults to http://127.0.0.1:13130
ORCA_MCP_ALLOW_KEYSシークレットOptional comma-separated config keys the MCP may change even though they run code or drive the printer directly (post_process, *_gcode, print host settings). Wildcards allowed. Blank by default.
ORCA_PRINTER_URLOptional printer address; by default the address in OrcaSlicer's active printer profile is used. A user name and password can be part of it (http://user:[email protected]); percent-encode special characters in them (@ as %40). A password in it is stored as an ordinary setting, so prefer ORCA_PRINTER_API_KEY where the printer accepts a key.
ORCA_PRINTER_API_KEYシークレットOptional API key for printers that need one (OctoPrint, or Moonraker with authorization).
ORCA_PRINTER_IDOptional printer name for the outcome store; defaults to the host name of ORCA_PRINTER_URL when that is set, otherwise the printer profile's name, otherwise unknown.

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

パッケージ
pypiorcaslicer-mcp0.1.17

ツール

53

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

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

詳細

OrcaSlicer MCP

PyPI Python License MCP Badge Buy Me a Coffee

Claude が実際に稼働中の OrcaSlicer と連携して作業できます。モデルを読み込み、プレートに配置し、設定を調整してスライスし、その結果を数値として読み取れるので、「どの機能が印刷時間を消費したのか」「設定は実際に何をするのか」「プロファイルがプリンターの物理的な限界に反していないか」といった疑問を検討できます。変更はすべて、見ている間に GUI に反映されます。スライサーはあなたの手元にあり、使いながら操作にも習熟できます。

このパッケージはMCPサーバーであり、モデルは同梱していません。設定したアドレス(デフォルトは localhost)で OrcaSlicer と通信し、プリンターツールを使う場合は、3D プリンターに読み取り専用のリクエストを送ります。プリンターにコマンドを送信したり、何かをアップロードしたりすることはありません。モデルは MCP クライアントから提供されます。クライアントがホスト型のモデルを使用する場合、通常のチャットと同様に会話内容はそのサービスに送られます。モデル、プロファイル、gcode はスライサーを実行しているマシンに残ります。クライアントをローカルモデルに接続すれば、ホスト型サービスに送信されるものはありません。

できること

設定の意味を把握する

パッケージにはオフラインの設定リファレンスが含まれており、各キーの正式なラベル、ツールチップ、型、範囲、列挙値、デフォルト値を参照できます。そのため、describe_setting、search_settings、compare_settings は推測ではなく OrcaSlicer 自身のソースに基づいて回答します。consult は、トピック、症状、目標に応じて、厳選されたスライスの知識と保存済みのメモを組み合わせます。

check_profile_physics は決定論的なチェック機能です。提案された変更を実行中の設定に重ね合わせ、フロー、温度、形状、冷却の計算を実行したうえで、ok、warnings、blocked のいずれかを返します。プリンターが到達できない加速度や、フロー上限を超える速度を、印刷に反映される前に検出できます。

設定

ライブ設定にある約800個の OrcaSlicer 設定を、プレート全体またはより限定した範囲で読み書きできます。利用できるツールは、get_config、set_config、find_config_keys、set_layer_height、複数層の範囲に適用する set_height_range、および単一オブジェクトの上書き設定に使う set_object_config です。

複数フィラメント構成では、フィラメントごとのキーは読み取り時に読み込み済みのすべてのスロットから統合されますが、書き込みは一度に1つのプリセットに対して行われます。また、プリセットを選択すると、すべてのグループの未保存の上書き設定が破棄されます。そのため、フィラメントの編集を先に行い、印刷設定の編集を後に行ってください。その理由と手順については、docs/order-of-operations.mdを参照してください。

プリセット

list_presets、select_preset、get_preset_config、edit_preset、save_preset、rename_preset、delete_preset。select_preset は切り替えたグループだけでなく、すべてのグループの未保存の上書き設定を破棄します。詳しくはdocs/order-of-operations.mdを参照してください。

スライスと結果の読み取り

slice、slice_and_wait、apply_and_slice、cancel_slice、get_slice_status、get_slice_warnings、get_gcode。

get_slice_breakdown は、機能ごとの所要時間、フィラメント量、流量を返します。OrcaSlicer ではプレビュー横の凡例に同じ情報が画面向けに表示されますが、このツールはアシスタントが比較して判断に使える数値として返します。

role                    time      share   filament   mean flow
inner_wall              5m 41s    30.8%     6.43 g    16.0 mm3/s
outer_wall              3m 19s    18.0%     3.20 g    13.6 mm3/s
sparse_infill           3m 07s    17.0%     3.57 g    17.0 mm3/s
internal_solid_infill   2m 01s    11.0%     1.72 g    11.8 mm3/s
bridge                     52s     4.7%     0.26 g     4.4 mm3/s
support_interface          36s     3.2%     0.52 g    12.3 mm3/s
overhang_perimeter         28s     2.5%     0.13 g     3.7 mm3/s
internal_bridge            21s     1.9%     0.45 g    19.9 mm3/s
top_surface                19s     1.7%     0.29 g    12.5 mm3/s
brim                       12s     1.1%     0.21 g    14.7 mm3/s
bottom_surface              7s     0.7%     0.10 g    11.8 mm3/s
                        18m 24s            16.89 g

スライスを何度も繰り返して確認しなくても、どの機能が時間を消費しているかがわかります。prediction_check もあわせて実行され、プロファイルで指定された速度が流量上限によって抑えられた役割を報告します。

compare_slices は、複数の名前付きバリアントで現在のプレートをスライスし、比較結果をまとめて返します。「レイヤー高さを変えると実際に何が変わるのか?」という質問を、手動で4回スライスする代わりに一度で確認できます。元の設定に各バリアントを適用し、処理後に元に戻して、判定結果と、差分をすべて計算済みの表を返します。

Recommended: 0.4mm - fastest with no warnings.

variant     time      filament   vs 0.4mm (baseline)
0.3mm       8h 10m    41.0 g      +1h 30m (+22%), -7.0 g (-15%)
0.4mm  *    6h 40m    48.0 g      baseline
0.5mm       5h 20m    53.4 g      -1h 20m (-20%), +5.4 g (+11%)
0.6mm       4h 35m    57.1 g      -2h 05m (-31%), +9.1 g (+19%)  thin-wall warning

あるバリアントが所要時間、フィラメント量、警告のすべてで本当に優れている場合にのみ、それを勝者として示します。トレードオフがある場合は、最速のもの、最も軽いもの、警告が発生した箇所を示し、選択はユーザーに委ねます。detail=True を渡すと、各バリアントの機能ごとの内訳も表示されます。

モデルとプレート

load_model(.stl、.obj、.3mf。fork v2.3.2-mcp.3 以降では .step と .stp も対応)、各オブジェクトのワールド座標系でのバウンディングボックスと on_plate フラグを表示する list_objects、transform_object、duplicate_object、delete_object、arrange_plate、auto_orient、check_placement、diagnose_plate、get_job_status。

複数のプレート

list_plates、add_plate、select_plate、delete_plate、move_object_to_plate を使うと、ツールバーでの操作と同じように複数プレートのプロジェクトを構成できます。プレートごとにパーツを配置し、それぞれ個別にスライスします。スライス、Gコード、レンダリング、ジョブの状態確認は常に現在のプレートに対して実行されるため、スライスする前にプレートを選択してください。list_objects は各オブジェクトが配置されているプレートを表示します。このようなレイアウトでは arrange_plate を使わないでください。OrcaSlicer の配置機能は、ロックされていないすべてのプレートを再びまとめて配置します。これらの機能には fork v2.4.2-mcp.13 以降が必要です。

プレートのレンダリング

render_plate は PNG を返すため、アシスタントは座標から推測するのではなく、画像を確認できます。回転は3つのオイラー角よりも画像のほうがすぐに把握できます。カメラアングルは iso、top、front、left、right、rear、bottom の7種類です。ベッド全体を見渡すには frame="plate" を、パーツに近づいて見るには frame="object" を使います。fork v2.3.2-mcp.4 以降が必要です。

view="editor"view="preview"
ベッド上に置かれた圧入式チューブコネクタースライス済みの同じパーツ。ツールパスは機能の役割ごとに色分けされています
ベッド上のモデルです。向き、プレートとの接触、初層の設置面積を確認できます。機能の役割ごとに色分けされたスライス済みのツールパスです。サポートの配置がひと目でわかります。

describe_plate は、スライス済みの Gコードから算出した数値と、オブジェクトごとの一文で同じ情報を示します。パーツがどのように立っているか(初層の接触面を最も幅の広いレイヤーと比較し、平置き、傾斜、または辺や角で接地しているか)、初層の設置面積と島の数、高さ帯ごとにオーバーハングの押し出しが集中する場所、サポートの位置とパーツとの接触箇所、さらに seam_position と照合した継ぎ目の位置を確認できます。アシスタントは画像よりも文章のほうを確実に読み取れるため、この機能が用意されています。同じオブジェクトの複製は集計されますが、島の情報には各複製の接地面が個別に表示されます。傾斜したブラケットの複製が3つあるプレートでは、次のように表示されます。「bracket.stl(3個)は辺または角で接地しています。初層の接触面積は最も幅の広いレイヤーの5%で、約50 mm2 の島が3つあります。オーバーハングの押し出しは Z 0~10 mm に集中しています。サポートは Z 0.4~56.8 mm にあり、3か所で設置され、7つの領域でパーツに接触しています。継ぎ目は +Y 側(91%)に揃っており、seam_position=back と一致します。」

ライブ状態とメモリ

get_status と watch_events は、スライサーの現在の動作状況を報告します。remember は、マシン、ユーザー、プロジェクトに関する情報を後のセッションでも使えるよう、通常のローカルファイルとして ~/.orcaslicer-mcp/notes/ に保存します。ORCA_MCP_NOTES_DIR を使って保存先を変更できます。

プリンターの状態

get_printer_status は、プリンターの現在の動作状況を報告します。アイドル、加熱中、印刷中、一時停止、完了、または障害による停止の状態に加えて、ノズルとベッドの温度、ジョブの進捗と残り時間、プリンターが報告する問題をそのままの言葉で示します。よくある Klipper のメッセージには、簡単な平易な説明が付いています。wait_for_printer は、プリンターが加熱を終える、押し出しを開始する、または最初のレイヤーを完了するまで、あるいはジョブが終了(完了、キャンセル、失敗)するまで待機します。OctoPrint では押し出し状況を報告できないため、printing を待つ場合、ヒーターが設定温度に達した状態でジョブが実行中になるまで待機します。プリンターが障害を報告した場合や、印刷の加熱中にキャンセルしたときのように、待機している段階に達する前にジョブが終了した場合は、早期に戻ります。短時間のネットワーク切断には対応しますが、確認に3回連続で失敗すると処理を停止し、最後に確認した状態とともに「プリンターとの接続が失われました」と報告します。list_print_history は最近のジョブを一覧表示し、それぞれの終了状況、スライサーの見積もりに対する所要時間、失敗したジョブについては、コンソールに残っている場合にプリンターから報告された理由を示します。check_printer_match は、アクティブなプロファイルとプリンター本体の設定(ノズル径、ベッドサイズ、速度と加速度の上限、最高温度、ファームウェアのリトラクション)を比較します。確認に必要なデータが不足している場合は不明として返され、確認できる項目がない場合は、一致したと報告するのではなく、その旨を回答します。Klipper の max_accel を超える加速度を要求すると、警告が表示されます。現在の Klipper は、G-code で M204 または SET_VELOCITY_LIMIT を指定すると、設定された上限より高い値を受け入れるため、プリンターは設定上限を超える加速度で動作します。max_velocity を超える速度は、G-code で上限を引き上げない限り、低速化されます。

サーバーは OrcaSlicer を介してプリンターを検出します。アクティブなプリンタープロファイルの接続設定からアドレスを読み取るため、OrcaSlicer でプリンターに接続すれば、それ以外に設定する必要はありません。Klipper プリンター(Moonraker)では4つすべてのツールを利用でき、OctoPrint では、最初のレイヤーを待つ機能を除き、状態確認と待機を利用できます。このサーバーを実行しているマシンからプリンターのアドレスに接続できない場合は ORCA_PRINTER_URL を、プリンターでキーが必要な場合は ORCA_PRINTER_API_KEY を、結果の保存先でプリンターを識別する名前を指定する場合は ORCA_PRINTER_ID を設定します。ORCA_PRINTER_ID が設定されていない場合、名前には ORCA_PRINTER_URL が設定されていればそのホスト名、そうでなければプリンタープロファイル名、それもなければ unknown が使われます。ORCA_PRINTER_URL には、http://user:[email protected] のようにユーザー名とパスワードを含めることができます。@ を %40 にするなど、特殊文字はパーセントエンコードしてください。OrcaSlicer のプリンターアドレスに保存されたユーザー名とパスワードは読み取られないため、代わりに ORCA_PRINTER_URL または ORCA_PRINTER_API_KEY を使用してください。これらのツールはプリンターから情報を読み取るだけです。G-code の送信、温度の変更、ジョブの開始や停止は行いません。

実際のプリントから学習する

save_gcode は最後に成功したスライスの G-code を保存し、モデル名、オブジェクトの名前とサイズのフィンガープリント、設定の完全なスナップショット、およびそのスライスで OrcaSlicer が算出した時間とフィラメントの推定値を記録します。G-code は、PRINT_OUTCOMES_DIR が設定されている場合はその下の gcode フォルダーに保存されます。設定されていない場合、このマシンに共有プリント結果フォルダー(~/projects/_shared/print-outcomes/)がすでにあればその下に、なければ remember が使用するのと同じ ~/.orcaslicer-mcp/ フォルダーに保存されます。スライスの前に recall_prints が結果ストアを読み込むため、アシスタントはこのモデルの過去のプリントが実際にどうなったかを伝えられます。成功、キャンセル、またはユーザーが付けた評価、失敗した場合はプリンターが示した理由、そして使用された設定がわかります。

save_gcode は、PRINT_OUTCOMES_DIR で別の場所が指定されていない限り、ローカルの結果ストア ~/.orcaslicer-mcp/outcomes/ にすべてのスライスを記録します。既存の ~/projects/_shared/print-outcomes/ フォルダーがあれば、そのまま使用されます。list_print_history は Klipper プリンター自身の履歴から完了したジョブを同じストアにコピーし、ファイル名でそれらのスライスと照合するため、ほかのソフトウェアを使わなくても recall_prints が実際の結果から学習できます。これらの行の duration_s は Moonraker が記録したジョブ全体の所要時間で、加熱時間や一時停止も含むため、推定値と比べると超過時間が大きく見えます。list_print_history は、どちらも含まない印刷時間を推定値と比較します。プリンターがフィラメントの量をグラムではなくミリメートルで報告するため、filament_g は G-code ファイル自体の推定値です。klipper-mcp の連携ツールも引き続き併用できます。記録ツールはプリントの完了時に各結果を書き込み、その start_print ツールは save_gcode が保存したファイルをアップロードします。完了したプリントの行をストアから手動で削除しても、Moonraker の最近の履歴にそのジョブが残っている間は、保存済みのスライス設定を除いた状態で再び表示されます。完全に削除するには、Moonraker の履歴からもジョブを削除してください。どちらのプロジェクトも独自に通知を送ることはありません。新しい結果は、アシスタントが次に list_print_history または recall_prints を呼び出したときに確認できます。

必要なもの

標準の OrcaSlicer には制御 API が含まれていないため、対応するビルドでその部分を補います。

  1. OrcaSlicer MCP ビルド。 ローカル API を組み込んだ OrcaSlicer 2.3.2 です。トークン認証を使用し、別途指定するまでは localhost にバインドされています。リリースページから入手してください。お使いのプラットフォーム向けのバイナリがまだない場合は、ソースから remote-api ブランチをビルドしてください。
  2. このパッケージ(orcaslicer-mcp)。 AI クライアントをこのビルドに接続する MCP サーバーです。

更新: 新しいビルドは必ずリリースページから入手してください。アプリ内のアップデーターが提供するのは制御 API が取り除かれた標準の OrcaSlicer です。mcp.2 以降のビルドでは、このアップデーターは無効になっています。古いビルドを使用している場合は、「新しいバージョンが利用可能です」というプロンプトが表示されたら、このバージョンをスキップをクリックしてください。

クイックスタート

まず uv をインストールしてください。サーバーの実行に使う uvx コマンドが提供されます。macOS と Linux では curl -LsSf https://astral.sh/uv/install.sh | sh、Windows の PowerShell では irm https://astral.sh/uv/install.ps1 | iex を実行するだけです。

  1. OrcaSlicer MCP ビルドをインストールして起動し、プリンターを選択して初回セットアップを完了します。新規インストールでは、「Bambu Network Plug-in Required」 ダイアログが表示されることがあります。このプラグインは Bambu のクラウド印刷専用なので、「Skip for Now」 をクリックしてください。セットアップが完了すると、制御 API が起動します。

  2. Preferences(Ctrl+P)を開き、Remote API に移動して Enable Remote API にチェックを入れます。そのページに表示されるトークンをコピーしてください。「Allow LAN access」も有効にしない限り、アクセスは localhost のみに制限されます。

  3. MCP クライアントを接続します。

    Claude Desktop: リリースページから orcaslicer-mcp-<version>.mcpb をダウンロードして、ファイルを開きます。Claude Desktop からインストールを求められます。その後、拡張機能の設定を開き、手順 2 で取得したトークンを貼り付けて、有効にします。

    claude_desktop_config.json を手動で編集するよう指示するガイドは無視してください。現在の Claude Desktop ビルドはこのファイルを自動的に書き換え、追加された mcpServers エントリを削除するため、編集内容は反映されません。この拡張機能はファイルを変更せず、それ自体で uvx を検出します。

    Claude Code およびその他の MCP クライアント: クライアントの MCP 設定にサーバーを追加します。Claude Code の場合は、プロジェクトの .mcp.json に追加します。

    {
      "mcpServers": {
        "orcaslicer": {
          "command": "uvx",
          "args": ["orcaslicer-mcp"],
          "env": {
            "ORCA_API_TOKEN": "<token from Preferences>"
          }
        }
      }
    }
    

    ORCA_API_URL のデフォルトは http://127.0.0.1:13130 です。ポートを変更した場合、または LAN アクセスを有効にした別のマシンで OrcaSlicer を実行している場合にのみ設定してください。

    Windows に関する注意: pywin32 のインストール中に uvx orcaslicer-mcp が 「別のプロセスが使用中のため、プロセスはファイルにアクセスできません」 というエラーで失敗する場合は、Windows Search または Defender が書き込まれたばかりのファイルをインストール中に取得したことが原因です(uv は再試行しません)。再試行する pip ベースの代替方法を使い、生成された exe を "command" に指定してください。

    python -m venv "$env:USERPROFILE\.venvs\orcaslicer-mcp"
    & "$env:USERPROFILE\.venvs\orcaslicer-mcp\Scripts\python" -m pip install orcaslicer-mcp
    

    次に、"command" を C:\Users\<you>\.venvs\orcaslicer-mcp\Scripts\orcaslicer-mcp.exe に設定し、args は指定しません。後でアップグレードするには、同じ pip コマンドに -U を追加してください。

    Claude Desktop 以外の GUI クライアントを使う macOS ユーザーへの注意: Dock から起動したアプリはターミナルの PATH を引き継がないため、"command": "uvx" が何も表示せずに失敗することがあります。ターミナルで which uvx を実行し、表示されたフルパスを "command" に貼り付けてください。通常は ~/.local/bin/uvx です。

  4. クライアントを再起動して、次のように尋ねます:「benchy.stl を読み込み、現在のプロファイルでスライスして、印刷時間を教えてください。」

セキュリティ

  • デフォルトでは、制御 API は 127.0.0.1 のみにバインドされます。LAN からのアクセスは、Preferences で明示的に有効にする必要があります。
  • すべてのリクエストには API トークンが必要です。OrcaSlicer は初回起動時にトークンを生成し、いつでも再生成できます。
  • MCP サーバーはローカルの stdio プロセスとして動作します。接続先は OrcaSlicer のみです。プリンターツールを使用する場合は、OrcaSlicer の有効なプリンタープロファイル(または ORCA_PRINTER_URL)に指定されたアドレスのプリンターに対して、読み取り専用の HTTP GET リクエストも行います。プリンターにコマンドを送信したり、データをアップロードしたりすることはありません。テレメトリーもありません。
  • MCP サーバーは、コードを実行したりプリンターを直接制御したりする設定キーの変更を拒否します。対象は post_process、すべての *_gcode テンプレート、printer_model、printer_technology、filename_format、およびプリンター接続設定(print_host、printhost_*、host_type、printer_agent など、OrcaSlicer の物理プリンター関連キー)です。一覧は src/orcaslicer_mcp/guard.py にあります。API トークンを持つアシスタントは、モデル名や G-code、ウェブページなど、読み取ったテキストによって誘導される可能性があります。post_process はエクスポート後にシェルコマンドを実行するため、これらの変更は OrcaSlicer GUI で人が判断する必要があります。
  • すでに設定されている値と同じ値を書き戻すことは許可されているため、復元は引き続き機能します。ホストアドレスとその認証情報は例外です。OrcaSlicer は現在の値を報告しないため、これらへの書き込みは拒否されます。edit_preset はプリセットを選択する前にチェックを実行するため、編集が拒否されても未保存の変更はそのまま残ります。
  • それでも MCP に特定のキーを書き込ませるには、ORCA_MCP_ALLOW_KEYS にカンマ区切りで指定します。たとえば *_gcode のようなワイルドカードも使用できます。Claude Desktop 拡張機能では、設定項目として公開されています。起動時に、保護対象のキーに一致しない名前があればサーバーのログに記録されます。通常はタイプミスです。
  • このチェックが対象とするのは、MCP サーバー独自のツールのみです。シェルコマンドも実行できるアシスタントは、トークンを読み取って OrcaSlicer を直接呼び出す可能性があります。OrcaSlicer MCP v2.4.2-mcp.10 以降では、スライサー内部でも同じルールが適用され、Preferences → Remote API で Allow script, G-code and connection edits にチェックを入れるまで有効です。これらのビルドでは、アシスタントが変更を行うには、そのチェックを入れたうえで、キーを ORCA_MCP_ALLOW_KEYS に指定する必要があります。
  • get_preset_config は printhost_apikey、printhost_user、printhost_password を非表示にします。また、print_host と print_host_webui の user:password@ 部分も、最後の @ までを対象に非表示にするため、/、@、?、#、スペースを含むパスワードも隠されます。パス内に @ を含む URL は、/ を含むパスワードと同じように見えるため、その @ より前の部分も失われます。<redacted> プレースホルダーを含む値が書き戻されることはありません。

開発

uv venv && uv pip install -e ".[dev]"
uv run pytest   # unit tests against a mock API, plus a guarded live smoke test

ライブスモークテストは、ORCA_API_URL と ORCA_API_TOKEN が実行中の OrcaSlicer MCP ビルドを指していない場合、自動的にスキップされます。

設計仕様とプロトコルに関するメモは docs/ にあります。

プライバシーポリシー

このサーバーは、設定したアドレス(デフォルトは localhost)で OrcaSlicer のローカル API と通信します。また、プリンターツールを使用する場合は、OrcaSlicer のプリンタープロファイル(または ORCA_PRINTER_URL)に記載されたアドレスで 3D プリンターと通信します。それ以外とは一切通信しません。バックエンドはないため、データの送信先となる当社のサービスもありません。プリンターへのリクエストを除き、お使いのマシンから送信されるのは、MCP クライアントがモデルに送る内容、つまり会話と、ユーザーまたはアシスタントが入力した設定やファイルの内容です。この通信には各サービスの利用規約が適用され、同じクライアントをほかの用途で使う場合の通信と変わりません。ローカルモデルを使えば、データの送信は一切なくなります。

  • データ収集: ありません。サーバーがユーザーや使用状況に関する情報を収集することはありません。
  • 使用と保存: モデル、設定、gcode は OrcaSlicer を実行しているコンピューター上にとどまります。リクエストの処理中はサーバーのメモリを経由しますが、サーバーがディスクに書き込むのは、以下の「データ保持」に記載した内容だけです。API トークンはサーバーから OrcaSlicer への認証に使用され、MCP クライアントに保存されます。ORCA_PRINTER_API_KEY を設定した場合、プリンターキーはサーバーからプリンターへの認証に使用され、同様に保存されます。プリンターの状態、履歴、設定はツールの結果として MCP クライアントに返され、ほかのツール出力と同様に会話に含まれます。Claude Desktop は、機密情報として指定された設定(OrcaSlicer API トークンとプリンターキー)をオペレーティングシステムの資格情報ストアに保存します。ORCA_PRINTER_URL に含まれるパスワードは通常の設定として保存されるため、プリンターがキーに対応している場合は ORCA_PRINTER_API_KEY の使用をおすすめします。
  • 第三者との共有: このサーバーによる共有はありません。分析機能もバックエンドもありません。クライアントとモデルプロバイダー間の通信はこのプロジェクトの対象外であり、各プロバイダーのポリシーが適用されます。
  • データ保持: ディスクに書き込まれるのは、remember で自分で保存したメモ(~/.orcaslicer-mcp/notes/ 内のプレーンファイルとして保存)、save_gcode が書き込む G-code(共有フォルダーがすでに存在する場合は ~/projects/_shared/print-outcomes/、それ以外の場合は ~/.orcaslicer-mcp/ に保存)、アウトカムストア(outcomes.db。スライス記録(モデル名、オブジェクトの名前とサイズのフィンガープリント、各スライスで使用した設定)と、list_print_history がプリンターからコピーする印刷完了結果を保持し、共有フォルダーが存在する場合はそこに、それ以外の場合は ~/.orcaslicer-mcp/outcomes/ に保存)、および最後に応答したプリンターアドレス(パスワードは保存しません)を記録する ~/.orcaslicer-mcp/printer.json だけです。PRINT_OUTCOMES_DIR を使うと、G-code とストアの保存先を変更できます。必要なときに、いつでも内容を確認したり削除したりできます。削除すれば、何も残りません。
  • お問い合わせ: ご質問や懸念事項はイシューにお寄せください。

ステータス

初期の一般公開リリースで、ソフトローンチ中です。サーバーには 500 件を超える単体テストがあり、実際の印刷ジョブでもテストされています。ビルド済みの OrcaSlicer MCP は、Windows、macOS、Linux に対応しており、リリースページから入手できます。イシューや報告を歓迎します。

サポート

このプロジェクトは無料で、今後も無料です。時間の節約になり、お礼を伝えたいと思われたら、コーヒーをおごっていただけるとうれしいです。

コーヒーをおごる

ライセンス

AGPL-3.0 です。バンドルされた設定スキーマの派生元である OrcaSlicer と同じライセンスです。LICENSEをご覧ください。

コメント

MCP は初めてですか?

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

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