import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { registerAnnotationTools } from "./annotations";
import { registerComponentTools } from "./components";
// Import all tool registration functions
import { registerDocumentTools } from "./document";
import { registerExportTools } from "./export";
import { registerLayoutTools } from "./layout";
import { registerNodeTools } from "./nodes";
import { registerPrototypingTools } from "./prototyping";
import { registerScanningTools } from "./scanning";
import { registerSelectionTools } from "./selection";
import { registerShapeTools } from "./shapes";
import { registerStylingTools } from "./styling";
import { registerTextTools } from "./text";
import { registerTransformTools } from "./transform";
import { registerVariableTools } from "./variables";
/**
* Register all MCP tools with the server
*/
export function registerAllTools(server: McpServer): void {
// Core document and node tools
registerDocumentTools(server);
registerNodeTools(server);
// Shape creation tools
registerShapeTools(server);
// Text tools
registerTextTools(server);
// Styling tools
registerStylingTools(server);
// Transform tools (move, resize, delete, clone)
registerTransformTools(server);
// Layout tools (auto-layout)
registerLayoutTools(server);
// Component tools
registerComponentTools(server);
// Annotation tools
registerAnnotationTools(server);
// Export tools
registerExportTools(server);
// Selection and focus tools
registerSelectionTools(server);
// Prototyping tools
registerPrototypingTools(server);
// Scanning tools
registerScanningTools(server);
// Variables CRUD tools
registerVariableTools(server);
}
// Re-export individual registration functions for selective use
export {
registerDocumentTools,
registerNodeTools,
registerShapeTools,
registerTextTools,
registerStylingTools,
registerTransformTools,
registerLayoutTools,
registerComponentTools,
registerAnnotationTools,
registerExportTools,
registerSelectionTools,
registerPrototypingTools,
registerScanningTools,
registerVariableTools,
};