fix(mcp): add shared operations and secure scene APIs
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'
|
||||
import type { SceneBridge } from '../bridge/scene-bridge'
|
||||
import type { SceneStore } from '../storage/types'
|
||||
import type { SceneOperations } from '../operations'
|
||||
import { registerApplyPatch } from './apply-patch'
|
||||
import { registerCheckCollisions } from './check-collisions'
|
||||
import { registerConstructionTools } from './construction-tools'
|
||||
@@ -34,35 +33,35 @@ import { registerVariantTools } from './variants'
|
||||
* separately via `registerVisionTools` (Agent E).
|
||||
*
|
||||
* Scene-lifecycle tools (save/load/list/delete/rename scene) are registered
|
||||
* when a `store` is provided; callers that pass `undefined` skip them.
|
||||
* when persistence operations are available.
|
||||
*/
|
||||
export function registerTools(server: McpServer, bridge: SceneBridge, store?: SceneStore): void {
|
||||
registerGetScene(server, bridge)
|
||||
registerGetNode(server, bridge)
|
||||
registerDescribeNode(server, bridge)
|
||||
registerFindNodes(server, bridge)
|
||||
registerSceneQueryTools(server, bridge)
|
||||
registerMeasure(server, bridge)
|
||||
registerConstructionTools(server, bridge, store)
|
||||
registerRoomTools(server, bridge, store)
|
||||
registerApplyPatch(server, bridge, store)
|
||||
registerCreateLevel(server, bridge, store)
|
||||
registerCreateWall(server, bridge, store)
|
||||
registerPlaceItem(server, bridge, store)
|
||||
registerCutOpening(server, bridge, store)
|
||||
registerSetZone(server, bridge, store)
|
||||
registerDuplicateLevel(server, bridge, store)
|
||||
registerDeleteNode(server, bridge, store)
|
||||
registerUndo(server, bridge, store)
|
||||
registerRedo(server, bridge, store)
|
||||
registerExportJson(server, bridge)
|
||||
registerExportGlb(server, bridge)
|
||||
registerValidateScene(server, bridge)
|
||||
registerCheckCollisions(server, bridge)
|
||||
registerTemplateTools(server, bridge, store)
|
||||
if (store) {
|
||||
registerSceneLifecycleTools(server, bridge, store)
|
||||
registerVariantTools(server, bridge, store)
|
||||
registerPhotoToSceneTool(server, bridge, store)
|
||||
export function registerTools(server: McpServer, operations: SceneOperations): void {
|
||||
registerGetScene(server, operations)
|
||||
registerGetNode(server, operations)
|
||||
registerDescribeNode(server, operations)
|
||||
registerFindNodes(server, operations)
|
||||
registerSceneQueryTools(server, operations)
|
||||
registerMeasure(server, operations)
|
||||
registerConstructionTools(server, operations)
|
||||
registerRoomTools(server, operations)
|
||||
registerApplyPatch(server, operations)
|
||||
registerCreateLevel(server, operations)
|
||||
registerCreateWall(server, operations)
|
||||
registerPlaceItem(server, operations)
|
||||
registerCutOpening(server, operations)
|
||||
registerSetZone(server, operations)
|
||||
registerDuplicateLevel(server, operations)
|
||||
registerDeleteNode(server, operations)
|
||||
registerUndo(server, operations)
|
||||
registerRedo(server, operations)
|
||||
registerExportJson(server, operations)
|
||||
registerExportGlb(server, operations)
|
||||
registerValidateScene(server, operations)
|
||||
registerCheckCollisions(server, operations)
|
||||
registerTemplateTools(server, operations)
|
||||
if (operations.hasStore) {
|
||||
registerSceneLifecycleTools(server, operations)
|
||||
registerVariantTools(server, operations)
|
||||
registerPhotoToSceneTool(server, operations)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user