MCP 서버

Extrabold Tools Gridfinity

tools.extrabold/gridfinity
디자인 및 크리에이티브 IoT 및 하드웨어 공개 · 연결 가능 MCP 2025-11-25

이 MCP로 할 수 있는 일

Finds Gridfinity drawer presets and generates printer-aware baseplate configurations and shareable URLs.

create_gridfinity_baseplate_url
Create Gridfinity Baseplate URL
Create a shareable Extrabold Tools Gridfinity baseplate URL from exact baseplate settings. Use generate_gridfinity_grid when the user asks for a grid by rows and columns.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'printer': {'type': 'object', 'required': ['buildWidth', 'buildDepth', 'buildHeight'], 'properties': {'name': {'type': 'string', 'default': 'MCP printer', 'maxLength': 100, 'minLength': 1}, 'buildDepth': {'type': 'number', 'maximum': 3000, 'exclusiveMinimum': 0}, 'buildWidth': {'type': 'number', 'maximum': 3000, 'exclusiveMinimum': 0}, 'buildHeight': {'type': 'number', 'maximum': 3000, 'exclusiveMinimum': 0}}}, 'version': {'type': 'string', 'default': '0.5.21'}, 'tolerance': {'type': 'string', 'default': 'standard'}, 'topCutoff': {'type': 'number', 'default': 0.4, 'minimum': 0}, 'dimensions': {'type': 'object', 'default': {'depth': 126, 'width': 126}, 'properties': {'depth': {'type': 'number', 'default': 126, 'exclusiveMinimum': 0}, 'width': {'type': 'number', 'default': 126, 'exclusiveMinimum': 0}}}, 'linkOrigin': {'type': 'string', 'default': 'mcp', 'pattern': '^[a-z0-9_-]+$', 'description': 'Link origin tag added as the org query parameter for attribution.'}, 'marginType': {'type': 'string', 'default': 'solid'}, 'sizingMode': {'type': 'string', 'default': 'direct'}, 'borderRadius': {'type': 'number', 'default': 4, 'minimum': 0}, 'magnetHeight': {'type': 'number', 'default': 2, 'exclusiveMinimum': 0}, 'showAdvanced': {'type': 'boolean', 'default': False}, 'baseplateType': {'type': 'string', 'default': 'normal'}, 'bottomChamfer': {'type': 'number', 'default': 0, 'minimum': 0}, 'bottomPadding': {'type': 'number', 'default': 0, 'minimum': 0}, 'gridAlignment': {'type': 'object', 'default': {'offsetX': 0, 'offsetY': 0, 'alignment': 'center'}, 'properties': {'offsetX': {'type': 'number', 'default': 0}, 'offsetY': {'type': 'number', 'default': 0}, 'alignment': {'type': 'string', 'default': 'center'}}}, 'gridUnitDepth': {'type': 'number', 'default': 42, 'exclusiveMinimum': 0}, 'gridUnitWidth': {'type': 'number', 'default': 42, 'exclusiveMinimum': 0}, 'plateMarginMm': {'type': 'number', 'default': 10, 'minimum': 0}, 'screwHeadSize': {'type': 'number', 'default': 6, 'exclusiveMinimum': 0}, 'screwHoleSize': {'type': 'number', 'default': 3, 'exclusiveMinimum': 0}, 'splitStrategy': {'type': 'string', 'default': 'fewerParts'}, 'toggleMagnets': {'type': 'boolean', 'default': False}, 'magnetDiameter': {'type': 'number', 'default': 6, 'exclusiveMinimum': 0}, 'partsConnector': {'type': 'string', 'default': 'none'}, 'pieceSpacingMm': {'type': 'number', 'default': 3, 'minimum': 0}, 'advancedWarning': {'type': 'string', 'default': ''}, 'magnetDirection': {'type': 'string', 'default': 'top'}, 'magnetHoleStyle': {'type': 'string', 'default': 'cylinder'}, 'splitOffMargins': {'type': 'boolean', 'default': False}, 'magnetBaseHeight': {'type': 'number', 'default': 2.8, 'minimum': 0}, 'toggleScrewHoles': {'type': 'boolean', 'default': False}, 'containerPresetId': {'type': 'string', 'default': ''}, 'outerBorderRadius': {'type': 'number', 'default': 4, 'minimum': 0}, 'edgeConnectorSides': {'type': 'object', 'default': {'back': True, 'left': True, 'front': True, 'right': True}, 'properties': {'back': {'type': 'boolean', 'default': True}, 'left': {'type': 'boolean', 'default': True}, 'front': {'type': 'boolean', 'default': True}, 'right': {'type': 'boolean', 'default': True}}}, 'enablePlateNesting': {'type': 'boolean', 'default': False}, 'splitToBuildplates': {'type': 'boolean', 'default': False}, 'enableEdgeConnectors': {'type': 'boolean', 'default': False}, 'removeHolesOnSplitLines': {'type': 'boolean', 'default': True}, 'toggleMagnetReleaseHole': {'type': 'boolean', 'default': False}, 'overrideMaxOuterBorderRadius': {'type': 'boolean', 'default': False}}}
find_gridfinity_drawer_presets
Find Gridfinity Drawer Presets
Find usable Extrabold Tools drawer presets and exact Eurobox or KLT models by product name, brand, product line, dimensions, or article number.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 20, 'exclusiveMinimum': 0}, 'query': {'type': 'string', 'minLength': 1, 'description': 'Drawer, exact Eurobox, or exact KLT name; brand; product line; article number; dimensions; or other search text.'}}}
generate_gridfinity_drawer_baseplate
Generate Gridfinity Drawer Baseplate
Generate a Gridfinity baseplate sized to a known drawer preset. Supply measured drawer dimensions when available and the printer build volume; the tool automatically enables build-plate splitting when the baseplate does not fit.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['drawerPresetId', 'printerBuildVolume'], 'properties': {'version': {'type': 'string', 'default': '0.5.21'}, 'tolerance': {'type': 'string', 'default': 'standard'}, 'linkOrigin': {'type': 'string', 'default': 'mcp', 'pattern': '^[a-z0-9_-]+$'}, 'marginType': {'type': 'string', 'default': 'solid'}, 'borderRadius': {'type': 'number', 'default': 4, 'minimum': 0}, 'magnetHeight': {'type': 'number', 'default': 2, 'exclusiveMinimum': 0}, 'baseplateType': {'enum': ['normal', 'tray', 'skeleton', 'clickbase'], 'type': 'string', 'default': 'normal'}, 'gridUnitDepth': {'type': 'number', 'default': 42, 'exclusiveMinimum': 0}, 'gridUnitWidth': {'type': 'number', 'default': 42, 'exclusiveMinimum': 0}, 'plateMarginMm': {'type': 'number', 'default': 10, 'minimum': 0}, 'screwHeadSize': {'type': 'number', 'default': 6, 'exclusiveMinimum': 0}, 'screwHoleSize': {'type': 'number', 'default': 3, 'exclusiveMinimum': 0}, 'splitStrategy': {'enum': ['fewerParts', 'balanced', 'tJunctions'], 'type': 'string', 'default': 'fewerParts'}, 'toggleMagnets': {'type': 'boolean', 'default': False}, 'drawerPresetId': {'type': 'string', 'minLength': 1, 'description': 'Exact preset id returned by find_gridfinity_drawer_presets.'}, 'magnetDiameter': {'type': 'number', 'default': 6, 'exclusiveMinimum': 0}, 'partsConnector': {'type': 'string', 'default': 'none'}, 'magnetDirection': {'enum': ['top', 'bottom'], 'type': 'string', 'default': 'top'}, 'magnetHoleStyle': {'enum': ['cylinder', 'crush-rib'], 'type': 'string', 'default': 'cylinder'}, 'splitOffMargins': {'type': 'boolean', 'default': False, 'description': 'Create outer margins as separate strips while keeping corners attached to top or bottom strips.'}, 'toggleScrewHoles': {'type': 'boolean', 'default': False}, 'measuredDimensions': {'type': 'object', 'required': ['width', 'depth'], 'properties': {'depth': {'type': 'number', 'maximum': 3000, 'exclusiveMinimum': 0}, 'width': {'type': 'number', 'maximum': 3000, 'exclusiveMinimum': 0}, 'height': {'type': 'number', 'maximum': 3000, 'exclusiveMinimum': 0}}, 'description': 'Measured drawer interior dimensions in millimeters. These override the approximate preset dimensions.'}, 'printerBuildVolume': {'type': 'object', 'required': ['width', 'depth', 'height'], 'properties': {'name': {'type': 'string', 'default': 'MCP printer', 'maxLength': 100, 'minLength': 1}, 'depth': {'type': 'number', 'maximum': 3000, 'description': 'Printer build depth in millimeters.', 'exclusiveMinimum': 0}, 'width': {'type': 'number', 'maximum': 3000, 'description': 'Printer build width in millimeters.', 'exclusiveMinimum': 0}, 'height': {'type': 'number', 'maximum': 3000, 'description': 'Printer build height in millimeters.', 'exclusiveMinimum': 0}}, 'description': 'The printer build volume used to decide whether this drawer-sized baseplate must be split.'}, 'splitToBuildplates': {'type': 'boolean', 'description': 'Override the automatic printer-fit split decision.'}, 'removeHolesOnSplitLines': {'type': 'boolean', 'default': True}, 'toggleMagnetReleaseHole': {'type': 'boolean', 'default': False}}}
generate_gridfinity_grid
Generate Gridfinity Grid
Generate a Gridfinity baseplate grid by columns and rows, returning the calculated millimeter dimensions and a shareable Extrabold Tools URL.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['columns', 'rows'], 'properties': {'rows': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Number of Gridfinity rows across the depth.', 'exclusiveMinimum': 0}, 'columns': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Number of Gridfinity columns across the width.', 'exclusiveMinimum': 0}, 'version': {'type': 'string', 'default': '0.5.21'}, 'tolerance': {'type': 'string', 'default': 'standard'}, 'linkOrigin': {'type': 'string', 'default': 'mcp', 'pattern': '^[a-z0-9_-]+$', 'description': 'Link origin tag added as the org query parameter for attribution.'}, 'marginType': {'type': 'string', 'default': 'solid'}, 'borderRadius': {'type': 'number', 'default': 4, 'minimum': 0}, 'magnetHeight': {'type': 'number', 'default': 2, 'description': 'Height or thickness of the magnets in millimeters.', 'exclusiveMinimum': 0}, 'baseplateType': {'enum': ['normal', 'tray', 'skeleton', 'clickbase'], 'type': 'string', 'default': 'normal', 'description': 'Baseplate style to generate.'}, 'gridUnitDepth': {'type': 'number', 'default': 42, 'description': 'Depth of one grid unit in millimeters. Standard Gridfinity uses 42.', 'exclusiveMinimum': 0}, 'gridUnitWidth': {'type': 'number', 'default': 42, 'description': 'Width of one grid unit in millimeters. Standard Gridfinity uses 42.', 'exclusiveMinimum': 0}, 'plateMarginMm': {'type': 'number', 'default': 10, 'minimum': 0}, 'screwHeadSize': {'type': 'number', 'default': 6, 'description': 'Diameter of the screw head in millimeters.', 'exclusiveMinimum': 0}, 'screwHoleSize': {'type': 'number', 'default': 3, 'description': 'Diameter of the screw shaft in millimeters.', 'exclusiveMinimum': 0}, 'splitStrategy': {'type': 'string', 'default': 'fewerParts'}, 'toggleMagnets': {'type': 'boolean', 'default': False}, 'magnetDiameter': {'type': 'number', 'default': 6, 'description': 'Diameter of the magnets in millimeters.', 'exclusiveMinimum': 0}, 'partsConnector': {'type': 'string', 'default': 'none'}, 'magnetDirection': {'enum': ['top', 'bottom'], 'type': 'string', 'default': 'top', 'description': 'Which side of the baseplate magnets are inserted from.'}, 'magnetHoleStyle': {'enum': ['cylinder', 'crush-rib'], 'type': 'string', 'default': 'cylinder', 'description': 'Round holes are sized with the magnet diameter. Crush ribs use a wavy profile with flexible ribs that grip the magnet.'}, 'splitOffMargins': {'type': 'boolean', 'default': False, 'description': 'Create outer margins as separate strips while keeping corners attached to top or bottom strips.'}, 'toggleScrewHoles': {'type': 'boolean', 'default': False}, 'printerBuildVolume': {'type': 'object', 'required': ['width', 'depth', 'height'], 'properties': {'name': {'type': 'string', 'default': 'MCP printer', 'maxLength': 100, 'minLength': 1}, 'depth': {'type': 'number', 'maximum': 3000, 'description': 'Printer build depth in millimeters.', 'exclusiveMinimum': 0}, 'width': {'type': 'number', 'maximum': 3000, 'description': 'Printer build width in millimeters.', 'exclusiveMinimum': 0}, 'height': {'type': 'number', 'maximum': 3000, 'description': 'Printer build height in millimeters.', 'exclusiveMinimum': 0}}}, 'splitToBuildplates': {'type': 'boolean', 'description': 'Override automatic printer-fit splitting. When omitted with a printer build volume, splitting is enabled only when needed.'}, 'removeHolesOnSplitLines': {'type': 'boolean', 'default': True, 'description': 'Remove screw holes that fall on split edges.'}, 'toggleMagnetReleaseHole': {'type': 'boolean', 'default': False, 'description': 'Add through-holes so magnets can be pushed back out from the opposite side.'}}}
get_gridfinity_grid_questions
Get Gridfinity Grid Questions
Return the next Gridfinity baseplate configuration questions to ask, using Extrabold Tools setting descriptions and dependencies.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'rows': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'columns': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'version': {'type': 'string'}, 'tolerance': {'type': 'string'}, 'linkOrigin': {'type': 'string', 'pattern': '^[a-z0-9_-]+$'}, 'marginType': {'type': 'string'}, 'borderRadius': {'type': 'number', 'minimum': 0}, 'magnetHeight': {'type': 'number', 'exclusiveMinimum': 0}, 'baseplateType': {'enum': ['normal', 'tray', 'skeleton', 'clickbase'], 'type': 'string'}, 'gridUnitDepth': {'type': 'number', 'exclusiveMinimum': 0}, 'gridUnitWidth': {'type': 'number', 'exclusiveMinimum': 0}, 'plateMarginMm': {'type': 'number', 'minimum': 0}, 'screwHeadSize': {'type': 'number', 'exclusiveMinimum': 0}, 'screwHoleSize': {'type': 'number', 'exclusiveMinimum': 0}, 'splitStrategy': {'type': 'string'}, 'toggleMagnets': {'type': 'boolean'}, 'magnetDiameter': {'type': 'number', 'exclusiveMinimum': 0}, 'partsConnector': {'type': 'string'}, 'magnetDirection': {'enum': ['top', 'bottom'], 'type': 'string'}, 'magnetHoleStyle': {'enum': ['cylinder', 'crush-rib'], 'type': 'string'}, 'splitOffMargins': {'type': 'boolean'}, 'toggleScrewHoles': {'type': 'boolean'}, 'splitToBuildplates': {'type': 'boolean'}, 'removeHolesOnSplitLines': {'type': 'boolean'}, 'toggleMagnetReleaseHole': {'type': 'boolean'}}}
추가됨
create_gridfinity_baseplate_url
2026년 9월 17일 12:55 PM
추가됨
generate_gridfinity_grid
2026년 9월 17일 12:55 PM
추가됨
get_gridfinity_grid_questions
2026년 9월 17일 12:55 PM
추가됨
generate_gridfinity_drawer_baseplate
2026년 9월 17일 12:55 PM
추가됨
find_gridfinity_drawer_presets
2026년 9월 17일 12:55 PM