Files
editor/packages/mcp/src/tools/index.ts
T

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)
}
}