1. 背景
- MCP 108→CLI 101ツール移行でC#編集系5ツールがLSP移行前提で削除
- C# LSPサーバー実装済みだがRust側ルーティング未完了
2. 旧MCPツールとLSPメソッドの対応
| 旧MCPツール |
LSPメソッド |
C#実装 |
Rust公開 |
rename_symbol |
unitycli/renameByNamePath |
済 |
未 |
edit_structured |
replaceSymbolBody, insertBefore/AfterSymbol |
済 |
未 |
remove_symbol |
unitycli/removeSymbol |
済 |
未 |
edit_snippet |
unitycli/validateTextEdits + anchor |
部分 |
未 |
create_class |
(なし — ローカルツールとして新規) |
未 |
未 |
3. 未公開LSPメソッド詳細(6メソッド)
unitycli/renameByNamePath (relative, namePath, newName, apply) — リネーム
unitycli/replaceSymbolBody (relative, namePath, body, apply) — メソッド本体置換
unitycli/insertBeforeSymbol (relative, namePath, text, apply) — シンボル前挿入
unitycli/insertAfterSymbol (relative, namePath, text, apply) — シンボル後挿入
unitycli/removeSymbol (relative, namePath, apply, failOnReferences, removeEmptyFile) — 削除
unitycli/validateTextEdits (relative, newText) — バリデーション
4. create_class (新規ローカルツール)
ファイル作成 + refresh_assets + update_index をアトミックに実行。
C# LSPではなくRustローカルツールとして実装(ファイルシステム操作はRust側の責務)。
5. ブロッカー
src/lsp.rs:48 の maybe_execute() が4読み取りツールのみ通過させている。
6. 変更対象
src/lsp.rs: 書き込みハンドラ追加 + maybe_execute拡張
src/tool_catalog.rs: ツール名登録
src/local_tools.rs: create_class実装
.claude-plugin/plugins/unity-cli/skills/unity-csharp-edit/: スキル更新
7. 関連仕様
- SPEC-e757a01f (US-3: 構造化編集, US-4: リネーム)
- SPEC-4tyqsgzk (edit_snippet)
- SPEC-4f7a596b (edit_structured)
1. 背景
2. 旧MCPツールとLSPメソッドの対応
rename_symbolunitycli/renameByNamePathedit_structuredreplaceSymbolBody,insertBefore/AfterSymbolremove_symbolunitycli/removeSymboledit_snippetunitycli/validateTextEdits+ anchorcreate_class3. 未公開LSPメソッド詳細(6メソッド)
unitycli/renameByNamePath(relative, namePath, newName, apply) — リネームunitycli/replaceSymbolBody(relative, namePath, body, apply) — メソッド本体置換unitycli/insertBeforeSymbol(relative, namePath, text, apply) — シンボル前挿入unitycli/insertAfterSymbol(relative, namePath, text, apply) — シンボル後挿入unitycli/removeSymbol(relative, namePath, apply, failOnReferences, removeEmptyFile) — 削除unitycli/validateTextEdits(relative, newText) — バリデーション4. create_class (新規ローカルツール)
ファイル作成 +
refresh_assets+update_indexをアトミックに実行。C# LSPではなくRustローカルツールとして実装(ファイルシステム操作はRust側の責務)。
5. ブロッカー
src/lsp.rs:48のmaybe_execute()が4読み取りツールのみ通過させている。6. 変更対象
src/lsp.rs: 書き込みハンドラ追加 + maybe_execute拡張src/tool_catalog.rs: ツール名登録src/local_tools.rs: create_class実装.claude-plugin/plugins/unity-cli/skills/unity-csharp-edit/: スキル更新7. 関連仕様