Skip to main content
Glama
tyunta
by tyunta

Prefab Sentinel

CI License Python

Unity / VRChat プロジェクトの Prefab / Scene / Asset を安全に検査・編集する MCP サーバー。

Variant の override 衝突、Broken PPtr / missing fileID、Udon / ClientSim ランタイム例外を構造化された応答で診断し、手作業 YAML 編集を経由せずに修復する。AI エージェント前提の設計。

YAML-backed read-only 経路(validate_refs / validate_materials / inspect_wiring / inspect_variant / inspect_hierarchy / find_referencing_assets 等)は Unity を起動せずに完結する。inspect_serialized_surface / inspect_with_profile / validate_inspector_profile は、last-saved SerializedObject surface を常駐 Editor Bridge 経由で取得する。書き込み経路(patch_apply / set_property / editor_* 等)は常駐 Editor Bridge との file-IPC で動き、confirm=True + 非空 change_reason の監査ペアを欠く呼び出しは CHANGE_REASON_REQUIRED で拒否される。

公開 MCP 境界は Tools capability のみを提供する。stdio は modern 2026-07-28 と、二つの legacy revision(2025-11-25 / 2025-06-18)から成る二世代に対応し、任意の HTTP 経路は modern 2026-07-28 のみをローカル loopback の /mcp で提供する。これは full conformance の合格宣言ではなく、protocol error の優先順位と stdio transport 例外は docs/api-reference.md、厳格 CI gate の対象範囲は TESTING.md、process-state の既知逸脱は ARCHITECTURE.md を正本とする。対応する request method と transport は docs/tool-conventions.md、docs/execution-reference.md を参照。

本 README は各専門ドキュメントへの入口(ドキュメントマップ 参照)。仕様の正本は専門ドキュメント群、運用ルールの正本は AGENTS.md。

やること / やらないこと

やること

  • Unity SerializedObject レベルの安全な編集基盤を提供し、Prefab Base / Variant / Scene インスタンスの実効値を追跡可能にする

  • 参照解決(GUID + fileID)と整合性検証を API 化する

  • 実行時検証(UdonSharp compile / ClientSim smoke / ログ分類)をパイプライン化する

  • 決定的な synthetic workload と固定 budget で主要 inspection path の latency regression を検出する

  • 人間の判断が要る変更と、機械的に実行できる変更を明確に分離する

  • ModularAvatar / liltoon / VRCFury 等の VRChat エコシステムツールのドメイン知識を同梱し、AI エージェントの判断材料として供給する

  • Skills として運用フローを標準化する(Claude Code / Codex CLI の両ホストに対応)

やらないこと

  • YAML 文字列の直接置換を標準手段にしない

  • Unity 内部参照を推測で補完しない

  • 変更根拠のない自動最適化をしない

  • 実プロジェクトを timing gate に使わず、weekly benchmark から baseline を自動更新しない

  • ユーザー判断が要る仕様変更を勝手に適用しない

  • legacy HTTP、2025-06-18 より古い legacy protocol version、remote / shared HTTP server は公開しない

Related MCP server: unity-asset-reference-mcp

Quickstart

プラグインとして導入する。ホスト(Claude Code / Codex CLI)に応じて 2 つの経路があり、いずれも marketplace から取得する。

Claude Code(Claude Code 内に入力するスラッシュコマンド):

/plugin marketplace add tyunta/prefab-sentinel
/plugin install prefab-sentinel@tyunta-prefab-sentinel

Codex CLI(シェルで marketplace を登録 → Codex CLI 内の /plugins TUI で有効化):

codex plugin marketplace add tyunta/prefab-sentinel

登録後、Codex CLI 内で /plugins を開き、一覧から prefab-sentinel を選んで Install する(codex plugin install というシェルコマンドは存在しない)。

導入後の使い方は guide スキル(/prefab-sentinel:guide)が入口 — MCP ツールの一覧と呼び出し方、パッチスキーマ、Editor Bridge のセットアップ、エコシステムナレッジの案内がまとまっている。MCP ツールを実際に呼ぶのは AI エージェント側なので、エージェントにこの guide を参照させれば使い始められる。

各経路の詳細は セットアップ、リポジトリから MCP サーバーを直接起動する開発者向け手順は CONTRIBUTING.md を参照。

セットアップ

前提条件

  • Python 3.11 以上

  • uv(パッケージマネージャ)— インストール手順は uv 公式ガイド 参照(Windows / macOS / Linux で異なる)

  • Unity 2022.3 + VRChat SDK 3.x(Worlds / Avatars)— Editor Bridge 経由の書き込み・実行検証経路で必要

MCP サーバーは Plugin 内部で uv / uvx 経由でローカル起動されるため、Plugin 導入経路でも Python / uv は必要。ホスト(Claude Code / Codex CLI)と本ツールは Windows / macOS / Linux で動作する。

Claude Code Plugin

Quickstart の 2 コマンドで導入する。インストールすると MCP サーバー・6 つのスキル・knowledge/ ディレクトリが一括展開され、/prefab-sentinel:guide 等のスキルを Claude Code から直接呼び出せる。各スキル内のコマンドは ${CLAUDE_PLUGIN_ROOT} テンプレート変数でローカルから実行される。

Codex CLI Plugin

Quickstart の手順で導入する(シェルで codex plugin marketplace add → Codex CLI 内の /plugins TUI で prefab-sentinel を Install)。MCP サーバーは Plugin 定義(.codex-plugin/plugin.json の mcpServers が指す .codex-plugin/mcp.json)から登録され、packaged MCP definition は必要な modern protocol marker も供給する。skill bundle も同時に展開される。Codex の MCP サーバーは uvx が GitHub から本体を取得して起動するため、起動時にネットワーク接続が必要(Claude Code 経路はローカル導入物から起動する)。Plugin を更新したら Codex CLI セッションを再起動する。無効化・登録解除は /plugins TUI から行う。

スキル

スキル

呼び出し

説明

guide

/prefab-sentinel:guide

MCP ツールリファレンス・パッチスキーマ・Bridge セットアップ・エコシステムナレッジ案内

variant-safe-edit

/prefab-sentinel:variant-safe-edit

Prefab Variant の安全な編集ワークフロー

prefab-reference-repair

/prefab-sentinel:prefab-reference-repair

壊れた参照の検出・修復ワークフロー

udon-log-triage

/prefab-sentinel:udon-log-triage

ランタイムログのトリアージワークフロー

knowledge-acquisition

/prefab-sentinel:knowledge-acquisition

VRChat エコシステムツールのナレッジ調査・蓄積

inspector-profile-authoring

/prefab-sentinel:inspector-profile-authoring

last-saved SerializedObject surface とソース根拠から project-local Inspector profile を作成・修復するワークフロー

Unity Bridge

パッチ実適用・ランタイム検証などの書き込み経路と、last-saved SerializedObject surface を扱う Inspector profile 経路は、Unity Editor 内に常駐する Editor Bridge との file-IPC で動く。Bridge のセットアップ手順は /prefab-sentinel:guide スキルに、project-scoped Watch Directory、生成済み instance ID の copy control、接続環境変数は CONFIGURATION.md の「Editor Bridge の接続設定」に記載。未設定で書き込み系ツールを呼ぶと BRIDGE_WATCH_DIR_MISSING、Inspector profile ツールを呼ぶと INSPECTOR_SURFACE_UNAVAILABLE で fail-fast 停止する。YAML-backed read-only 検査には Bridge 設定は不要。

Python wheel は tools/unity/ と knowledge/ の配布対象だけを package 内へ mapping し、nested .serena など workspace-local metadata は同梱しない。

代表的な MCP ツール

全 MCP ツールの正本カタログは docs/tools.md、応答エンベロープ(success / severity / code / message / data / diagnostics)とエラーコードの正本は docs/api-reference.md。下表は代表ツールのみ。

ツール

説明

activate_project

プロジェクトスコープ設定 + キャッシュ warm(サーバープロセス起動後に呼ぶ)

validate_refs

壊れた GUID / fileID 参照のスキャン

validate_materials

.mat / renderer slot / TMP material preset / folder policy の静的検証。任意ルールは CONFIGURATION.md を正本とする

validate_structure

YAML 内部構造の検証(fileID 重複・Transform 整合性)

inspect_wiring

MonoBehaviour フィールド配線の分析(null 参照の分類付き)

inspect_variant

Prefab Variant の override チェーン分析

inspect_hierarchy

saved YAML の GameObject 階層表示。expand_prefab_instances で effective nested PrefabInstance 階層を read-only 展開

inspect_transform_effective_values

offline asset_path + symbol_path の Transform default / override / effective 値を local/world で比較

inspect_unity_event_listeners

Button / Slider / Toggle の UnityEvent persistent listener entries と UdonSharp 診断を 1 応答で取得

find_referencing_assets

GUID / パスの参照元アセット検索

patch_apply

パッチ計画の検証・適用。exactly one mode="open" Prefab は composable handle grammar と response-equal report、introduced-only validation、automatic rollback を持つ transaction。詳細は docs/execution-reference.md、payload/error は docs/api-reference.md、実 Unity acceptance は TESTING.md

delete_asset / delete_assets

AssetDatabase-backed asset 削除の dry-run / confirm。削除後 broken-reference delta を返す

editor_create_generated_asset / editor_move_asset

RenderTexture generated asset 作成と AssetDatabase.MoveAsset-backed asset 移動。公開ツール一覧は docs/tools.md、payload/error は docs/api-reference.md、confirm audit/report requirements は CONFIGURATION.md、live Unity smoke は TESTING.md を正本とする

validate_runtime

profile が必須の runtime 検証。editor_console_only は read-only、compile_only / clientsim は audit 済み write-class operation。完全な引数・report・実行順序は専門ドキュメントを参照

editor_get_transform / editor_get_bounds / editor_measure_distance

Editor Bridge 経由の read-only live geometry 検査

editor_serialized_property_read / editor_serialized_property_list / editor_serialized_property_write

SerializedObject-backed generic inspector / writer API。公開ツール一覧は docs/tools.md、payload とエラーコードは docs/api-reference.md を正本とする

inspect_serialized_surface / inspect_with_profile / validate_inspector_profile

last-saved raw Inspector surface と project-local declarative profile。3 ツールとも read-only だが、常駐 Editor Bridge が前提。ツールは docs/tools.md、envelope/error は docs/api-reference.md、profile path/writer gates は CONFIGURATION.md、live Unity protocol は TESTING.md、author/repair procedure は skills/inspector-profile-authoring/SKILL.md を正本とする

editor_*

Editor Bridge 経由の Scene / Hierarchy / Component / BlendShape / Animation 編集、スクリーンショット、Console、UdonSharp field / array write

Routine CI / agent validation では validate_runtime に明示 profile を渡す。editor_console_only は read-only、compile_only / clientsim は conditional/write profile である。引数、audit、report、Scene 条件、実行順序は docs/tools.md、docs/tool-conventions.md、docs/api-reference.md、docs/execution-reference.md、TESTING.md を正本とする。

YAML-backed read-only 検査(validate_refs / validate_materials / inspect_wiring / inspect_variant / inspect_hierarchy / find_referencing_assets 等)は Unity 不要。Inspector profile の 3 ツールは read-only だが、常駐 Editor Bridge が前提で、editor_* 系と patch_apply の confirm 適用も同じ Bridge を使う。

validate_refs / inspect_wiring / validate_all_wiring / validate_structure / validate_materials は project root の config/diagnostics_baseline.json を読むと diagnostics を new / known / resolved に分類する。baseline は自動生成・暗黙更新せず、明示的な update_diagnostics_baseline だけが preview / audit-gated write を担う。baseline file 形式は CONFIGURATION.md、応答形状と update tool 契約は docs/api-reference.md、公開 tool 一覧は docs/tools.md を正本とする。

推奨フロー: validate_refs で参照破損を早期検出 → inspect_variant で override 衝突を実効値として可視化 → patch_apply の dry-run → 適用時は confirm=True + change_reason、exactly one open Prefab transaction ではさらに out_report を指定して監査ログ付きで適用。

VRChat エコシステムナレッジ

knowledge/ ディレクトリに ModularAvatar / liltoon / VRCFury / AvatarOptimizer 等のドメイン知識を 3 レベル(L1 概念 / L2 操作パターン / L3 SerializedProperty)で蓄積し、プラグインに同梱する。guide スキルが参照を案内し、AI エージェントが作業に応じて該当ナレッジを knowledge/ から読む。ナレッジの調査・拡充は knowledge-acquisition スキルで行う。編集規約は knowledge/STYLE_GUIDE.md。

ドキュメントマップ

仕様は専門ドキュメントに分かれて置かれている。目的別の入口は下表のとおり。

ドキュメント

内容

ARCHITECTURE.md

構成概観・レイヤ責務・サービス仕様・データモデル・用語集

docs/tools.md

全 MCP ツールの正本カタログ

docs/tool-conventions.md

MCP protocol / result 境界と、ツールの住所表現・引数命名・監査ペア要否の規約

docs/api-reference.md

MCP protocol error、ツール応答エンベロープ、domain error code の正本

docs/execution-reference.md

MCP transport / 起動方法 / smoke-batch / ベンチマーク / patch スキーマ / レポート出力フォーマット

docs/benchmarks/2026-09-02-tool-discovery.md

Tool discovery benchmark の実測結果と判断

TESTING.md

ユニット / 統合 / 回帰 / mutation テストの実行手順とテスト戦略

CONFIGURATION.md

UNITYTOOL_* 環境変数・ignore_guids.txt・scope config 規約

skills/inspector-profile-authoring/SKILL.md

inspector-profile.v1 の安全な project-local author / repair 手順

DEBUGGING.md

Bridge エンベロープ / Unity Console / broken reference の調査手順

CONTRIBUTING.md

開発環境・MCP サーバーの直接起動・テスト・コミット規約・PR フロー

AGENTS.md

運用ルールと判断基準の正本

AGENT_GUIDE.md

AI エージェント向け onboarding(最初の参照点)

CHANGELOG.md

変更履歴

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    A runtime inspection and automation toolkit that enables MCP clients to interact with live Unity game sessions through a dedicated bridge plugin. It allows users to browse scene hierarchies, inspect component fields, search text elements, and modify game object properties in real-time.
    6
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Indexes Unity project assets into a SQLite reference graph and provides an MCP server for querying asset dependencies, references, unused assets, and broken references.
    29 npm
    4
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Read-only MCP server that provides AI agents with context about Unity project relationships, including scenes, prefabs, scripts, GUIDs, and code impact analysis.
    2
    Apache 2.0