unity-open-mcp 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (630) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +145 -0
  3. package/dist/batch-spawn.d.ts +33 -0
  4. package/dist/batch-spawn.js +329 -0
  5. package/dist/batch-spawn.js.map +1 -0
  6. package/dist/capabilities/build-capabilities.d.ts +155 -0
  7. package/dist/capabilities/build-capabilities.js +475 -0
  8. package/dist/capabilities/build-capabilities.js.map +1 -0
  9. package/dist/capabilities/list-rules.d.ts +45 -0
  10. package/dist/capabilities/list-rules.js +121 -0
  11. package/dist/capabilities/list-rules.js.map +1 -0
  12. package/dist/capabilities/rule-catalog.d.ts +44 -0
  13. package/dist/capabilities/rule-catalog.js +330 -0
  14. package/dist/capabilities/rule-catalog.js.map +1 -0
  15. package/dist/capabilities/tool-groups.d.ts +53 -0
  16. package/dist/capabilities/tool-groups.js +396 -0
  17. package/dist/capabilities/tool-groups.js.map +1 -0
  18. package/dist/cli/args.d.ts +36 -0
  19. package/dist/cli/args.js +239 -0
  20. package/dist/cli/args.js.map +1 -0
  21. package/dist/cli/cli.d.ts +23 -0
  22. package/dist/cli/cli.js +125 -0
  23. package/dist/cli/cli.js.map +1 -0
  24. package/dist/cli/commands.d.ts +37 -0
  25. package/dist/cli/commands.js +277 -0
  26. package/dist/cli/commands.js.map +1 -0
  27. package/dist/cli/ping-poller.d.ts +81 -0
  28. package/dist/cli/ping-poller.js +161 -0
  29. package/dist/cli/ping-poller.js.map +1 -0
  30. package/dist/compat.d.ts +32 -0
  31. package/dist/compat.js +121 -0
  32. package/dist/compat.js.map +1 -0
  33. package/dist/compiler-errors.d.ts +31 -0
  34. package/dist/compiler-errors.js +91 -0
  35. package/dist/compiler-errors.js.map +1 -0
  36. package/dist/compressible-router.d.ts +18 -0
  37. package/dist/compressible-router.js +191 -0
  38. package/dist/compressible-router.js.map +1 -0
  39. package/dist/compression/asset-model.d.ts +86 -0
  40. package/dist/compression/asset-model.js +15 -0
  41. package/dist/compression/asset-model.js.map +1 -0
  42. package/dist/compression/compact.d.ts +153 -0
  43. package/dist/compression/compact.js +501 -0
  44. package/dist/compression/compact.js.map +1 -0
  45. package/dist/dialog-dismiss.d.ts +197 -0
  46. package/dist/dialog-dismiss.js +533 -0
  47. package/dist/dialog-dismiss.js.map +1 -0
  48. package/dist/event-stream.d.ts +60 -0
  49. package/dist/event-stream.js +228 -0
  50. package/dist/event-stream.js.map +1 -0
  51. package/dist/gate-error.d.ts +18 -0
  52. package/dist/gate-error.js +11 -0
  53. package/dist/gate-error.js.map +1 -0
  54. package/dist/index.d.ts +3 -0
  55. package/dist/index.js +146 -0
  56. package/dist/index.js.map +1 -0
  57. package/dist/instance-discovery.d.ts +117 -0
  58. package/dist/instance-discovery.js +202 -0
  59. package/dist/instance-discovery.js.map +1 -0
  60. package/dist/live-client.d.ts +68 -0
  61. package/dist/live-client.js +583 -0
  62. package/dist/live-client.js.map +1 -0
  63. package/dist/offline.d.ts +75 -0
  64. package/dist/offline.js +1495 -0
  65. package/dist/offline.js.map +1 -0
  66. package/dist/package-version.d.ts +8 -0
  67. package/dist/package-version.js +41 -0
  68. package/dist/package-version.js.map +1 -0
  69. package/dist/ping-cache.d.ts +15 -0
  70. package/dist/ping-cache.js +10 -0
  71. package/dist/ping-cache.js.map +1 -0
  72. package/dist/project-health.d.ts +52 -0
  73. package/dist/project-health.js +177 -0
  74. package/dist/project-health.js.map +1 -0
  75. package/dist/resource-router.d.ts +26 -0
  76. package/dist/resource-router.js +143 -0
  77. package/dist/resource-router.js.map +1 -0
  78. package/dist/resources/index.d.ts +6 -0
  79. package/dist/resources/index.js +40 -0
  80. package/dist/resources/index.js.map +1 -0
  81. package/dist/results.d.ts +14 -0
  82. package/dist/results.js +22 -0
  83. package/dist/results.js.map +1 -0
  84. package/dist/router.d.ts +5 -0
  85. package/dist/router.js +2 -0
  86. package/dist/router.js.map +1 -0
  87. package/dist/routers.d.ts +44 -0
  88. package/dist/routers.js +73 -0
  89. package/dist/routers.js.map +1 -0
  90. package/dist/schema-defaults.d.ts +10 -0
  91. package/dist/schema-defaults.js +43 -0
  92. package/dist/schema-defaults.js.map +1 -0
  93. package/dist/skill/client-paths.d.ts +33 -0
  94. package/dist/skill/client-paths.js +131 -0
  95. package/dist/skill/client-paths.js.map +1 -0
  96. package/dist/skill/generate-skill.d.ts +38 -0
  97. package/dist/skill/generate-skill.js +389 -0
  98. package/dist/skill/generate-skill.js.map +1 -0
  99. package/dist/tool-router.d.ts +40 -0
  100. package/dist/tool-router.js +778 -0
  101. package/dist/tool-router.js.map +1 -0
  102. package/dist/tool-session-state.d.ts +55 -0
  103. package/dist/tool-session-state.js +116 -0
  104. package/dist/tool-session-state.js.map +1 -0
  105. package/dist/tools/agent-capabilities.d.ts +2 -0
  106. package/dist/tools/agent-capabilities.js +24 -0
  107. package/dist/tools/agent-capabilities.js.map +1 -0
  108. package/dist/tools/animation-create.d.ts +2 -0
  109. package/dist/tools/animation-create.js +31 -0
  110. package/dist/tools/animation-create.js.map +1 -0
  111. package/dist/tools/animation-get-data.d.ts +2 -0
  112. package/dist/tools/animation-get-data.js +23 -0
  113. package/dist/tools/animation-get-data.js.map +1 -0
  114. package/dist/tools/animation-modify.d.ts +2 -0
  115. package/dist/tools/animation-modify.js +45 -0
  116. package/dist/tools/animation-modify.js.map +1 -0
  117. package/dist/tools/animator-create.d.ts +2 -0
  118. package/dist/tools/animator-create.js +31 -0
  119. package/dist/tools/animator-create.js.map +1 -0
  120. package/dist/tools/animator-get-data.d.ts +2 -0
  121. package/dist/tools/animator-get-data.js +23 -0
  122. package/dist/tools/animator-get-data.js.map +1 -0
  123. package/dist/tools/animator-modify.d.ts +2 -0
  124. package/dist/tools/animator-modify.js +51 -0
  125. package/dist/tools/animator-modify.js.map +1 -0
  126. package/dist/tools/apply-fix.d.ts +2 -0
  127. package/dist/tools/apply-fix.js +39 -0
  128. package/dist/tools/apply-fix.js.map +1 -0
  129. package/dist/tools/assets-copy.d.ts +2 -0
  130. package/dist/tools/assets-copy.js +50 -0
  131. package/dist/tools/assets-copy.js.map +1 -0
  132. package/dist/tools/assets-create-folder.d.ts +2 -0
  133. package/dist/tools/assets-create-folder.js +53 -0
  134. package/dist/tools/assets-create-folder.js.map +1 -0
  135. package/dist/tools/assets-delete.d.ts +2 -0
  136. package/dist/tools/assets-delete.js +34 -0
  137. package/dist/tools/assets-delete.js.map +1 -0
  138. package/dist/tools/assets-move.d.ts +2 -0
  139. package/dist/tools/assets-move.js +50 -0
  140. package/dist/tools/assets-move.js.map +1 -0
  141. package/dist/tools/assets-refresh.d.ts +2 -0
  142. package/dist/tools/assets-refresh.js +37 -0
  143. package/dist/tools/assets-refresh.js.map +1 -0
  144. package/dist/tools/baseline-create.d.ts +2 -0
  145. package/dist/tools/baseline-create.js +20 -0
  146. package/dist/tools/baseline-create.js.map +1 -0
  147. package/dist/tools/bridge-status.d.ts +2 -0
  148. package/dist/tools/bridge-status.js +44 -0
  149. package/dist/tools/bridge-status.js.map +1 -0
  150. package/dist/tools/build-get-active-target.d.ts +2 -0
  151. package/dist/tools/build-get-active-target.js +16 -0
  152. package/dist/tools/build-get-active-target.js.map +1 -0
  153. package/dist/tools/build-get-defines.d.ts +2 -0
  154. package/dist/tools/build-get-defines.js +16 -0
  155. package/dist/tools/build-get-defines.js.map +1 -0
  156. package/dist/tools/build-get-scenes.d.ts +2 -0
  157. package/dist/tools/build-get-scenes.js +16 -0
  158. package/dist/tools/build-get-scenes.js.map +1 -0
  159. package/dist/tools/build-get-targets.d.ts +2 -0
  160. package/dist/tools/build-get-targets.js +18 -0
  161. package/dist/tools/build-get-targets.js.map +1 -0
  162. package/dist/tools/build-set-defines.d.ts +2 -0
  163. package/dist/tools/build-set-defines.js +50 -0
  164. package/dist/tools/build-set-defines.js.map +1 -0
  165. package/dist/tools/build-set-scenes.d.ts +2 -0
  166. package/dist/tools/build-set-scenes.js +60 -0
  167. package/dist/tools/build-set-scenes.js.map +1 -0
  168. package/dist/tools/build-set-target.d.ts +2 -0
  169. package/dist/tools/build-set-target.js +49 -0
  170. package/dist/tools/build-set-target.js.map +1 -0
  171. package/dist/tools/build-start.d.ts +2 -0
  172. package/dist/tools/build-start.js +64 -0
  173. package/dist/tools/build-start.js.map +1 -0
  174. package/dist/tools/capture-inline.d.ts +2 -0
  175. package/dist/tools/capture-inline.js +57 -0
  176. package/dist/tools/capture-inline.js.map +1 -0
  177. package/dist/tools/checkpoint-create.d.ts +2 -0
  178. package/dist/tools/checkpoint-create.js +16 -0
  179. package/dist/tools/checkpoint-create.js.map +1 -0
  180. package/dist/tools/compile-check.d.ts +2 -0
  181. package/dist/tools/compile-check.js +26 -0
  182. package/dist/tools/compile-check.js.map +1 -0
  183. package/dist/tools/component-add.d.ts +2 -0
  184. package/dist/tools/component-add.js +47 -0
  185. package/dist/tools/component-add.js.map +1 -0
  186. package/dist/tools/component-destroy.d.ts +2 -0
  187. package/dist/tools/component-destroy.js +46 -0
  188. package/dist/tools/component-destroy.js.map +1 -0
  189. package/dist/tools/component-get.d.ts +2 -0
  190. package/dist/tools/component-get.js +54 -0
  191. package/dist/tools/component-get.js.map +1 -0
  192. package/dist/tools/component-list-all.d.ts +2 -0
  193. package/dist/tools/component-list-all.js +38 -0
  194. package/dist/tools/component-list-all.js.map +1 -0
  195. package/dist/tools/component-modify.d.ts +2 -0
  196. package/dist/tools/component-modify.js +80 -0
  197. package/dist/tools/component-modify.js.map +1 -0
  198. package/dist/tools/console-clear.d.ts +2 -0
  199. package/dist/tools/console-clear.js +19 -0
  200. package/dist/tools/console-clear.js.map +1 -0
  201. package/dist/tools/console-log.d.ts +2 -0
  202. package/dist/tools/console-log.js +47 -0
  203. package/dist/tools/console-log.js.map +1 -0
  204. package/dist/tools/delta.d.ts +2 -0
  205. package/dist/tools/delta.js +17 -0
  206. package/dist/tools/delta.js.map +1 -0
  207. package/dist/tools/editor-add-layer.d.ts +2 -0
  208. package/dist/tools/editor-add-layer.js +51 -0
  209. package/dist/tools/editor-add-layer.js.map +1 -0
  210. package/dist/tools/editor-add-tag.d.ts +2 -0
  211. package/dist/tools/editor-add-tag.js +41 -0
  212. package/dist/tools/editor-add-tag.js.map +1 -0
  213. package/dist/tools/editor-get-layers.d.ts +2 -0
  214. package/dist/tools/editor-get-layers.js +22 -0
  215. package/dist/tools/editor-get-layers.js.map +1 -0
  216. package/dist/tools/editor-get-tags.d.ts +2 -0
  217. package/dist/tools/editor-get-tags.js +19 -0
  218. package/dist/tools/editor-get-tags.js.map +1 -0
  219. package/dist/tools/editor-redo.d.ts +2 -0
  220. package/dist/tools/editor-redo.js +27 -0
  221. package/dist/tools/editor-redo.js.map +1 -0
  222. package/dist/tools/editor-set-state.d.ts +2 -0
  223. package/dist/tools/editor-set-state.js +57 -0
  224. package/dist/tools/editor-set-state.js.map +1 -0
  225. package/dist/tools/editor-status.d.ts +2 -0
  226. package/dist/tools/editor-status.js +17 -0
  227. package/dist/tools/editor-status.js.map +1 -0
  228. package/dist/tools/editor-undo.d.ts +2 -0
  229. package/dist/tools/editor-undo.js +29 -0
  230. package/dist/tools/editor-undo.js.map +1 -0
  231. package/dist/tools/execute-csharp.d.ts +2 -0
  232. package/dist/tools/execute-csharp.js +74 -0
  233. package/dist/tools/execute-csharp.js.map +1 -0
  234. package/dist/tools/execute-menu.d.ts +2 -0
  235. package/dist/tools/execute-menu.js +40 -0
  236. package/dist/tools/execute-menu.js.map +1 -0
  237. package/dist/tools/find-members.d.ts +2 -0
  238. package/dist/tools/find-members.js +56 -0
  239. package/dist/tools/find-members.js.map +1 -0
  240. package/dist/tools/find-references.d.ts +2 -0
  241. package/dist/tools/find-references.js +29 -0
  242. package/dist/tools/find-references.js.map +1 -0
  243. package/dist/tools/gameobject-create.d.ts +2 -0
  244. package/dist/tools/gameobject-create.js +61 -0
  245. package/dist/tools/gameobject-create.js.map +1 -0
  246. package/dist/tools/gameobject-destroy.d.ts +2 -0
  247. package/dist/tools/gameobject-destroy.js +38 -0
  248. package/dist/tools/gameobject-destroy.js.map +1 -0
  249. package/dist/tools/gameobject-duplicate.d.ts +2 -0
  250. package/dist/tools/gameobject-duplicate.js +40 -0
  251. package/dist/tools/gameobject-duplicate.js.map +1 -0
  252. package/dist/tools/gameobject-find.d.ts +2 -0
  253. package/dist/tools/gameobject-find.js +59 -0
  254. package/dist/tools/gameobject-find.js.map +1 -0
  255. package/dist/tools/gameobject-modify.d.ts +2 -0
  256. package/dist/tools/gameobject-modify.js +76 -0
  257. package/dist/tools/gameobject-modify.js.map +1 -0
  258. package/dist/tools/gameobject-set-parent.d.ts +2 -0
  259. package/dist/tools/gameobject-set-parent.js +55 -0
  260. package/dist/tools/gameobject-set-parent.js.map +1 -0
  261. package/dist/tools/gate-budget-estimate.d.ts +2 -0
  262. package/dist/tools/gate-budget-estimate.js +59 -0
  263. package/dist/tools/gate-budget-estimate.js.map +1 -0
  264. package/dist/tools/generate-skill.d.ts +2 -0
  265. package/dist/tools/generate-skill.js +37 -0
  266. package/dist/tools/generate-skill.js.map +1 -0
  267. package/dist/tools/impact-preview.d.ts +2 -0
  268. package/dist/tools/impact-preview.js +50 -0
  269. package/dist/tools/impact-preview.js.map +1 -0
  270. package/dist/tools/index.d.ts +30 -0
  271. package/dist/tools/index.js +576 -0
  272. package/dist/tools/index.js.map +1 -0
  273. package/dist/tools/inputsystem-action-add.d.ts +2 -0
  274. package/dist/tools/inputsystem-action-add.js +61 -0
  275. package/dist/tools/inputsystem-action-add.js.map +1 -0
  276. package/dist/tools/inputsystem-actionmap-add.d.ts +2 -0
  277. package/dist/tools/inputsystem-actionmap-add.js +31 -0
  278. package/dist/tools/inputsystem-actionmap-add.js.map +1 -0
  279. package/dist/tools/inputsystem-asset-create.d.ts +2 -0
  280. package/dist/tools/inputsystem-asset-create.js +35 -0
  281. package/dist/tools/inputsystem-asset-create.js.map +1 -0
  282. package/dist/tools/inputsystem-binding-add.d.ts +2 -0
  283. package/dist/tools/inputsystem-binding-add.js +48 -0
  284. package/dist/tools/inputsystem-binding-add.js.map +1 -0
  285. package/dist/tools/inputsystem-binding-composite-add.d.ts +2 -0
  286. package/dist/tools/inputsystem-binding-composite-add.js +51 -0
  287. package/dist/tools/inputsystem-binding-composite-add.js.map +1 -0
  288. package/dist/tools/inputsystem-controlscheme-add.d.ts +2 -0
  289. package/dist/tools/inputsystem-controlscheme-add.js +43 -0
  290. package/dist/tools/inputsystem-controlscheme-add.js.map +1 -0
  291. package/dist/tools/inputsystem-get.d.ts +2 -0
  292. package/dist/tools/inputsystem-get.js +22 -0
  293. package/dist/tools/inputsystem-get.js.map +1 -0
  294. package/dist/tools/invoke-method.d.ts +2 -0
  295. package/dist/tools/invoke-method.js +104 -0
  296. package/dist/tools/invoke-method.js.map +1 -0
  297. package/dist/tools/list-assets.d.ts +2 -0
  298. package/dist/tools/list-assets.js +30 -0
  299. package/dist/tools/list-assets.js.map +1 -0
  300. package/dist/tools/list-rules.d.ts +2 -0
  301. package/dist/tools/list-rules.js +27 -0
  302. package/dist/tools/list-rules.js.map +1 -0
  303. package/dist/tools/manage-tools.d.ts +2 -0
  304. package/dist/tools/manage-tools.js +47 -0
  305. package/dist/tools/manage-tools.js.map +1 -0
  306. package/dist/tools/material-create.d.ts +2 -0
  307. package/dist/tools/material-create.js +37 -0
  308. package/dist/tools/material-create.js.map +1 -0
  309. package/dist/tools/material-get-keywords.d.ts +2 -0
  310. package/dist/tools/material-get-keywords.js +23 -0
  311. package/dist/tools/material-get-keywords.js.map +1 -0
  312. package/dist/tools/material-get-properties.d.ts +2 -0
  313. package/dist/tools/material-get-properties.js +32 -0
  314. package/dist/tools/material-get-properties.js.map +1 -0
  315. package/dist/tools/material-set-keyword.d.ts +2 -0
  316. package/dist/tools/material-set-keyword.js +42 -0
  317. package/dist/tools/material-set-keyword.js.map +1 -0
  318. package/dist/tools/material-set-property.d.ts +2 -0
  319. package/dist/tools/material-set-property.js +49 -0
  320. package/dist/tools/material-set-property.js.map +1 -0
  321. package/dist/tools/material-set-shader.d.ts +2 -0
  322. package/dist/tools/material-set-shader.js +39 -0
  323. package/dist/tools/material-set-shader.js.map +1 -0
  324. package/dist/tools/mutation-explain.d.ts +2 -0
  325. package/dist/tools/mutation-explain.js +44 -0
  326. package/dist/tools/mutation-explain.js.map +1 -0
  327. package/dist/tools/navigation-agent-add.d.ts +2 -0
  328. package/dist/tools/navigation-agent-add.js +38 -0
  329. package/dist/tools/navigation-agent-add.js.map +1 -0
  330. package/dist/tools/navigation-agent-set-destination.d.ts +2 -0
  331. package/dist/tools/navigation-agent-set-destination.js +33 -0
  332. package/dist/tools/navigation-agent-set-destination.js.map +1 -0
  333. package/dist/tools/navigation-get.d.ts +2 -0
  334. package/dist/tools/navigation-get.js +20 -0
  335. package/dist/tools/navigation-get.js.map +1 -0
  336. package/dist/tools/navigation-link-add.d.ts +2 -0
  337. package/dist/tools/navigation-link-add.js +57 -0
  338. package/dist/tools/navigation-link-add.js.map +1 -0
  339. package/dist/tools/navigation-list.d.ts +2 -0
  340. package/dist/tools/navigation-list.js +16 -0
  341. package/dist/tools/navigation-list.js.map +1 -0
  342. package/dist/tools/navigation-modifier-add.d.ts +2 -0
  343. package/dist/tools/navigation-modifier-add.js +42 -0
  344. package/dist/tools/navigation-modifier-add.js.map +1 -0
  345. package/dist/tools/navigation-modifier-volume-add.d.ts +2 -0
  346. package/dist/tools/navigation-modifier-volume-add.js +41 -0
  347. package/dist/tools/navigation-modifier-volume-add.js.map +1 -0
  348. package/dist/tools/navigation-modify.d.ts +2 -0
  349. package/dist/tools/navigation-modify.js +47 -0
  350. package/dist/tools/navigation-modify.js.map +1 -0
  351. package/dist/tools/navigation-set-bake-settings.d.ts +2 -0
  352. package/dist/tools/navigation-set-bake-settings.js +42 -0
  353. package/dist/tools/navigation-set-bake-settings.js.map +1 -0
  354. package/dist/tools/navigation-surface-add.d.ts +2 -0
  355. package/dist/tools/navigation-surface-add.js +62 -0
  356. package/dist/tools/navigation-surface-add.js.map +1 -0
  357. package/dist/tools/navigation-surface-bake.d.ts +2 -0
  358. package/dist/tools/navigation-surface-bake.js +30 -0
  359. package/dist/tools/navigation-surface-bake.js.map +1 -0
  360. package/dist/tools/object-get-data.d.ts +2 -0
  361. package/dist/tools/object-get-data.js +59 -0
  362. package/dist/tools/object-get-data.js.map +1 -0
  363. package/dist/tools/object-modify.d.ts +2 -0
  364. package/dist/tools/object-modify.js +73 -0
  365. package/dist/tools/object-modify.js.map +1 -0
  366. package/dist/tools/package-add.d.ts +2 -0
  367. package/dist/tools/package-add.js +42 -0
  368. package/dist/tools/package-add.js.map +1 -0
  369. package/dist/tools/package-check.d.ts +2 -0
  370. package/dist/tools/package-check.js +27 -0
  371. package/dist/tools/package-check.js.map +1 -0
  372. package/dist/tools/package-get-dependencies.d.ts +2 -0
  373. package/dist/tools/package-get-dependencies.js +17 -0
  374. package/dist/tools/package-get-dependencies.js.map +1 -0
  375. package/dist/tools/package-get-info.d.ts +2 -0
  376. package/dist/tools/package-get-info.js +33 -0
  377. package/dist/tools/package-get-info.js.map +1 -0
  378. package/dist/tools/package-list.d.ts +2 -0
  379. package/dist/tools/package-list.js +57 -0
  380. package/dist/tools/package-list.js.map +1 -0
  381. package/dist/tools/package-remove.d.ts +2 -0
  382. package/dist/tools/package-remove.js +40 -0
  383. package/dist/tools/package-remove.js.map +1 -0
  384. package/dist/tools/package-search.d.ts +2 -0
  385. package/dist/tools/package-search.js +42 -0
  386. package/dist/tools/package-search.js.map +1 -0
  387. package/dist/tools/particle-system-get.d.ts +2 -0
  388. package/dist/tools/particle-system-get.js +42 -0
  389. package/dist/tools/particle-system-get.js.map +1 -0
  390. package/dist/tools/particle-system-modify.d.ts +2 -0
  391. package/dist/tools/particle-system-modify.js +73 -0
  392. package/dist/tools/particle-system-modify.js.map +1 -0
  393. package/dist/tools/ping.d.ts +2 -0
  394. package/dist/tools/ping.js +10 -0
  395. package/dist/tools/ping.js.map +1 -0
  396. package/dist/tools/prefab-apply.d.ts +2 -0
  397. package/dist/tools/prefab-apply.js +39 -0
  398. package/dist/tools/prefab-apply.js.map +1 -0
  399. package/dist/tools/prefab-close.d.ts +2 -0
  400. package/dist/tools/prefab-close.js +29 -0
  401. package/dist/tools/prefab-close.js.map +1 -0
  402. package/dist/tools/prefab-create.d.ts +2 -0
  403. package/dist/tools/prefab-create.js +52 -0
  404. package/dist/tools/prefab-create.js.map +1 -0
  405. package/dist/tools/prefab-get-overrides.d.ts +2 -0
  406. package/dist/tools/prefab-get-overrides.js +27 -0
  407. package/dist/tools/prefab-get-overrides.js.map +1 -0
  408. package/dist/tools/prefab-instantiate.d.ts +2 -0
  409. package/dist/tools/prefab-instantiate.js +52 -0
  410. package/dist/tools/prefab-instantiate.js.map +1 -0
  411. package/dist/tools/prefab-open.d.ts +2 -0
  412. package/dist/tools/prefab-open.js +30 -0
  413. package/dist/tools/prefab-open.js.map +1 -0
  414. package/dist/tools/prefab-revert.d.ts +2 -0
  415. package/dist/tools/prefab-revert.js +37 -0
  416. package/dist/tools/prefab-revert.js.map +1 -0
  417. package/dist/tools/prefab-save.d.ts +2 -0
  418. package/dist/tools/prefab-save.js +24 -0
  419. package/dist/tools/prefab-save.js.map +1 -0
  420. package/dist/tools/prefab-status.d.ts +2 -0
  421. package/dist/tools/prefab-status.js +29 -0
  422. package/dist/tools/prefab-status.js.map +1 -0
  423. package/dist/tools/prefab-unpack.d.ts +2 -0
  424. package/dist/tools/prefab-unpack.js +43 -0
  425. package/dist/tools/prefab-unpack.js.map +1 -0
  426. package/dist/tools/probuilder-create-shape.d.ts +2 -0
  427. package/dist/tools/probuilder-create-shape.js +40 -0
  428. package/dist/tools/probuilder-create-shape.js.map +1 -0
  429. package/dist/tools/probuilder-delete-faces.d.ts +2 -0
  430. package/dist/tools/probuilder-delete-faces.js +47 -0
  431. package/dist/tools/probuilder-delete-faces.js.map +1 -0
  432. package/dist/tools/probuilder-extrude.d.ts +2 -0
  433. package/dist/tools/probuilder-extrude.js +58 -0
  434. package/dist/tools/probuilder-extrude.js.map +1 -0
  435. package/dist/tools/probuilder-get-mesh-info.d.ts +2 -0
  436. package/dist/tools/probuilder-get-mesh-info.js +21 -0
  437. package/dist/tools/probuilder-get-mesh-info.js.map +1 -0
  438. package/dist/tools/probuilder-set-face-material.d.ts +2 -0
  439. package/dist/tools/probuilder-set-face-material.js +53 -0
  440. package/dist/tools/probuilder-set-face-material.js.map +1 -0
  441. package/dist/tools/profiler-capture.d.ts +2 -0
  442. package/dist/tools/profiler-capture.js +84 -0
  443. package/dist/tools/profiler-capture.js.map +1 -0
  444. package/dist/tools/profiler-clear-data.d.ts +2 -0
  445. package/dist/tools/profiler-clear-data.js +20 -0
  446. package/dist/tools/profiler-clear-data.js.map +1 -0
  447. package/dist/tools/profiler-enable-module.d.ts +2 -0
  448. package/dist/tools/profiler-enable-module.js +32 -0
  449. package/dist/tools/profiler-enable-module.js.map +1 -0
  450. package/dist/tools/profiler-get-config.d.ts +2 -0
  451. package/dist/tools/profiler-get-config.js +21 -0
  452. package/dist/tools/profiler-get-config.js.map +1 -0
  453. package/dist/tools/profiler-get-script-stats.d.ts +2 -0
  454. package/dist/tools/profiler-get-script-stats.js +20 -0
  455. package/dist/tools/profiler-get-script-stats.js.map +1 -0
  456. package/dist/tools/profiler-get-status.d.ts +2 -0
  457. package/dist/tools/profiler-get-status.js +22 -0
  458. package/dist/tools/profiler-get-status.js.map +1 -0
  459. package/dist/tools/profiler-list-modules.d.ts +2 -0
  460. package/dist/tools/profiler-list-modules.js +20 -0
  461. package/dist/tools/profiler-list-modules.js.map +1 -0
  462. package/dist/tools/profiler-load-data.d.ts +2 -0
  463. package/dist/tools/profiler-load-data.js +38 -0
  464. package/dist/tools/profiler-load-data.js.map +1 -0
  465. package/dist/tools/profiler-memory.d.ts +2 -0
  466. package/dist/tools/profiler-memory.js +21 -0
  467. package/dist/tools/profiler-memory.js.map +1 -0
  468. package/dist/tools/profiler-rendering.d.ts +2 -0
  469. package/dist/tools/profiler-rendering.js +14 -0
  470. package/dist/tools/profiler-rendering.js.map +1 -0
  471. package/dist/tools/profiler-save-data.d.ts +2 -0
  472. package/dist/tools/profiler-save-data.js +38 -0
  473. package/dist/tools/profiler-save-data.js.map +1 -0
  474. package/dist/tools/profiler-set-config.d.ts +2 -0
  475. package/dist/tools/profiler-set-config.js +72 -0
  476. package/dist/tools/profiler-set-config.js.map +1 -0
  477. package/dist/tools/profiler-start.d.ts +2 -0
  478. package/dist/tools/profiler-start.js +31 -0
  479. package/dist/tools/profiler-start.js.map +1 -0
  480. package/dist/tools/profiler-stop.d.ts +2 -0
  481. package/dist/tools/profiler-stop.js +20 -0
  482. package/dist/tools/profiler-stop.js.map +1 -0
  483. package/dist/tools/pull-events.d.ts +2 -0
  484. package/dist/tools/pull-events.js +43 -0
  485. package/dist/tools/pull-events.js.map +1 -0
  486. package/dist/tools/read-asset.d.ts +2 -0
  487. package/dist/tools/read-asset.js +62 -0
  488. package/dist/tools/read-asset.js.map +1 -0
  489. package/dist/tools/read-compile-errors.d.ts +2 -0
  490. package/dist/tools/read-compile-errors.js +59 -0
  491. package/dist/tools/read-compile-errors.js.map +1 -0
  492. package/dist/tools/read-console.d.ts +2 -0
  493. package/dist/tools/read-console.js +57 -0
  494. package/dist/tools/read-console.js.map +1 -0
  495. package/dist/tools/regression-check.d.ts +2 -0
  496. package/dist/tools/regression-check.js +36 -0
  497. package/dist/tools/regression-check.js.map +1 -0
  498. package/dist/tools/reserialize.d.ts +2 -0
  499. package/dist/tools/reserialize.js +31 -0
  500. package/dist/tools/reserialize.js.map +1 -0
  501. package/dist/tools/run-tests.d.ts +2 -0
  502. package/dist/tools/run-tests.js +49 -0
  503. package/dist/tools/run-tests.js.map +1 -0
  504. package/dist/tools/scan-all.d.ts +2 -0
  505. package/dist/tools/scan-all.js +25 -0
  506. package/dist/tools/scan-all.js.map +1 -0
  507. package/dist/tools/scan-paths.d.ts +2 -0
  508. package/dist/tools/scan-paths.js +40 -0
  509. package/dist/tools/scan-paths.js.map +1 -0
  510. package/dist/tools/scene-create.d.ts +2 -0
  511. package/dist/tools/scene-create.js +47 -0
  512. package/dist/tools/scene-create.js.map +1 -0
  513. package/dist/tools/scene-focus.d.ts +2 -0
  514. package/dist/tools/scene-focus.js +55 -0
  515. package/dist/tools/scene-focus.js.map +1 -0
  516. package/dist/tools/scene-get-data.d.ts +2 -0
  517. package/dist/tools/scene-get-data.js +52 -0
  518. package/dist/tools/scene-get-data.js.map +1 -0
  519. package/dist/tools/scene-get-dirty-summary.d.ts +2 -0
  520. package/dist/tools/scene-get-dirty-summary.js +17 -0
  521. package/dist/tools/scene-get-dirty-summary.js.map +1 -0
  522. package/dist/tools/scene-list-opened.d.ts +2 -0
  523. package/dist/tools/scene-list-opened.js +16 -0
  524. package/dist/tools/scene-list-opened.js.map +1 -0
  525. package/dist/tools/scene-open.d.ts +2 -0
  526. package/dist/tools/scene-open.js +48 -0
  527. package/dist/tools/scene-open.js.map +1 -0
  528. package/dist/tools/scene-save.d.ts +2 -0
  529. package/dist/tools/scene-save.js +38 -0
  530. package/dist/tools/scene-save.js.map +1 -0
  531. package/dist/tools/scene-set-active.d.ts +2 -0
  532. package/dist/tools/scene-set-active.js +33 -0
  533. package/dist/tools/scene-set-active.js.map +1 -0
  534. package/dist/tools/scene-unload.d.ts +2 -0
  535. package/dist/tools/scene-unload.js +33 -0
  536. package/dist/tools/scene-unload.js.map +1 -0
  537. package/dist/tools/screenshot-camera.d.ts +2 -0
  538. package/dist/tools/screenshot-camera.js +59 -0
  539. package/dist/tools/screenshot-camera.js.map +1 -0
  540. package/dist/tools/screenshot-window.d.ts +2 -0
  541. package/dist/tools/screenshot-window.js +54 -0
  542. package/dist/tools/screenshot-window.js.map +1 -0
  543. package/dist/tools/screenshot.d.ts +2 -0
  544. package/dist/tools/screenshot.js +47 -0
  545. package/dist/tools/screenshot.js.map +1 -0
  546. package/dist/tools/script-delete.d.ts +2 -0
  547. package/dist/tools/script-delete.js +37 -0
  548. package/dist/tools/script-delete.js.map +1 -0
  549. package/dist/tools/script-read.d.ts +2 -0
  550. package/dist/tools/script-read.js +46 -0
  551. package/dist/tools/script-read.js.map +1 -0
  552. package/dist/tools/script-write.d.ts +2 -0
  553. package/dist/tools/script-write.js +56 -0
  554. package/dist/tools/script-write.js.map +1 -0
  555. package/dist/tools/search-assets.d.ts +2 -0
  556. package/dist/tools/search-assets.js +49 -0
  557. package/dist/tools/search-assets.js.map +1 -0
  558. package/dist/tools/selection-get.d.ts +2 -0
  559. package/dist/tools/selection-get.js +28 -0
  560. package/dist/tools/selection-get.js.map +1 -0
  561. package/dist/tools/selection-set.d.ts +2 -0
  562. package/dist/tools/selection-set.js +72 -0
  563. package/dist/tools/selection-set.js.map +1 -0
  564. package/dist/tools/settings-get-lighting.d.ts +2 -0
  565. package/dist/tools/settings-get-lighting.js +21 -0
  566. package/dist/tools/settings-get-lighting.js.map +1 -0
  567. package/dist/tools/settings-get-physics.d.ts +2 -0
  568. package/dist/tools/settings-get-physics.js +17 -0
  569. package/dist/tools/settings-get-physics.js.map +1 -0
  570. package/dist/tools/settings-get-player.d.ts +2 -0
  571. package/dist/tools/settings-get-player.js +16 -0
  572. package/dist/tools/settings-get-player.js.map +1 -0
  573. package/dist/tools/settings-get-quality.d.ts +2 -0
  574. package/dist/tools/settings-get-quality.js +16 -0
  575. package/dist/tools/settings-get-quality.js.map +1 -0
  576. package/dist/tools/settings-set-lighting.d.ts +2 -0
  577. package/dist/tools/settings-set-lighting.js +58 -0
  578. package/dist/tools/settings-set-lighting.js.map +1 -0
  579. package/dist/tools/settings-set-physics.d.ts +2 -0
  580. package/dist/tools/settings-set-physics.js +52 -0
  581. package/dist/tools/settings-set-physics.js.map +1 -0
  582. package/dist/tools/settings-set-player.d.ts +2 -0
  583. package/dist/tools/settings-set-player.js +62 -0
  584. package/dist/tools/settings-set-player.js.map +1 -0
  585. package/dist/tools/settings-set-quality.d.ts +2 -0
  586. package/dist/tools/settings-set-quality.js +51 -0
  587. package/dist/tools/settings-set-quality.js.map +1 -0
  588. package/dist/tools/shader-get-data.d.ts +2 -0
  589. package/dist/tools/shader-get-data.js +31 -0
  590. package/dist/tools/shader-get-data.js.map +1 -0
  591. package/dist/tools/shader-list-all.d.ts +2 -0
  592. package/dist/tools/shader-list-all.js +24 -0
  593. package/dist/tools/shader-list-all.js.map +1 -0
  594. package/dist/tools/spatial-query.d.ts +2 -0
  595. package/dist/tools/spatial-query.js +117 -0
  596. package/dist/tools/spatial-query.js.map +1 -0
  597. package/dist/tools/splines-add-knot.d.ts +2 -0
  598. package/dist/tools/splines-add-knot.js +44 -0
  599. package/dist/tools/splines-add-knot.js.map +1 -0
  600. package/dist/tools/splines-container-create.d.ts +2 -0
  601. package/dist/tools/splines-container-create.js +39 -0
  602. package/dist/tools/splines-container-create.js.map +1 -0
  603. package/dist/tools/splines-evaluate.d.ts +2 -0
  604. package/dist/tools/splines-evaluate.js +31 -0
  605. package/dist/tools/splines-evaluate.js.map +1 -0
  606. package/dist/tools/splines-get-knots.d.ts +2 -0
  607. package/dist/tools/splines-get-knots.js +25 -0
  608. package/dist/tools/splines-get-knots.js.map +1 -0
  609. package/dist/tools/splines-modify.d.ts +2 -0
  610. package/dist/tools/splines-modify.js +35 -0
  611. package/dist/tools/splines-modify.js.map +1 -0
  612. package/dist/tools/splines-set-knot.d.ts +2 -0
  613. package/dist/tools/splines-set-knot.js +41 -0
  614. package/dist/tools/splines-set-knot.js.map +1 -0
  615. package/dist/tools/splines-set-tangent-mode.d.ts +2 -0
  616. package/dist/tools/splines-set-tangent-mode.js +43 -0
  617. package/dist/tools/splines-set-tangent-mode.js.map +1 -0
  618. package/dist/tools/type-schema.d.ts +2 -0
  619. package/dist/tools/type-schema.js +62 -0
  620. package/dist/tools/type-schema.js.map +1 -0
  621. package/dist/tools/validate-edit.d.ts +2 -0
  622. package/dist/tools/validate-edit.js +43 -0
  623. package/dist/tools/validate-edit.js.map +1 -0
  624. package/dist/unity-install-discovery.d.ts +79 -0
  625. package/dist/unity-install-discovery.js +206 -0
  626. package/dist/unity-install-discovery.js.map +1 -0
  627. package/dist/unity-log.d.ts +35 -0
  628. package/dist/unity-log.js +110 -0
  629. package/dist/unity-log.js.map +1 -0
  630. package/package.json +54 -0
@@ -0,0 +1,47 @@
1
+ // M16 Plan 5 — typed console log. Writes a log/warning/error to the Editor
2
+ // console from the agent. Gate-free direct-response tool: it emits a message
3
+ // to the console but writes no assets, so no gate validation is meaningful.
4
+ // Folds UUMCP console_log. The emitted entry surfaces in the next
5
+ // unity_senses_read_console / unity_senses_pull_events call.
6
+ export const consoleLog = {
7
+ name: "unity_open_mcp_console_log",
8
+ description: "Write a log / warning / error message to the Unity Editor console from " +
9
+ "the agent. Useful for leaving breadcrumbs a human watching the Console " +
10
+ "window can follow, or for asserting a checkpoint in a mutate→gate→fix " +
11
+ "loop. Mutates console state only (no asset writes), so it is gate-free " +
12
+ "and returns directly without the gate envelope. The entry appears in the " +
13
+ "next unity_senses_read_console or unity_senses_pull_events call. Prefer " +
14
+ "this over raw execute_csharp Debug.Log — schema-validated and typed.",
15
+ inputSchema: {
16
+ type: "object",
17
+ required: ["message"],
18
+ properties: {
19
+ message: {
20
+ type: "string",
21
+ description: "The message text to write to the console.",
22
+ },
23
+ level: {
24
+ type: "string",
25
+ enum: ["log", "warning", "error"],
26
+ default: "log",
27
+ description: "Severity. 'log' → Debug.Log; 'warning' → Debug.LogWarning; " +
28
+ "'error' → Debug.LogError (shows a red entry + stack). Defaults to 'log'.",
29
+ },
30
+ context_instance_id: {
31
+ type: "integer",
32
+ default: 0,
33
+ description: "Optional GameObject/Component instance id to attach as the log " +
34
+ "context. When set, the Console window pings the object when the " +
35
+ "entry is clicked. Omit (or 0) for a context-less log.",
36
+ },
37
+ context_asset_path: {
38
+ type: "string",
39
+ description: "Optional asset path (e.g. 'Assets/Prefabs/Player.prefab') to attach " +
40
+ "as the log context. Takes precedence over context_instance_id when " +
41
+ "both are set. Omit for a context-less log.",
42
+ },
43
+ },
44
+ additionalProperties: false,
45
+ },
46
+ };
47
+ //# sourceMappingURL=console-log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console-log.js","sourceRoot":"","sources":["../../src/tools/console-log.ts"],"names":[],"mappings":"AAEA,2EAA2E;AAC3E,6EAA6E;AAC7E,4EAA4E;AAC5E,kEAAkE;AAClE,6DAA6D;AAC7D,MAAM,CAAC,MAAM,UAAU,GAAS;IAC9B,IAAI,EAAE,4BAA4B;IAClC,WAAW,EACT,yEAAyE;QACzE,yEAAyE;QACzE,wEAAwE;QACxE,yEAAyE;QACzE,2EAA2E;QAC3E,0EAA0E;QAC1E,sEAAsE;IACxE,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,SAAS,CAAC;QACrB,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,2CAA2C;aACzD;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC;gBACjC,OAAO,EAAE,KAAK;gBACd,WAAW,EACT,6DAA6D;oBAC7D,0EAA0E;aAC7E;YACD,mBAAmB,EAAE;gBACnB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,CAAC;gBACV,WAAW,EACT,iEAAiE;oBACjE,kEAAkE;oBAClE,uDAAuD;aAC1D;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,sEAAsE;oBACtE,qEAAqE;oBACrE,4CAA4C;aAC/C;SACF;QACD,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const delta: Tool;
@@ -0,0 +1,17 @@
1
+ export const delta = {
2
+ name: "unity_open_mcp_delta",
3
+ description: "Compare current project health vs a checkpoint.",
4
+ inputSchema: {
5
+ type: "object",
6
+ required: ["checkpoint_id"],
7
+ properties: {
8
+ checkpoint_id: { type: "string" },
9
+ paths: {
10
+ type: "array",
11
+ items: { type: "string" },
12
+ description: "Re-validate scope; defaults to checkpoint paths",
13
+ },
14
+ },
15
+ },
16
+ };
17
+ //# sourceMappingURL=delta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delta.js","sourceRoot":"","sources":["../../src/tools/delta.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,KAAK,GAAS;IACzB,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE,iDAAiD;IAC9D,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,eAAe,CAAC;QAC3B,UAAU,EAAE;YACV,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACjC,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,iDAAiD;aAC/D;SACF;KACF;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const editorAddLayer: Tool;
@@ -0,0 +1,51 @@
1
+ // M16 Plan 5 — typed editor add layer. Mutating: assigns a layer name to a
2
+ // slot in the TagManager (ProjectSettings/TagManager.asset) and saves it. Runs
3
+ // the full gate path with paths_hint scoped to that asset. Folds UCP
4
+ // settings/add-layer. Layers are index-keyed (0–31); this tool finds the first
5
+ // empty slot (or uses an explicit slot), assigns the name, and saves.
6
+ export const editorAddLayer = {
7
+ name: "unity_open_mcp_editor_add_layer",
8
+ description: "Add a user-defined layer to the project's TagManager. Mutating: assigns " +
9
+ "the layer name to a slot, writes ProjectSettings/TagManager.asset, and " +
10
+ "refreshes the asset database. Runs the full gate path; paths_hint should " +
11
+ "be [\"ProjectSettings/TagManager.asset\"]. By default picks the first " +
12
+ "empty slot (slots 0–7 are reserved for built-ins, so user layers land in " +
13
+ "8–31); pass slot to assign a specific index. Refuses reserved built-in " +
14
+ "layer names and slots, refuses when no free slot remains, and is " +
15
+ "idempotent (re-assigning the same name to the same slot is a no-op). " +
16
+ "Prefer this over raw execute_csharp TagManager manipulation — schema-" +
17
+ "validated, undo-recorded, and the gate surfaces any fallout from the " +
18
+ "TagManager rewrite. Pair with editor_get_layers to confirm the addition.",
19
+ inputSchema: {
20
+ type: "object",
21
+ required: ["layer", "paths_hint"],
22
+ properties: {
23
+ layer: {
24
+ type: "string",
25
+ description: "The layer name to add. Must be non-empty and not a reserved " +
26
+ "built-in layer name (Default, TransparentFX, IgnoreRaycast, Water, " +
27
+ "UI). Leading/trailing whitespace is trimmed.",
28
+ },
29
+ slot: {
30
+ type: "integer",
31
+ minimum: 8,
32
+ maximum: 31,
33
+ description: "Explicit slot index (8–31) to assign. Slots 0–7 are reserved for " +
34
+ "Unity built-ins. When omitted, the first empty slot in 8–31 is " +
35
+ "used. Refuses when the chosen slot is occupied by a different name.",
36
+ },
37
+ paths_hint: {
38
+ type: "array",
39
+ items: { type: "string" },
40
+ description: "Mutation scope — [\"ProjectSettings/TagManager.asset\"] (the asset " +
41
+ "this tool rewrites).",
42
+ },
43
+ gate: {
44
+ enum: ["enforce", "warn", "off"],
45
+ default: "enforce",
46
+ },
47
+ },
48
+ additionalProperties: false,
49
+ },
50
+ };
51
+ //# sourceMappingURL=editor-add-layer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor-add-layer.js","sourceRoot":"","sources":["../../src/tools/editor-add-layer.ts"],"names":[],"mappings":"AAEA,2EAA2E;AAC3E,+EAA+E;AAC/E,qEAAqE;AACrE,+EAA+E;AAC/E,sEAAsE;AACtE,MAAM,CAAC,MAAM,cAAc,GAAS;IAClC,IAAI,EAAE,iCAAiC;IACvC,WAAW,EACT,0EAA0E;QAC1E,yEAAyE;QACzE,2EAA2E;QAC3E,wEAAwE;QACxE,2EAA2E;QAC3E,yEAAyE;QACzE,mEAAmE;QACnE,uEAAuE;QACvE,uEAAuE;QACvE,uEAAuE;QACvE,0EAA0E;IAC5E,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC;QACjC,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,8DAA8D;oBAC9D,qEAAqE;oBACrE,8CAA8C;aACjD;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,EAAE;gBACX,WAAW,EACT,mEAAmE;oBACnE,iEAAiE;oBACjE,qEAAqE;aACxE;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EACT,qEAAqE;oBACrE,sBAAsB;aACzB;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC;gBAChC,OAAO,EAAE,SAAS;aACnB;SACF;QACD,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const editorAddTag: Tool;
@@ -0,0 +1,41 @@
1
+ // M16 Plan 5 — typed editor add tag. Mutating: appends a user tag to the
2
+ // TagManager (ProjectSettings/TagManager.asset) and saves it. Runs the full
3
+ // gate path with paths_hint scoped to that asset. Folds UCP settings/add-tag.
4
+ // Idempotent: a tag that already exists is a no-op (saved:false). Built-in tag
5
+ // names are reserved.
6
+ export const editorAddTag = {
7
+ name: "unity_open_mcp_editor_add_tag",
8
+ description: "Add a user-defined tag to the project's TagManager. Mutating: appends the " +
9
+ "tag, writes ProjectSettings/TagManager.asset, and refreshes the asset " +
10
+ "database. Runs the full gate path; paths_hint should be " +
11
+ "[\"ProjectSettings/TagManager.asset\"]. Idempotent — adding a tag that " +
12
+ "already exists returns saved:false (no write). Refuses reserved built-in " +
13
+ "tag names (Untagged, Respawn, Finish, EditorOnly, MainCamera, Player, " +
14
+ "GameController) and invalid names. Prefer this over raw execute_csharp " +
15
+ "TagManager manipulation — schema-validated, undo-recorded, and the gate " +
16
+ "surfaces any fallout from the TagManager rewrite. Pair with " +
17
+ "editor_get_tags to confirm the addition.",
18
+ inputSchema: {
19
+ type: "object",
20
+ required: ["tag", "paths_hint"],
21
+ properties: {
22
+ tag: {
23
+ type: "string",
24
+ description: "The tag name to add. Must be non-empty and not a reserved built-in " +
25
+ "tag. Leading/trailing whitespace is trimmed.",
26
+ },
27
+ paths_hint: {
28
+ type: "array",
29
+ items: { type: "string" },
30
+ description: "Mutation scope — [\"ProjectSettings/TagManager.asset\"] (the asset " +
31
+ "this tool rewrites).",
32
+ },
33
+ gate: {
34
+ enum: ["enforce", "warn", "off"],
35
+ default: "enforce",
36
+ },
37
+ },
38
+ additionalProperties: false,
39
+ },
40
+ };
41
+ //# sourceMappingURL=editor-add-tag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor-add-tag.js","sourceRoot":"","sources":["../../src/tools/editor-add-tag.ts"],"names":[],"mappings":"AAEA,yEAAyE;AACzE,4EAA4E;AAC5E,8EAA8E;AAC9E,+EAA+E;AAC/E,sBAAsB;AACtB,MAAM,CAAC,MAAM,YAAY,GAAS;IAChC,IAAI,EAAE,+BAA+B;IACrC,WAAW,EACT,4EAA4E;QAC5E,wEAAwE;QACxE,0DAA0D;QAC1D,yEAAyE;QACzE,2EAA2E;QAC3E,wEAAwE;QACxE,yEAAyE;QACzE,0EAA0E;QAC1E,8DAA8D;QAC9D,0CAA0C;IAC5C,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC;QAC/B,UAAU,EAAE;YACV,GAAG,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,qEAAqE;oBACrE,8CAA8C;aACjD;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EACT,qEAAqE;oBACrE,sBAAsB;aACzB;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC;gBAChC,OAAO,EAAE,SAAS;aACnB;SACF;QACD,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const editorGetLayers: Tool;
@@ -0,0 +1,22 @@
1
+ // M16 Plan 5 — typed editor layers read. Read-only: lists every non-empty
2
+ // layer slot (index 0–31) from the TagManager. Gate-free. Folds UUMCP
3
+ // editor_get_layers + UCP settings/tags-layers. Pair with editor_add_layer
4
+ // for the mutating side, and gameobject_modify (layer) for consumers.
5
+ export const editorGetLayers = {
6
+ name: "unity_open_mcp_editor_get_layers",
7
+ description: "List every non-empty layer slot configured in the project's TagManager " +
8
+ "(the Layers list under Edit → Project Settings → Tags and Layers). " +
9
+ "Returns each populated slot's index (0–31) and name. Built-in layers " +
10
+ "(0 Default, 1 TransparentFX, 2 IgnoreRaycast, 4 Water, 5 UI) are " +
11
+ "included; empty slots are omitted. Read-only and gate-free. Use this " +
12
+ "before gameobject_modify (layer) to discover valid layer indices, and " +
13
+ "before editor_add_layer to find the first free slot. Prefer this over " +
14
+ "raw execute_csharp InternalEditorUtility.layers — schema-validated and " +
15
+ "includes the slot indices the modify tool expects.",
16
+ inputSchema: {
17
+ type: "object",
18
+ properties: {},
19
+ additionalProperties: false,
20
+ },
21
+ };
22
+ //# sourceMappingURL=editor-get-layers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor-get-layers.js","sourceRoot":"","sources":["../../src/tools/editor-get-layers.ts"],"names":[],"mappings":"AAEA,0EAA0E;AAC1E,sEAAsE;AACtE,2EAA2E;AAC3E,sEAAsE;AACtE,MAAM,CAAC,MAAM,eAAe,GAAS;IACnC,IAAI,EAAE,kCAAkC;IACxC,WAAW,EACT,yEAAyE;QACzE,qEAAqE;QACrE,uEAAuE;QACvE,mEAAmE;QACnE,uEAAuE;QACvE,wEAAwE;QACxE,wEAAwE;QACxE,yEAAyE;QACzE,oDAAoD;IACtD,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;QACd,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const editorGetTags: Tool;
@@ -0,0 +1,19 @@
1
+ // M16 Plan 5 — typed editor tags read. Read-only: lists every configured tag
2
+ // from the TagManager. Gate-free. Folds UUMCP editor_get_tags + UCP
3
+ // settings/tags-layers. Pair with editor_add_tag for the mutating side.
4
+ export const editorGetTags = {
5
+ name: "unity_open_mcp_editor_get_tags",
6
+ description: "List every tag configured in the project's TagManager (the Tags list " +
7
+ "under Edit → Project Settings → Tags and Layers). Includes Unity's " +
8
+ "built-in tags (Untagged, Respawn, Finish, EditorOnly, MainCamera, " +
9
+ "Player, GameController) plus user-defined tags. Read-only and gate-free. " +
10
+ "Use this before gameobject_modify (tag) to discover valid tag names, and " +
11
+ "before editor_add_tag to check whether a tag already exists. Prefer this " +
12
+ "over raw execute_csharp InternalEditorUtility.tags — schema-validated.",
13
+ inputSchema: {
14
+ type: "object",
15
+ properties: {},
16
+ additionalProperties: false,
17
+ },
18
+ };
19
+ //# sourceMappingURL=editor-get-tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor-get-tags.js","sourceRoot":"","sources":["../../src/tools/editor-get-tags.ts"],"names":[],"mappings":"AAEA,6EAA6E;AAC7E,oEAAoE;AACpE,wEAAwE;AACxE,MAAM,CAAC,MAAM,aAAa,GAAS;IACjC,IAAI,EAAE,gCAAgC;IACtC,WAAW,EACT,uEAAuE;QACvE,qEAAqE;QACrE,oEAAoE;QACpE,2EAA2E;QAC3E,2EAA2E;QAC3E,2EAA2E;QAC3E,wEAAwE;IAC1E,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;QACd,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const editorRedo: Tool;
@@ -0,0 +1,27 @@
1
+ // M16 Plan 5 — typed editor redo. Mutates editor undo state but writes no
2
+ // assets — routes as a gate-free direct-response tool. Folds UUMCP editor_redo
3
+ // (Undo.PerformRedo). Pair with editor_undo and the undo-recorded typed
4
+ // mutators.
5
+ export const editorRedo = {
6
+ name: "unity_open_mcp_editor_redo",
7
+ description: "Perform an editor Redo — re-applies the most recent undone action (one " +
8
+ "step). Mutates editor undo state only (writes no assets), so it is " +
9
+ "gate-free and returns directly without the gate envelope. Use steps > 1 " +
10
+ "to redo multiple actions in one call. Prefer this over raw execute_csharp " +
11
+ "Undo.PerformRedo() — schema-validated and surfaces the post-redo " +
12
+ "selection so the agent knows what re-applied.",
13
+ inputSchema: {
14
+ type: "object",
15
+ properties: {
16
+ steps: {
17
+ type: "integer",
18
+ default: 1,
19
+ minimum: 1,
20
+ description: "Number of redo steps to perform. Each step re-applies one undone " +
21
+ "action. Defaults to 1.",
22
+ },
23
+ },
24
+ additionalProperties: false,
25
+ },
26
+ };
27
+ //# sourceMappingURL=editor-redo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor-redo.js","sourceRoot":"","sources":["../../src/tools/editor-redo.ts"],"names":[],"mappings":"AAEA,0EAA0E;AAC1E,+EAA+E;AAC/E,wEAAwE;AACxE,YAAY;AACZ,MAAM,CAAC,MAAM,UAAU,GAAS;IAC9B,IAAI,EAAE,4BAA4B;IAClC,WAAW,EACT,yEAAyE;QACzE,qEAAqE;QACrE,0EAA0E;QAC1E,4EAA4E;QAC5E,mEAAmE;QACnE,+CAA+C;IACjD,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;gBACV,WAAW,EACT,mEAAmE;oBACnE,wBAAwB;aAC3B;SACF;QACD,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const editorSetState: Tool;
@@ -0,0 +1,57 @@
1
+ // M16 Plan 5 — typed editor state set (play / pause / stop). Complements
2
+ // unity_open_mcp_editor_status (the read side). Entering play mode is a
3
+ // disruptive editor transition: if any loaded scene is dirty, Unity's native
4
+ // save modal can interrupt the flow. The bridge preflights the scene setup and
5
+ // refuses with code `scene_dirty` when that would happen — pass
6
+ // `ignore_scene_dirty: true` to accept the risk.
7
+ //
8
+ // The call does NOT go through the gate envelope: editor state transitions
9
+ // write no assets (the gate validates asset-reference fallout, which does not
10
+ // apply). It is a gate-free direct-response tool that still runs on the main
11
+ // thread. Document settle/poll expectations: entering play mode is
12
+ // near-instant in the editor; the response reflects the post-transition state.
13
+ export const editorSetState = {
14
+ name: "unity_open_mcp_editor_set_state",
15
+ description: "Set the Unity Editor play / pause / stop state. Complements " +
16
+ "unity_open_mcp_editor_status (the read side). play = enter play mode " +
17
+ "(EditorApplication.EnterPlaymode); pause = toggle pause while playing; " +
18
+ "stop = exit play mode. Entering play mode is disruptive — when a loaded " +
19
+ "scene has unsaved changes, Unity's native save modal can interrupt the " +
20
+ "flow, so the bridge preflights and refuses with code `scene_dirty`; pass " +
21
+ "ignore_scene_dirty: true to accept the risk. Writes no assets, so the call " +
22
+ "is gate-free and returns the post-transition state directly. Prefer this " +
23
+ "over raw execute_csharp EditorApplication.isPlaying = true — schema-" +
24
+ "validated, undo-safe, and the dirty-scene refusal is surfaced as a " +
25
+ "structured error instead of a hanging save dialog.",
26
+ inputSchema: {
27
+ type: "object",
28
+ required: ["state"],
29
+ properties: {
30
+ state: {
31
+ type: "string",
32
+ enum: ["play", "pause", "stop"],
33
+ description: "Target state. 'play' → enter play mode (refuses if already playing " +
34
+ "unless force: true); 'pause' → toggle pause on the current play " +
35
+ "session (no-op when not playing); 'stop' → exit play mode (refuses " +
36
+ "when not playing).",
37
+ },
38
+ force: {
39
+ type: "boolean",
40
+ default: false,
41
+ description: "When true, skip the idempotent 'already in target state' check. " +
42
+ "Useful for re-entering play mode after a code change without first " +
43
+ "stopping. Default false.",
44
+ },
45
+ ignore_scene_dirty: {
46
+ type: "boolean",
47
+ default: false,
48
+ description: "Opt out of the active-scene dirty guard. When false (default), the " +
49
+ "call is refused with code `scene_dirty` if any loaded scene has " +
50
+ "unsaved changes — entering play mode would otherwise trigger " +
51
+ "Unity's native save modal. Set true to proceed and accept the risk.",
52
+ },
53
+ },
54
+ additionalProperties: false,
55
+ },
56
+ };
57
+ //# sourceMappingURL=editor-set-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor-set-state.js","sourceRoot":"","sources":["../../src/tools/editor-set-state.ts"],"names":[],"mappings":"AAEA,yEAAyE;AACzE,wEAAwE;AACxE,6EAA6E;AAC7E,+EAA+E;AAC/E,gEAAgE;AAChE,iDAAiD;AACjD,EAAE;AACF,2EAA2E;AAC3E,8EAA8E;AAC9E,6EAA6E;AAC7E,mEAAmE;AACnE,+EAA+E;AAC/E,MAAM,CAAC,MAAM,cAAc,GAAS;IAClC,IAAI,EAAE,iCAAiC;IACvC,WAAW,EACT,8DAA8D;QAC9D,uEAAuE;QACvE,yEAAyE;QACzE,0EAA0E;QAC1E,yEAAyE;QACzE,2EAA2E;QAC3E,6EAA6E;QAC7E,2EAA2E;QAC3E,sEAAsE;QACtE,qEAAqE;QACrE,oDAAoD;IACtD,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,OAAO,CAAC;QACnB,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;gBAC/B,WAAW,EACT,qEAAqE;oBACrE,kEAAkE;oBAClE,qEAAqE;oBACrE,oBAAoB;aACvB;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EACT,kEAAkE;oBAClE,qEAAqE;oBACrE,0BAA0B;aAC7B;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EACT,qEAAqE;oBACrE,kEAAkE;oBAClE,+DAA+D;oBAC/D,qEAAqE;aACxE;SACF;QACD,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const editorStatus: Tool;
@@ -0,0 +1,17 @@
1
+ export const editorStatus = {
2
+ name: "unity_open_mcp_editor_status",
3
+ description: "Returns the current Unity Editor state: play mode, compile state, current scene path, Unity version, and editor type.",
4
+ inputSchema: {
5
+ type: "object",
6
+ properties: {
7
+ timeout_ms: {
8
+ type: "integer",
9
+ default: 30000,
10
+ minimum: 1000,
11
+ maximum: 300000,
12
+ },
13
+ },
14
+ additionalProperties: false,
15
+ },
16
+ };
17
+ //# sourceMappingURL=editor-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor-status.js","sourceRoot":"","sources":["../../src/tools/editor-status.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAS;IAChC,IAAI,EAAE,8BAA8B;IACpC,WAAW,EACT,uHAAuH;IACzH,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,UAAU,EAAE;gBACV,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,MAAM;aAChB;SACF;QACD,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const editorUndo: Tool;
@@ -0,0 +1,29 @@
1
+ // M16 Plan 5 — typed editor undo. Mutates editor undo state but writes no
2
+ // assets — routes as a gate-free direct-response tool. Folds UUMCP editor_undo
3
+ // (Undo.PerformUndo). Pair with editor_redo and the undo-recorded typed
4
+ // mutators (gameobject_*, component_*, selection_set, ...).
5
+ export const editorUndo = {
6
+ name: "unity_open_mcp_editor_undo",
7
+ description: "Perform an editor Undo — reverts the most recent recorded action (one " +
8
+ "step). Mutates editor undo state only (writes no assets), so it is " +
9
+ "gate-free and returns directly without the gate envelope. Works against " +
10
+ "every undo-recorded action the bridge takes (gameobject_*, component_*, " +
11
+ "selection_set, material_set_*, prefab_*, scene_*) plus human actions. " +
12
+ "Use steps > 1 to undo multiple actions in one call. Prefer this over raw " +
13
+ "execute_csharp Undo.PerformUndo() — schema-validated and surfaces the " +
14
+ "post-undo selection so the agent knows what reverted.",
15
+ inputSchema: {
16
+ type: "object",
17
+ properties: {
18
+ steps: {
19
+ type: "integer",
20
+ default: 1,
21
+ minimum: 1,
22
+ description: "Number of undo steps to perform. Each step reverts one recorded " +
23
+ "action. Defaults to 1.",
24
+ },
25
+ },
26
+ additionalProperties: false,
27
+ },
28
+ };
29
+ //# sourceMappingURL=editor-undo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor-undo.js","sourceRoot":"","sources":["../../src/tools/editor-undo.ts"],"names":[],"mappings":"AAEA,0EAA0E;AAC1E,+EAA+E;AAC/E,wEAAwE;AACxE,4DAA4D;AAC5D,MAAM,CAAC,MAAM,UAAU,GAAS;IAC9B,IAAI,EAAE,4BAA4B;IAClC,WAAW,EACT,wEAAwE;QACxE,qEAAqE;QACrE,0EAA0E;QAC1E,0EAA0E;QAC1E,wEAAwE;QACxE,2EAA2E;QAC3E,wEAAwE;QACxE,uDAAuD;IACzD,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;gBACV,WAAW,EACT,kEAAkE;oBAClE,wBAAwB;aAC3B;SACF;QACD,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const executeCsharp: Tool;
@@ -0,0 +1,74 @@
1
+ export const executeCsharp = {
2
+ name: "unity_open_mcp_execute_csharp",
3
+ description: "Compile and run a C# snippet in the Editor (Roslyn). Primary escape hatch — covers most Editor APIs without typed tools.",
4
+ inputSchema: {
5
+ type: "object",
6
+ required: ["code"],
7
+ properties: {
8
+ code: {
9
+ type: "string",
10
+ description: "C# source. Use return x; to produce output.",
11
+ },
12
+ usings: {
13
+ type: "array",
14
+ items: { type: "string" },
15
+ description: "Extra using directives beyond defaults (UnityEngine, UnityEditor, etc.)",
16
+ },
17
+ object_ids: {
18
+ type: "array",
19
+ items: { type: "string" },
20
+ description: "Instance IDs (or full handle JSON) of live UnityEngine.Objects " +
21
+ "to inject into the snippet. Access them via Refs[index] or " +
22
+ "Ref<T>(index) in the code body. Instance IDs come from the " +
23
+ "'objectId' field of object handles returned by other tools. " +
24
+ "Instance IDs change on domain reload.",
25
+ },
26
+ paths_hint: {
27
+ type: "array",
28
+ items: { type: "string" },
29
+ description: "Asset paths likely touched; drives scoped gate validation",
30
+ },
31
+ ignore_scene_dirty: {
32
+ type: "boolean",
33
+ default: false,
34
+ description: "Bypass the active-scene dirty guard. By default a disruptive op " +
35
+ "(recompile / scene switch) is refused with scene_dirty when any " +
36
+ "loaded scene has unsaved changes, so Unity's native save modal " +
37
+ "never interrupts the flow. Set true to proceed and accept the risk " +
38
+ "of a native save prompt.",
39
+ },
40
+ confirm_bypass: {
41
+ type: "boolean",
42
+ default: false,
43
+ description: "Bypass the deny heuristic for destructive patterns " +
44
+ "(EditorApplication.Exit, AssetDatabase.DeleteAsset, " +
45
+ "BuildPipeline.BuildPlayer, etc.). Requires gate: \"off\" as well — " +
46
+ "both flags must be set. The bypass is audited.",
47
+ },
48
+ gate: {
49
+ enum: ["enforce", "warn", "off"],
50
+ default: "enforce",
51
+ },
52
+ timeout_ms: {
53
+ type: "integer",
54
+ default: 30000,
55
+ minimum: 1000,
56
+ maximum: 300000,
57
+ },
58
+ max_depth: {
59
+ type: "integer",
60
+ default: 4,
61
+ minimum: 0,
62
+ description: "Max recursion depth when serializing the returned object graph (default 4). Composite nodes deeper than this are stringified to bound payload size.",
63
+ },
64
+ max_items: {
65
+ type: "integer",
66
+ default: 100,
67
+ minimum: 0,
68
+ description: "Max items emitted per list/enumerable in the returned object graph (default 100). Truncated lists report a `truncated` count of the elided items.",
69
+ },
70
+ },
71
+ additionalProperties: false,
72
+ },
73
+ };
74
+ //# sourceMappingURL=execute-csharp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute-csharp.js","sourceRoot":"","sources":["../../src/tools/execute-csharp.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAS;IACjC,IAAI,EAAE,+BAA+B;IACrC,WAAW,EACT,0HAA0H;IAC5H,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6CAA6C;aAC3D;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EACT,yEAAyE;aAC5E;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EACT,iEAAiE;oBACjE,6DAA6D;oBAC7D,6DAA6D;oBAC7D,8DAA8D;oBAC9D,uCAAuC;aAC1C;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EACT,2DAA2D;aAC9D;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EACT,kEAAkE;oBAClE,kEAAkE;oBAClE,iEAAiE;oBACjE,qEAAqE;oBACrE,0BAA0B;aAC7B;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EACT,qDAAqD;oBACrD,sDAAsD;oBACtD,qEAAqE;oBACrE,gDAAgD;aACnD;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC;gBAChC,OAAO,EAAE,SAAS;aACnB;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,MAAM;aAChB;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;gBACV,WAAW,EACT,qJAAqJ;aACxJ;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,GAAG;gBACZ,OAAO,EAAE,CAAC;gBACV,WAAW,EACT,mJAAmJ;aACtJ;SACF;QACD,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const executeMenu: Tool;
@@ -0,0 +1,40 @@
1
+ export const executeMenu = {
2
+ name: "unity_open_mcp_execute_menu",
3
+ description: "Execute a Unity Editor menu item.",
4
+ inputSchema: {
5
+ type: "object",
6
+ required: ["menu_path"],
7
+ properties: {
8
+ menu_path: {
9
+ type: "string",
10
+ description: "e.g. Assets/Refresh, File/Save Project",
11
+ },
12
+ paths_hint: {
13
+ type: "array",
14
+ items: { type: "string" },
15
+ },
16
+ ignore_scene_dirty: {
17
+ type: "boolean",
18
+ default: false,
19
+ description: "Bypass the active-scene dirty guard. By default a disruptive op " +
20
+ "(recompile / scene switch / menu that can disrupt the editor) is " +
21
+ "refused with scene_dirty when any loaded scene has unsaved changes, " +
22
+ "so Unity's native save modal never interrupts the flow. Set true to " +
23
+ "proceed and accept the risk of a native save prompt.",
24
+ },
25
+ confirm_bypass: {
26
+ type: "boolean",
27
+ default: false,
28
+ description: "Bypass the deny heuristic for destructive menu paths " +
29
+ "(File/Quit, File/Exit, Assets/Reimport All). Requires gate: \"off\" " +
30
+ "as well — both flags must be set. The bypass is audited.",
31
+ },
32
+ gate: {
33
+ enum: ["enforce", "warn", "off"],
34
+ default: "enforce",
35
+ },
36
+ },
37
+ additionalProperties: false,
38
+ },
39
+ };
40
+ //# sourceMappingURL=execute-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute-menu.js","sourceRoot":"","sources":["../../src/tools/execute-menu.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,WAAW,GAAS;IAC/B,IAAI,EAAE,6BAA6B;IACnC,WAAW,EAAE,mCAAmC;IAChD,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,WAAW,CAAC;QACvB,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,wCAAwC;aACtD;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1B;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EACT,kEAAkE;oBAClE,mEAAmE;oBACnE,sEAAsE;oBACtE,sEAAsE;oBACtE,sDAAsD;aACzD;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EACT,uDAAuD;oBACvD,sEAAsE;oBACtE,0DAA0D;aAC7D;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC;gBAChC,OAAO,EAAE,SAAS;aACnB;SACF;QACD,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const findMembers: Tool;
@@ -0,0 +1,56 @@
1
+ // M16 Plan 6 — find_members enhanced in place with richer overload/signature
2
+ // metadata. The previous flat signature string now carries structured fields
3
+ // (returnType, parameters[], isStatic, isGeneric, genericParameters[] for
4
+ // methods; propertyType, canRead, canWrite, isStatic for properties; the
5
+ // member kind, declaring type, and assembly) so an agent can pick a specific
6
+ // overload and call it via invoke_method without trial-and-error. The legacy
7
+ // flat `signature` field stays for compatibility.
8
+ export const findMembers = {
9
+ name: "unity_open_mcp_find_members",
10
+ description: "Discover types, methods, and properties for agent planning (reduces blind execute calls). " +
11
+ "Token-bounded: `max_results` caps the returned list, `truncated` always reports how many " +
12
+ "additional matches were dropped. Each member carries a flat `signature` string AND " +
13
+ "structured fields (returnType, parameters[], isStatic, isGeneric, genericParameters[] for " +
14
+ "methods; propertyType, canRead, canWrite for properties) so you can pick a specific " +
15
+ "overload and plan an invoke_method call. Pass `include_signatures: false` to get back " +
16
+ "just names (lighter payload). When `query` matches a method with overloads, every " +
17
+ "overload is listed separately.",
18
+ inputSchema: {
19
+ type: "object",
20
+ properties: {
21
+ query: {
22
+ type: "string",
23
+ description: "Substring filter on type or member name",
24
+ },
25
+ kind: {
26
+ enum: ["type", "method", "property", "all"],
27
+ default: "all",
28
+ },
29
+ assembly_filter: {
30
+ type: "string",
31
+ },
32
+ include_unity_editor: {
33
+ type: "boolean",
34
+ default: true,
35
+ },
36
+ include_project: {
37
+ type: "boolean",
38
+ default: true,
39
+ },
40
+ include_signatures: {
41
+ type: "boolean",
42
+ default: true,
43
+ description: "Include the flat `signature` string and structured parameter/generic metadata on " +
44
+ "each member (default). Set false to get back just names for a lighter payload.",
45
+ },
46
+ max_results: {
47
+ type: "integer",
48
+ default: 50,
49
+ maximum: 200,
50
+ description: "Maximum number of members to return. Additional matches are counted in `truncated`.",
51
+ },
52
+ },
53
+ additionalProperties: false,
54
+ },
55
+ };
56
+ //# sourceMappingURL=find-members.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-members.js","sourceRoot":"","sources":["../../src/tools/find-members.ts"],"names":[],"mappings":"AAEA,6EAA6E;AAC7E,6EAA6E;AAC7E,0EAA0E;AAC1E,yEAAyE;AACzE,6EAA6E;AAC7E,6EAA6E;AAC7E,kDAAkD;AAClD,MAAM,CAAC,MAAM,WAAW,GAAS;IAC/B,IAAI,EAAE,6BAA6B;IACnC,WAAW,EACT,4FAA4F;QAC5F,2FAA2F;QAC3F,qFAAqF;QACrF,4FAA4F;QAC5F,sFAAsF;QACtF,wFAAwF;QACxF,oFAAoF;QACpF,gCAAgC;IAClC,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,yCAAyC;aACvD;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC;gBAC3C,OAAO,EAAE,KAAK;aACf;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,QAAQ;aACf;YACD,oBAAoB,EAAE;gBACpB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;aACd;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;aACd;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,WAAW,EACT,mFAAmF;oBACnF,gFAAgF;aACnF;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,GAAG;gBACZ,WAAW,EACT,qFAAqF;aACxF;SACF;QACD,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const findReferences: Tool;