Skip to main content
Glama

split_tile

Partition solution spaces into MECE subsets using specific attributes to systematically organize research ideas and analyze gaps in hierarchical tile-based exploration.

Instructions

Split a tile into MECE (Mutually Exclusive, Collectively Exhaustive) subsets using a specific attribute/dimension. This is the core operation of the tiling trees method - partitioning the solution space systematically. Use physics/math-oriented splits when possible.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tileIdYesID of the tile to split
splitAttributeYesThe attribute/dimension used to split (e.g., 'energy source', 'scale', 'physical mechanism', 'timeframe')
splitRationaleYesWhy this attribute was chosen for splitting
subsetsYesThe mutually exclusive and collectively exhaustive subsets

Implementation Reference

  • Core implementation of the split_tile tool logic in ResearchTreeManager class. Creates child tiles from subsets, updates parent with split info, and ensures tile hasn't been split before.
    splitTile( tileId: string, splitAttribute: string, splitRationale: string, subsets: Array<{ title: string; description: string; isLeaf?: boolean }> ): { parentTile: Tile; createdTiles: Tile[] } { const tile = this.tiles.get(tileId); if (!tile) { throw new Error(`Tile ${tileId} not found`); } if (tile.childrenIds.length > 0) { throw new Error(`Tile ${tileId} has already been split. Use addTilesToSplit to add more tiles.`); } // Create the child tiles const createdTiles = subsets.map((subset) => this.createTile( subset.title, subset.description, tileId, subset.isLeaf || false ) ); // Update parent with split information tile.splitAttribute = splitAttribute; tile.splitRationale = splitRationale; tile.isMECE = undefined; // Needs validation tile.isLeaf = false; // No longer a leaf tile.updatedAt = new Date(); return { parentTile: tile, createdTiles, }; }
  • Input schema and description for the split_tile tool, defining parameters like tileId, splitAttribute, splitRationale, and subsets array.
    { name: "split_tile", description: "Split a tile into MECE (Mutually Exclusive, Collectively Exhaustive) subsets using a specific attribute/dimension. This is the core operation of the tiling trees method - partitioning the solution space systematically. Use physics/math-oriented splits when possible.", inputSchema: { type: "object", properties: { tileId: { type: "string", description: "ID of the tile to split", }, splitAttribute: { type: "string", description: "The attribute/dimension used to split (e.g., 'energy source', 'scale', 'physical mechanism', 'timeframe')", }, splitRationale: { type: "string", description: "Why this attribute was chosen for splitting", }, subsets: { type: "array", items: { type: "object", properties: { title: { type: "string" }, description: { type: "string", description: "Precise definition of this subset to ensure no overlap with siblings", }, isLeaf: { type: "boolean", description: "True if this is a concrete idea/project (leaf node)", }, }, required: ["title", "description"], }, description: "The mutually exclusive and collectively exhaustive subsets", }, }, required: ["tileId", "splitAttribute", "splitRationale", "subsets"], }, },
  • MCP server handler case for split_tile tool call, which delegates to treeManager.splitTile and returns JSON result.
    case "split_tile": { const result = treeManager.splitTile( args.tileId as string, args.splitAttribute as string, args.splitRationale as string, args.subsets as any[] ); return { content: [ { type: "text", text: JSON.stringify(result, null, 2), }, ], }; }
  • src/index.ts:393-395 (registration)
    Registration of all tools including split_tile via ListToolsRequestSchema handler returning the TOOLS array.
    server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: TOOLS, }));

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/k-chrispens/tiling-trees-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server