prefab-sentinel
MCP server for safely inspecting and editing Unity/VRChat prefabs, scenes, and assets. It diagnoses override collisions, broken references, and runtime exceptions, with read-only YAML analysis and write operations via an Editor Bridge.
README
Prefab Sentinel
Unity / VRChat プロジェクトの Prefab / Scene / Asset を安全に検査・編集する MCP サーバー。
Variant の override 衝突、Broken PPtr / missing fileID、Udon / ClientSim ランタイム例外を構造化された応答で診断し、手作業 YAML 編集を経由せずに修復する。AI エージェント前提の設計。
read-only 経路(validate_refs / inspect_* / find_* 等)は Unity を起動せず YAML 直読みで完結する。書き込み経路(patch_apply / set_property / editor_* 等)は常駐 Editor Bridge との file-IPC で動き、confirm=True + 非空 change_reason の監査ペアを欠く呼び出しは CHANGE_REASON_REQUIRED で拒否される。
本 README は各専門ドキュメントへの入口(ドキュメントマップ 参照)。仕様の正本は専門ドキュメント群、運用ルールの正本は CLAUDE.md。
やること / やらないこと
やること
- Unity SerializedObject レベルの安全な編集基盤を提供し、Prefab Base / Variant / Scene インスタンスの実効値を追跡可能にする
- 参照解決(GUID + fileID)と整合性検証を API 化する
- 実行時検証(UdonSharp compile / ClientSim smoke / ログ分類)をパイプライン化する
- 人間の判断が要る変更と、機械的に実行できる変更を明確に分離する
- ModularAvatar / liltoon / VRCFury 等の VRChat エコシステムツールのドメイン知識を同梱し、AI エージェントの判断材料として供給する
- Skills として運用フローを標準化する(Claude Code / Codex CLI の両ホストに対応)
やらないこと
- YAML 文字列の直接置換を標準手段にしない
- Unity 内部参照を推測で補完しない
- 変更根拠のない自動最適化をしない
- ユーザー判断が要る仕様変更を勝手に適用しない
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 サーバー・5 つのスキル・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)から登録され、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 エコシステムツールのナレッジ調査・蓄積 |
Unity Bridge
パッチ実適用・ランタイム検証など書き込み系の経路は、Unity Editor 内に常駐する Editor Bridge との file-IPC で動く。Bridge のセットアップ手順は /prefab-sentinel:guide スキルに、watch ディレクトリを指定する環境変数 UNITYTOOL_BRIDGE_WATCH_DIR は CONFIGURATION.md に記載。未設定で書き込み系ツールを呼ぶと BRIDGE_WATCH_DIR_MISSING で fail-fast 停止する(read-only 検査のみなら設定不要)。
代表的な MCP ツール
全 MCP ツールの正本カタログは docs/tools.md、応答エンベロープ(success / severity / code / message / data / diagnostics)とエラーコードの正本は docs/api-reference.md。下表は代表ツールのみ。
| ツール | 説明 |
|---|---|
activate_project |
プロジェクトスコープ設定 + キャッシュ warm(セッション開始時に呼ぶ) |
validate_refs |
壊れた GUID / fileID 参照のスキャン |
validate_structure |
YAML 内部構造の検証(fileID 重複・Transform 整合性) |
inspect_wiring |
MonoBehaviour フィールド配線の分析(null 参照の分類付き) |
inspect_variant |
Prefab Variant の override チェーン分析 |
find_referencing_assets |
GUID / パスの参照元アセット検索 |
patch_apply |
パッチ計画の検証・適用(dry-run / confirm ゲート付き) |
validate_runtime |
UdonSharp コンパイル + ClientSim 実行検証 |
editor_* |
Editor Bridge 経由の Scene / Hierarchy / Component / BlendShape / Animation 編集 |
read-only 検査(validate_* / inspect_* / find_*)は Unity 不要、editor_* 系と patch_apply の confirm 適用は Editor Bridge 常駐が前提。
推奨フロー: validate_refs で参照破損を早期検出 → inspect_variant で override 衝突を実効値として可視化 → patch_apply の dry-run → confirm=True + change_reason + 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 ツールの住所表現・引数命名・監査ペア要否の規約 |
| docs/api-reference.md | MCP 応答エンベロープの形状とエラーコードの正本 |
| docs/execution-reference.md | MCP サーバーの実行リファレンス / smoke-batch / ベンチマーク / patch スキーマ / レポート出力フォーマット |
| TESTING.md | ユニット / 統合 / 回帰 / mutation テストの実行手順とテスト戦略 |
| CONFIGURATION.md | UNITYTOOL_* 環境変数・ignore_guids.txt・scope config 規約 |
| DEBUGGING.md | Bridge エンベロープ / Unity Console / broken reference の調査手順 |
| CONTRIBUTING.md | 開発環境・MCP サーバーの直接起動・テスト・コミット規約・PR フロー |
| CLAUDE.md | 運用ルールと判断基準の正本 |
| AGENT_GUIDE.md | AI エージェント向け onboarding(最初の参照点) |
| CHANGELOG.md | 変更履歴 |
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.