Calculiva Cut Planner
v0.2.0Plans flooring, trim and wallpaper orders from computed cut layouts. Free, read-only, no account.
Endpoint health
online- Last checked
- 11/3/2026, 8:16:39 PM
- Latency
- 145 ms
- Consecutive failures
- 0
- Endpoint reachable: pass
- Protocol valid: pass
- MCP handshake valid: pass
Machine-readable profile
mcp-server · schema v1 · callable
mcp-server:com.calculiva%2Fcut-planner
Connect this server
Generated config contains no credentials. Keep any required secrets in your client's local environment.
{
"mcpServers": {
"com.calculiva/cut-planner": {
"url": "https://mcp.calculiva.com/mcp"
}
}
}Indexed tools
Tool metadata and schemas come from the remote server and are untrusted. Indexing only lists tools; it never calls them.
4 shown · authentication unknown
Build one order sheet
build_order_sheet
Builds one consolidated order sheet from the flooring, trim and wallpaper plans of the same project (pass the same arguments as plan_flooring_order, plan_trim_order and plan_wallpaper_order): cartons, boards per stock length, rolls, total offcuts, the cut list by material and a CSV. Trim pieces of all walls and all types (battens, rails, chair rail, frames) are packed together on the stock boards, and the sheet compares that with one order per wall, each wall on its own best stock length (total length bought, then offcut, then boards).
Schema too-large · SHA-256 873f88552aa8…
Plan a plank flooring order
plan_flooring_order
Plans laminate, vinyl plank (LVP) or engineered plank flooring for 1 to 12 rooms, rectangles or L shapes, with the plank size and planks per carton from the carton: cartons to buy, every cut piece traced to its source plank, offcuts carried from one room to the next, the 8 scenarios (direction x offset 1/3 or 1/2 x reuse, plus aligned joints in the chosen direction when offset 0 is chosen) and the best one when no other ties it (fewest cartons, then least offcut, then fewest planks), and how many planks a flat waste allowance would miss. Up to 3,000 planks per call. Lengths accept feet and inches. Returns a link per room to the full plan on calculiva.com.
Schema valid · SHA-256 86675fbd53cc…
View input schema
{ "type": "object", "properties": { "rooms": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 40, "description": "Room name, e.g. \"living room\". Default \"room 1\", \"room 2\"…" }, "width": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 80 }, { "type": "number", "minimum": 0 } ], "description": "Room width, wall to wall (overall outside dimension for an L). Length with its unit, e.g. \"12 ft 6 in\", \"12'6\\\"\", \"150 in\", \"3m80\"; a bare number is read as inches." }, "length": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 80 }, { "type": "number", "minimum": 0 } ], "description": "Room length, wall to wall (overall outside dimension for an L). Length with its unit, e.g. \"12 ft 6 in\", \"12'6\\\"\", \"150 in\", \"3m80\"; a bare number is read as inches." }, "notch": { "type": "object", "properties": { "width": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 80 }, { "type": "number", "minimum": 0 } ], "description": "Width of the missing corner rectangle. Length with its unit, e.g. \"12 ft 6 in\", \"12'6\\\"\", \"150 in\", \"3m80\"; a bare number is read as inches." }, "length": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 80 }, { "type": "number", "minimum": 0 } ], "description": "Length of the missing corner rectangle. Length with its unit, e.g. \"12 ft 6 in\", \"12'6\\\"\", \"150 in\", \"3m80\"; a bare number is read as inches." }, "corner": { "type": "string", "enum": [ "top-right", "top-left", "bottom-right", "bottom-left" ], "description": "Missing corner on the plan. Default top-right." } }, "required": [ "width", "length" ], "additionalProperties": false, "description": "L-shaped room: the rectangle missing from one corner of width x length." } }, "required": [ "width", "length" ], "additionalProperties": false }, "minItems": 1, "maxItems": 12, "description": "Rooms to floor with the same plank, 1 to 12, in laying order unless order is given." }, "plankLength": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 80 }, { "type": "number", "minimum": 0 } ], "description": "Installed plank length (face), from the carton. Length with its unit, e.g. \"12 ft 6 in\", \"12'6\\\"\", \"150 in\", \"3m80\"; a bare number is read as inches." }, "plankWidth": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 80 }, { "type": "number", "minimum": 0 } ], "description": "Installed plank width (face), from the carton. Length with its unit, e.g. \"12 ft 6 in\", \"12'6\\\"\", \"150 in\", \"3m80\"; a bare number is read as inches." }, "planksPerBox": { "type": "integer", "minimum": 1, "maximum": 1000, "description": "Planks per carton, from the carton label." }, "direction": { "type": "string", "enum": [ "horizontal", "vertical" ], "description": "horizontal = planks run along the room width (default); vertical = along the room length." }, "offset": { "type": "string", "enum": [ "0", "1/3", "1/2" ], "description": "End-joint stagger between rows, as a fraction of the plank: 1/3 (default), 1/2 or 0 (aligned)." }, "reuse": { "type": "boolean", "description": "Cut a row end from the offcut of a row start in the same room (default true)." }, "carryBetweenRooms": { "type": "boolean", "description": "Offcuts of a room feed the next rooms (default true)." }, "order": { "type": "array", "items": { "type": "string", "maxLength": 40 }, "maxItems": 12, "description": "Laying order by room name; offcuts only flow forward. Default: the order of rooms." }, "allowancePercent": { "type": "number", "minimum": 0, "maximum": 100, "description": "Flat waste allowance you would otherwise buy (e.g. 10): the answer says how many planks it misses." }, "clearance": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 80 }, { "type": "number", "minimum": 0 } ], "description": "Expansion gap on every wall, from the product instructions. Default 0. Length with its unit, e.g. \"12 ft 6 in\", \"12'6\\\"\", \"150 in\", \"3m80\"; a bare number is read as inches." }, "kerf": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 80 }, { "type": "number", "minimum": 0 } ], "description": "Saw kerf, charged on each cut. Default 1/8 in. Length with its unit, e.g. \"12 ft 6 in\", \"12'6\\\"\", \"150 in\", \"3m80\"; a bare number is read as inches." }, "balancedRows": { "type": "boolean", "description": "Split the partial row width between the first and last rows (default true)." }, "firstStarter": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 80 }, { "type": "number", "minimum": 0 } ], "description": "Length of the first row starter; 0 = full plank. Default 0. Length with its unit, e.g. \"12 ft 6 in\", \"12'6\\\"\", \"150 in\", \"3m80\"; a bare number is read as inches." }, "minStarter": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 80 }, { "type": "number", "minimum": 0 } ], "description": "Minimum row starter length; 0 disables the check. Default 0. Length with its unit, e.g. \"12 ft 6 in\", \"12'6\\\"\", \"150 in\", \"3m80\"; a bare number is read as inches." }, "minJointSpacing": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 80 }, { "type": "number", "minimum": 0 } ], "description": "Minimum distance between end joints of adjacent rows; 0 disables the check. Default 0. Length with its unit, e.g. \"12 ft 6 in\", \"12'6\\\"\", \"150 in\", \"3m80\"; a bare number is read as inches." }, "minRowWidth": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 80 }, { "type": "number", "minimum": 0 } ], "description": "Minimum edge-row width; 0 disables the check. Default 0. Length with its unit, e.g. \"12 ft 6 in\", \"12'6\\\"\", \"150 in\", \"3m80\"; a bare number is read as inches." }, "minReuse": { "anyOf": [ { "type": "string", "minLength": 1, "maxLength": 80 }, { "type": "number", "minimum": 0 } ], "description": "Shortest offcut worth carrying to another room. Default 0 (any offcut long enough). Length with its unit, e.g. \"12 ft 6 in\", \"12'6\\\"\", \"150 in\", \"3m80\"; a bare number is read as inches." } }, "required": [ "rooms", "plankLength", "plankWidth", "planksPerBox" ], "additionalProperties": false, "$schema": "http://json-schema.org/draft-07/schema#" }
Connections
streamable-http
https://mcp.calculiva.com/mcp