add_tiles_to_split
Add missing categories to an existing split in hierarchical tile-based research organization. This action requires re-verification of MECE validation after tile insertion.
Instructions
Add additional tiles to an existing split (when you realize a category was missed). This invalidates the MECE validation and requires re-verification.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| parentId | Yes | ID of the parent tile | |
| newTiles | Yes | New tiles to add to the split |
Implementation Reference
- src/research-tree.ts:210-228 (handler)Core implementation of the add_tiles_to_split tool: adds new child tiles to a parent tile's split, creates the tiles via createTile, and invalidates the parent's MECE status.addTilesToSplit( parentId: string, newTiles: Array<{ title: string; description: string; isLeaf?: boolean }> ): Tile[] { const parent = this.tiles.get(parentId); if (!parent) { throw new Error(`Parent tile ${parentId} not found`); } const createdTiles = newTiles.map((tile) => this.createTile(tile.title, tile.description, parentId, tile.isLeaf || false) ); // Invalidate MECE status since we're adding to the split parent.isMECE = undefined; parent.updatedAt = new Date(); return createdTiles; }
- src/index.ts:439-452 (handler)MCP server handler for add_tiles_to_split tool call: extracts arguments and delegates to ResearchTreeManager.addTilesToSplit, formats result as MCP content response.case "add_tiles_to_split": { const result = treeManager.addTilesToSplit( args.parentId as string, args.newTiles as any[] ); return { content: [ { type: "text", text: JSON.stringify(result, null, 2), }, ], }; }
- src/index.ts:87-113 (registration)Tool registration in TOOLS array: defines name, description, and inputSchema for add_tiles_to_split, used by ListToolsRequestHandler.{ name: "add_tiles_to_split", description: "Add additional tiles to an existing split (when you realize a category was missed). This invalidates the MECE validation and requires re-verification.", inputSchema: { type: "object", properties: { parentId: { type: "string", description: "ID of the parent tile", }, newTiles: { type: "array", items: { type: "object", properties: { title: { type: "string" }, description: { type: "string" }, isLeaf: { type: "boolean" }, }, required: ["title", "description"], }, description: "New tiles to add to the split", }, }, required: ["parentId", "newTiles"], }, },
- src/index.ts:90-112 (schema)Input schema for validating add_tiles_to_split tool arguments: requires parentId and array of newTiles with title and description.inputSchema: { type: "object", properties: { parentId: { type: "string", description: "ID of the parent tile", }, newTiles: { type: "array", items: { type: "object", properties: { title: { type: "string" }, description: { type: "string" }, isLeaf: { type: "boolean" }, }, required: ["title", "description"], }, description: "New tiles to add to the split", }, }, required: ["parentId", "newTiles"], },