Editor/ToolDefinitions.cs
using System.Linq;
namespace SboxMcpServer;
/// <summary>
/// Aggregates all MCP tool schema definitions returned by tools/list.
/// </summary>
internal static class ToolDefinitions
{
internal static object[] All => new object[]
{
// ── Original 9 read + asset + console tools ────────────────────────
SceneToolDefinitions.GetSceneSummary,
SceneToolDefinitions.GetSceneHierarchy,
SceneToolDefinitions.FindGameObjects,
SceneToolDefinitions.FindGameObjectsInRadius,
SceneToolDefinitions.GetGameObjectDetails,
SceneToolDefinitions.GetComponentProperties,
SceneToolDefinitions.GetPrefabInstances,
AssetToolDefinitions.BrowseAssets,
AssetToolDefinitions.GetEditorContext,
ConsoleToolDefinitions.ListConsoleCommands,
ConsoleToolDefinitions.RunConsoleCommand,
// ── New write tools ────────────────────────────────────────────────
OzmiumWriteHandlers.SchemaCreateGameObject,
OzmiumWriteHandlers.SchemaAddComponent,
OzmiumWriteHandlers.SchemaRemoveComponent,
OzmiumWriteHandlers.SchemaSetComponentProperty,
OzmiumWriteHandlers.SchemaDestroyGameObject,
OzmiumWriteHandlers.SchemaReparentGameObject,
OzmiumWriteHandlers.SchemaSetGameObjectTags,
OzmiumWriteHandlers.SchemaInstantiatePrefab,
OzmiumWriteHandlers.SchemaSaveScene,
OzmiumWriteHandlers.SchemaUndo,
OzmiumWriteHandlers.SchemaRedo,
// ── Batch transform & object management ────────────────────────────
OzmiumWriteHandlers.SchemaSetGameObjectTransform,
OzmiumWriteHandlers.SchemaDuplicateGameObject,
OzmiumWriteHandlers.SchemaSetGameObjectEnabled,
OzmiumWriteHandlers.SchemaSetGameObjectName,
OzmiumWriteHandlers.SchemaSetComponentEnabled,
// ── New asset tools ────────────────────────────────────────────────
OzmiumAssetHandlers.SchemaGetModelInfo,
OzmiumAssetHandlers.SchemaGetMaterialProperties,
OzmiumAssetHandlers.SchemaGetPrefabStructure,
OzmiumAssetHandlers.SchemaReloadAsset,
OzmiumAssetHandlers.SchemaGetComponentTypes,
OzmiumAssetHandlers.SchemaSearchAssets,
OzmiumAssetHandlers.SchemaGetSceneStatistics,
// ── New editor control tools ───────────────────────────────────────
OzmiumEditorHandlers.SchemaSelectGameObject,
OzmiumEditorHandlers.SchemaOpenAsset,
OzmiumEditorHandlers.SchemaGetPlayState,
OzmiumEditorHandlers.SchemaStartPlayMode,
OzmiumEditorHandlers.SchemaStopPlayMode,
OzmiumEditorHandlers.SchemaGetEditorLog,
OzmiumEditorHandlers.SchemaGetSelectedObjects,
OzmiumEditorHandlers.SchemaSetSelectedObjects,
OzmiumEditorHandlers.SchemaClearSelection,
// ── Mesh editing tools ───────────────────────────────────────────────
MeshEditHandlers.SchemaCreateBlock,
MeshEditHandlers.SchemaSetFaceMaterial,
MeshEditHandlers.SchemaSetTextureParameters,
MeshEditHandlers.SchemaSetVertexPosition,
MeshEditHandlers.SchemaSetVertexColor,
MeshEditHandlers.SchemaSetVertexBlend,
MeshEditHandlers.SchemaGetMeshInfo,
// ── Lighting tools ──────────────────────────────────────────────────
LightingToolHandlers.SchemaCreateLight,
LightingToolHandlers.SchemaConfigureLight,
LightingToolHandlers.SchemaCreateSkyBox,
LightingToolHandlers.SchemaSetSkyBox,
LightingToolHandlers.SchemaCreateAmbientLight,
LightingToolHandlers.SchemaCreateIndirectLightVolume,
// ── Physics & collider tools ────────────────────────────────────────
PhysicsToolHandlers.SchemaAddCollider,
PhysicsToolHandlers.SchemaConfigureCollider,
PhysicsToolHandlers.SchemaAddRigidbody,
PhysicsToolHandlers.SchemaCreateCharacterController,
PhysicsToolHandlers.SchemaAddPlaneCollider,
PhysicsToolHandlers.SchemaAddHullCollider,
PhysicsToolHandlers.SchemaCreateModelPhysics,
// ── Audio tools ─────────────────────────────────────────────────────
AudioToolHandlers.SchemaCreateSoundPoint,
AudioToolHandlers.SchemaConfigureSound,
AudioToolHandlers.SchemaCreateSoundscapeTrigger,
AudioToolHandlers.SchemaCreateSoundBox,
AudioToolHandlers.SchemaCreateDspVolume,
AudioToolHandlers.SchemaCreateAudioListener,
// ── Camera tools ────────────────────────────────────────────────────
CameraToolHandlers.SchemaCreateCamera,
CameraToolHandlers.SchemaConfigureCamera,
// ── Effect & environment tools ──────────────────────────────────────
EffectToolHandlers.SchemaCreateParticleEffect,
EffectToolHandlers.SchemaConfigureParticleEffect,
EffectToolHandlers.SchemaCreateFogVolume,
EffectToolHandlers.SchemaConfigurePostProcessing,
EffectToolHandlers.SchemaCreateEnvironmentLight,
// ── Utility tools ───────────────────────────────────────────────────
UtilityToolHandlers.SchemaGetAssetDependencies,
UtilityToolHandlers.SchemaBatchTransform,
UtilityToolHandlers.SchemaCopyComponent,
UtilityToolHandlers.SchemaGetObjectBounds,
// ── Navigation tools ────────────────────────────────────────────────
NavigationToolHandlers.SchemaCreateNavMeshAgent,
NavigationToolHandlers.SchemaCreateNavMeshLink,
NavigationToolHandlers.SchemaCreateNavMeshArea,
// ── Rendering tools ─────────────────────────────────────────────────
RenderingToolHandlers.SchemaCreateRenderEntity,
// ── Game tools ──────────────────────────────────────────────────────
GameToolHandlers.SchemaCreateGameEntity,
// ── Effect & physics extension tools ────────────────────────────────
EffectToolHandlers.SchemaCreateBeamEffect,
EffectToolHandlers.SchemaCreateVerletRope,
EffectToolHandlers.SchemaCreateJoint,
EffectToolHandlers.SchemaCreateClutter,
EffectToolHandlers.SchemaCreateRadiusDamage,
// ── Editor & scene extension tools ──────────────────────────────────
OzmiumEditorHandlers.SchemaFrameSelection,
OzmiumEditorHandlers.SchemaSaveSceneAs,
OzmiumEditorHandlers.SchemaGetSceneUnsaved,
OzmiumEditorHandlers.SchemaBreakFromPrefab,
OzmiumEditorHandlers.SchemaUpdateFromPrefab,
};
}