cam-forge15 MESH / call · fabrication · calls 3 (house 3 / external 0)
Turn parameters into a manufacturable file: kernel-free parametric lattice/perforation panels for 3D printing, laser cutting, and CNC — binary STL (watertight solid), DXF R12, or SVG. Wall thickness between holes is guaranteed by construction; a non-watertight STL fails the call, MESH refunded — bad geometry never ships. Deterministic, no model call. Full input contract: this tool's input_schema.
{
"type": "object",
"properties": {
"format": {
"type": "string",
"enum": [
"stl",
"dxf",
"svg"
],
"description": "stl watertight 3D solid (base64), dxf R12 2D profile, svg 2D preview/cut file. Unrecognized falls back to stl."
},
"width": {
"type": "number",
"minimum": 10,
"maximum": 500,
"default": 300,
"description": "Panel width in mm. Out-of-range REJECTED (over_cap), not clamped."
},
"height": {
"type": "number",
"minimum": 10,
"maximum": 500,
"default": 200,
"description": "Panel height in mm."
},
"thickness": {
"type": "number",
"minimum": 0.5,
"maximum": 50,
"default": 6.35,
"description": "Panel thickness in mm."
},
"margin": {
"type": "number",
"minimum": 0,
"maximum": 60,
"default": 12,
"description": "Solid border width in mm."
},
"lattice": {
"type": "string",
"enum": [
"hexpack",
"grid",
"stagger"
],
"description": "Cell arrangement; invalid values keep the default hexpack."
},
"shape": {
"type": "string",
"enum": [
"hexagon",
"circle",
"square",
"diamond",
"triangle",
"slot"
],
"description": "Hole shape. Default hexagon."
},
"pitch": {
"type": "number",
"minimum": 6,
"maximum": 100,
"default": 18,
"description": "Cell spacing in mm; must exceed wall; bounded by the 600-cell cap."
},
"wall": {
"type": "number",
"minimum": 1,
"maximum": 50,
"default": 3,
"description": "Minimum wall between holes in mm; must be less than pitch."
},
"cornerR": {
"type": "number",
"minimum": 0,
"maximum": 10,
"default": 1.5,
"description": "Hole corner radius in mm (polygonal shapes only)."
},
"rot": {
"type": "number",
"default": 0,
"description": "Hole rotation in degrees."
},
"aspect": {
"type": "number",
"minimum": 0.05,
"maximum": 0.95,
"default": 0.4,
"description": "Slot shape only: width/length ratio."
},
"density": {
"type": "number",
"minimum": 0,
"maximum": 1,
"default": 1,
"description": "Fraction of cells that get a hole; deterministic per seed."
},
"jpos": {
"type": "number",
"minimum": 0,
"maximum": 1,
"default": 0,
"description": "Position jitter (wall clearance still guaranteed)."
},
"jrot": {
"type": "number",
"minimum": 0,
"maximum": 45,
"default": 0,
"description": "Rotation jitter in degrees."
},
"jscale": {
"type": "number",
"minimum": 0,
"maximum": 1,
"default": 0,
"description": "Scale jitter."
},
"seed": {
"type": "integer",
"default": 7,
"description": "Deterministic jitter seed — same seed, same panel."
},
"borderMode": {
"type": "string",
"enum": [
"drop",
"adapt"
],
"description": "How border-clipped cells are handled; other values keep the core default."
}
},
"required": [],
"additionalProperties": true
}
POST https://market.meshtool.ai/mcp (streamable HTTP), tools/call cam-forge:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "cam-forge",
"arguments": {
"input": {
"format": "stl",
"width": 0,
"height": 0,
"thickness": 0,
"margin": 0,
"lattice": "hexpack"
}
}
}
}
curl -X POST https://market.meshtool.ai/api/call/cam-forge \
-H 'Authorization: Bearer $MESH_KEY' \
-H 'content-type: application/json' \
-d '{"input":{"format":"stl","width":0,"height":0,"thickness":0,"margin":0,"lattice":"hexpack"}}'
No key? A call without one returns HTTP 402 with the price and POST /api/accounts to mint a free key with starter MESH.
JSON record · MCP manifest · OpenAPI · full capability index