メインコンテンツまでスキップ

システムツール

OpenForge MCP が提供するアプリケーション横断のシステムツールです。バージョン管理、トランザクション、パイプライン、レシピの各機能を含みます。

Version Control(バージョン管理)

シーンやプロジェクトの状態を保存・復元する機能です。Git とは独立した OpenForge MCP 独自のバージョン管理で、エディタの操作単位で状態を記録します。

ツール名説明主なパラメータ
save_version現在の状態を保存name, description
list_versions保存済みバージョンの一覧を取得limit, offset
restore_version指定したバージョンに復元version_id
create_branchブランチを作成name, from_version
list_branchesブランチの一覧を取得なし
switch_branchブランチを切り替えname
delete_versionバージョンを削除version_id

使用例

# 現在の状態を保存
curl -X POST http://localhost:8080/tools/save_version \
-H "Content-Type: application/json" \
-d '{
"name": "initial-layout",
"description": "基本レイアウト完成"
}'

# バージョン一覧を取得
curl http://localhost:8080/tools/list_versions

# 特定のバージョンに復元
curl -X POST http://localhost:8080/tools/restore_version \
-H "Content-Type: application/json" \
-d '{"version_id": "v001"}'

ブランチの活用

ブランチを使うと、異なるバリエーションを並行して試すことができます。

# ブランチを作成
curl -X POST http://localhost:8080/tools/create_branch \
-H "Content-Type: application/json" \
-d '{
"name": "lighting-experiment",
"from_version": "v003"
}'

# ブランチを切り替え
curl -X POST http://localhost:8080/tools/switch_branch \
-H "Content-Type: application/json" \
-d '{"name": "lighting-experiment"}'

Transaction(トランザクション)

複数のツール呼び出しをまとめてアトミックに実行する機能です。途中でエラーが発生した場合、トランザクション開始時点の状態にロールバックできます。

ツール名説明主なパラメータ
begin_transactionトランザクションを開始name
commit_transactionトランザクションを確定なし
rollback_transactionトランザクションをロールバックなし
get_transaction_status現在のトランザクション状態を取得なし

使用例

# トランザクション開始
curl -X POST http://localhost:8080/tools/begin_transaction \
-H "Content-Type: application/json" \
-d '{"name": "scene-setup"}'

# 複数の操作を実行
curl -X POST http://localhost:8080/tools/create_gameobject \
-H "Content-Type: application/json" \
-d '{"name": "Wall1", "type": "Cube"}'

curl -X POST http://localhost:8080/tools/create_gameobject \
-H "Content-Type: application/json" \
-d '{"name": "Wall2", "type": "Cube"}'

# 問題なければ確定
curl -X POST http://localhost:8080/tools/commit_transaction

# 問題があればロールバック
curl -X POST http://localhost:8080/tools/rollback_transaction

AI クライアントでの使い方

AI に対して以下のように指示すると、トランザクションを活用した操作が可能です。

「トランザクションを使って、壁4枚と床1枚で部屋を作って。
うまくいかなかったらロールバックして。」

AI は自動的に begin_transaction を呼び出し、すべての操作が成功した場合に commit_transaction を実行します。

Pipeline(パイプライン)

アプリケーション間でアセットを転送する機能です。Blender で作成したモデルを Unity にインポートするなど、クロスアプリケーションのワークフローを実現します。

ツール名説明主なパラメータ
transfer_assetアセットを別のアプリケーションに転送source_app, target_app, asset, format, options
get_pipeline_statusパイプラインの状態を取得なし
list_transferable_assets転送可能なアセットの一覧を取得app

使用例

# Blender のオブジェクトを Unity に転送
curl -X POST http://localhost:8080/tools/transfer_asset \
-H "Content-Type: application/json" \
-d '{
"source_app": "blender",
"target_app": "unity",
"asset": "Character",
"format": "fbx",
"options": {
"apply_modifiers": true,
"include_animations": true
}
}'

対応する転送パス

転送元転送先対応フォーマット
BlenderUnityFBX, glTF, OBJ, USD
BlenderGodotglTF, OBJ, FBX
UnityBlenderFBX, OBJ
GodotBlenderglTF, OBJ

AI クライアントでの使い方

「Blender で作った Character モデルを Unity にインポートして」

AI が自動的に transfer_asset を呼び出し、エクスポート・インポートを一括で処理します。

Recipe(レシピ)

レシピの実行と管理を行うツールです。レシピの詳細については レシピ機能 を参照してください。

ツール名説明主なパラメータ
run_recipeレシピを実行recipe, variables
list_recipes利用可能なレシピの一覧を取得なし
get_recipe_infoレシピの詳細情報を取得recipe
validate_recipeレシピの構文を検証recipe

使用例

# レシピ一覧を取得
curl http://localhost:8080/tools/list_recipes

# レシピを実行
curl -X POST http://localhost:8080/tools/run_recipe \
-H "Content-Type: application/json" \
-d '{
"recipe": "basic-scene-setup",
"variables": {
"scene_name": "TestScene",
"ground_size": 100
}
}'

# レシピの詳細を確認
curl http://localhost:8080/tools/get_recipe_info?recipe=basic-scene-setup

# レシピの構文を検証
curl -X POST http://localhost:8080/tools/validate_recipe \
-H "Content-Type: application/json" \
-d '{"recipe": "my-custom-recipe"}'