68 lines
2.9 KiB
TypeScript
68 lines
2.9 KiB
TypeScript
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'
|
|
import type { SceneOperations } from '../operations'
|
|
import { registerApplyPatch } from './apply-patch'
|
|
import { registerCheckCollisions } from './check-collisions'
|
|
import { registerConstructionTools } from './construction-tools'
|
|
import { registerCreateLevel } from './create-level'
|
|
import { registerCreateWall } from './create-wall'
|
|
import { registerCutOpening } from './cut-opening'
|
|
import { registerDeleteNode } from './delete-node'
|
|
import { registerDescribeNode } from './describe-node'
|
|
import { registerDuplicateLevel } from './duplicate-level'
|
|
import { registerExportGlb } from './export-glb'
|
|
import { registerExportJson } from './export-json'
|
|
import { registerFindNodes } from './find-nodes'
|
|
import { registerGetNode } from './get-node'
|
|
import { registerGetScene } from './get-scene'
|
|
import { registerMeasure } from './measure'
|
|
import { registerPhotoToSceneTool } from './photo-to-scene'
|
|
import { registerPlaceItem } from './place-item'
|
|
import { registerRedo } from './redo'
|
|
import { registerRoomTools } from './room-tools'
|
|
import { registerSceneLifecycleTools } from './scene-lifecycle'
|
|
import { registerSceneQueryTools } from './scene-query'
|
|
import { registerSetZone } from './set-zone'
|
|
import { registerTemplateTools } from './templates'
|
|
import { registerUndo } from './undo'
|
|
import { registerValidateScene } from './validate-scene'
|
|
import { registerVariantTools } from './variants'
|
|
|
|
/**
|
|
* Register every non-vision MCP tool against the given server.
|
|
* Vision tools (analyze_floorplan_image, analyze_room_photo) are registered
|
|
* separately via `registerVisionTools` (Agent E).
|
|
*
|
|
* Scene-lifecycle tools (save/load/list/delete/rename scene) are registered
|
|
* when persistence operations are available.
|
|
*/
|
|
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)
|
|
}
|
|
}
|