Extrabold Tools Gridfinity
Server Details
Find drawer presets and create printer-aware Gridfinity baseplate configurations.
- Status
- Healthy
- Uptime
- 100.0% over 73 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 7 tools
Several generation tools overlap: generate_gridfinity_baseplate, generate_gridfinity_drawer_baseplate, generate_gridfinity_grid, and create_gridfinity_baseplate_url all produce or share Gridfinity baseplate configurations. Descriptions clarify the input differences (dimensions vs. drawer preset vs. rows/columns vs. URL-only), but an agent could still confuse the URL-only tool with the generators that already return URLs.
All seven names use consistent snake_case and follow a predictable verb_domain_noun pattern: create_, find_, generate_, and get_ prefixes are used systematically. The shared 'gridfinity' domain token keeps the set coherent and easy to scan.
Seven tools is a well-scoped set for a Gridfinity baseplate configuration assistant. Lookup, generation, sharing, and question-flow tools each have a plausible role, and the count avoids both thinness and bloat.
The set covers printer lookup, drawer preset lookup, dimension-based generation, drawer-based generation, grid-based generation, URL creation, and configuration question prompting. Minor gaps remain, such as no explicit tool for validating or loading a saved configuration, but the core generation workflow is complete.
Available Tools
7 toolscreate_gridfinity_baseplate_urlCreate Gridfinity Baseplate URLBRead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| printer | No | ||
| version | No | 5.3 | |
| tolerance | No | Experimental fit setting saved per printer. For dovetails, 0 mm gives the largest male tab; higher values make it smaller, up to 0.5 mm. Also affects CLICKbase clips and magnet holes. Print the tolerance test package to choose a dovetail fit. Normal bin pockets keep fixed geometry; the included bin-fit sample is a reference check. Values: none = 0 mm, tight = 0.1 mm, standard = 0.2 mm, loose = 0.3 mm, very-loose = 0.4 mm, extra-loose = 0.5 mm. | standard |
| topCutoff | No | ||
| dimensions | No | ||
| linkOrigin | No | Link origin tag added as the org query parameter for attribution. | mcp |
| marginType | No | solid | |
| sizingMode | No | direct | |
| borderRadius | No | ||
| magnetHeight | No | ||
| showAdvanced | No | ||
| baseplateType | No | normal | |
| bottomChamfer | No | ||
| bottomPadding | No | ||
| gridAlignment | No | ||
| gridUnitDepth | No | ||
| gridUnitWidth | No | ||
| plateMarginMm | No | ||
| screwHeadSize | No | ||
| screwHoleSize | No | ||
| splitStrategy | No | fewerParts | |
| toggleMagnets | No | ||
| magnetDiameter | No | ||
| partsConnector | No | Experimental dovetails interlock split pieces without separate parts and use your printer tolerance for male tabs. They require Split to Build Plates and work with all baseplate types. Clips connect split seams and optional outer edges; the printable clip model is included (not compatible with Skeleton). | none |
| pieceSpacingMm | No | ||
| advancedWarning | No | ||
| magnetDirection | No | top | |
| magnetHoleStyle | No | cylinder | |
| splitOffMargins | No | ||
| magnetBaseHeight | No | ||
| toggleScrewHoles | No | ||
| containerPresetId | No | ||
| outerBorderRadius | No | ||
| edgeConnectorSides | No | ||
| enablePlateNesting | No | ||
| splitToBuildplates | No | ||
| enableEdgeConnectors | No | ||
| connectMarginCrossings | No | Also place a dovetail wherever a split edge crosses from grid cells into a margin region. Off: dovetails only at cell-to-cell crossings. | |
| removeHolesOnSplitLines | No | ||
| toggleMagnetReleaseHole | No | ||
| overrideMaxOuterBorderRadius | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds only that the URL is 'shareable' and derived from exact settings; it does not say whether anything is uploaded or persisted, whether the URL is stateless, or how it round-trips settings. Adequate but thin given the annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the core action and followed by a routing cue, with no filler. It is appropriately sized, though the second sentence spends its budget on only one alternative rather than the most relevant one.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 41-parameter, nested-object tool with no output schema and 10% schema coverage needs far more explanation of inputs and of what the produced URL contains. The description omits parameter guidance entirely and does not state the return value (a URL string) or its relationship to the sibling generator tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 41 parameters at only 10% schema description coverage, the description must carry the explanatory burden, and it does not: it says only 'exact baseplate settings' without explaining any parameter groups, units, or the printer/tolerance implications. The phrase 'exact settings' does hint at full-fidelity round-tripping, which is marginally useful, but the vast parameter surface is undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (create a shareable Gridfinity baseplate URL) and the input basis (exact baseplate settings), which is clearly distinct from a generator that outputs geometry. It names one sibling and the condition for it, but oddly routes to generate_gridfinity_grid rather than the more closely related generate_gridfinity_baseplate, leaving some ambiguity about which generating tool this URL complements.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides one explicit routing rule: use generate_gridfinity_grid when the user asks for a grid by rows and columns. However, it never clarifies when to prefer this URL tool over generate_gridfinity_baseplate, which presumably consumes the same settings, so the primary selection decision is left inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_gridfinity_drawer_presetsFind Gridfinity Drawer PresetsBRead-onlyIdempotentInspect
Find usable Extrabold Tools drawer presets and exact Eurobox or KLT models by product name, brand, product line, dimensions, or article number.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | Drawer, exact Eurobox, or exact KLT name; brand; product line; article number; dimensions; or other search text. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=false, so the safety profile is covered. The description adds scoping context ('usable' presets, 'exact' models), but does not describe filtering behavior, result limits, or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence enumerates scope and search fields with no filler. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only search tool with annotations covering safety and no output schema, the description is nearly complete: it names the resource and all search dimensions. The only gap is that limit/pagination behavior is not mentioned, which is a minor omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is exactly 50%: the query field is well documented in the schema, and the description repeats essentially the same searchable fields without adding syntax or format details. The limit parameter is undocumented in both schema description and tool description, leaving its behavior (max 20, default 10) unexplained beyond the raw JSON constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Find) and resource (drawer presets, Eurobox/KLT models) with the searchable fields enumerated. The distinction from sibling generate_* tools is clear from the verb, though no alternative is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what can be searched, but gives no guidance on when to use this tool instead of find_gridfinity_printers or the generate_* siblings. No prerequisites, exclusions, or alternative-selection context are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_gridfinity_printersFind Gridfinity PrintersARead-onlyIdempotentInspect
Look up a named 3D printer in the Extrabold Tools catalog. Returns exact model IDs and printerBuildVolume objects ready for generation tools. Ask the user to choose when several models match.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | Printer model, brand, or exact catalog ID, such as Bambu Lab P2S. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, idempotent, closed-world read, so the safety profile is covered. The description adds real behavioral value beyond that: what comes back ('exact model IDs and printerBuildVolume objects') and the disambiguation rule for ambiguous matches. It says nothing about the limit/pagination behavior of a capped lookup.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with zero filler, front-loaded with the lookup action before the return payload and the ambiguity rule. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully names the returned artifacts (model IDs, printerBuildVolume objects) and covers the multi-match case. Minor gaps remain: the search granularity implied by 'limit' and the no-match behavior are unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: 'query' is well documented with examples in the schema itself, while 'limit' is undocumented in both schema and description. The description implies name-based lookup but adds no syntax or interpretation guidance beyond the schema's own example.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Look up a named 3D printer in the Extrabold Tools catalog') and distinguishes itself implicitly from the generate_* siblings by framing its output as input for generation tools. It never names a specific sibling to route away from, so it stops short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context for use: this resolves model IDs and build-volume objects 'ready for generation tools,' and it instructs the agent to ask the user to choose when multiple models match. It offers no explicit when-not or named alternative, so it is context without exclusions rather than a routing rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_gridfinity_baseplateGenerate Gridfinity Baseplate from MeasurementsARead-onlyIdempotentInspect
Configure a Gridfinity baseplate from exact width and depth in millimeters, without a drawer preset. Returns the full-unit grid, leftover margins, printer fit, warnings, and a website URL. Supply printerBuildVolume from find_gridfinity_printers to enable automatic splitting.
| Name | Required | Description | Default |
|---|---|---|---|
| version | No | 5.3 | |
| tolerance | No | Experimental fit setting saved per printer. For dovetails, 0 mm gives the largest male tab; higher values make it smaller, up to 0.5 mm. Also affects CLICKbase clips and magnet holes. Print the tolerance test package to choose a dovetail fit. Normal bin pockets keep fixed geometry; the included bin-fit sample is a reference check. Values: none = 0 mm, tight = 0.1 mm, standard = 0.2 mm, loose = 0.3 mm, very-loose = 0.4 mm, extra-loose = 0.5 mm. | standard |
| dimensions | Yes | Measured interior or desired baseplate width and depth in millimeters. | |
| linkOrigin | No | Link origin tag added as the org query parameter for attribution. | mcp |
| marginType | No | solid | |
| borderRadius | No | ||
| magnetHeight | No | Height or thickness of the magnets in millimeters. | |
| baseplateType | No | Baseplate style to generate. | normal |
| gridAlignment | No | ||
| gridUnitDepth | No | Depth of one grid unit in millimeters. Standard Gridfinity uses 42. | |
| gridUnitWidth | No | Width of one grid unit in millimeters. Standard Gridfinity uses 42. | |
| plateMarginMm | No | ||
| screwHeadSize | No | Diameter of the screw head in millimeters. | |
| screwHoleSize | No | Diameter of the screw shaft in millimeters. | |
| splitStrategy | No | fewerParts | |
| toggleMagnets | No | ||
| magnetDiameter | No | Diameter of the magnets in millimeters. | |
| partsConnector | No | Experimental dovetails interlock split pieces without separate parts and use your printer tolerance for male tabs. They require Split to Build Plates and work with all baseplate types. Clips connect split seams and optional outer edges; the printable clip model is included (not compatible with Skeleton). | none |
| magnetDirection | No | Which side of the baseplate magnets are inserted from. | top |
| magnetHoleStyle | No | Round holes are sized with the magnet diameter. Crush ribs use a wavy profile with flexible ribs that grip the magnet. | cylinder |
| splitOffMargins | No | Create outer margins as separate strips while keeping corners attached to top or bottom strips. | |
| toggleScrewHoles | No | ||
| edgeConnectorSides | No | ||
| printerBuildVolume | No | ||
| splitToBuildplates | No | Override automatic printer-fit splitting. When omitted with a printer build volume, splitting is enabled only when needed. | |
| enableEdgeConnectors | No | ||
| connectMarginCrossings | No | Also place a dovetail wherever a split edge crosses from grid cells into a margin region. Off: dovetails only at cell-to-cell crossings. | |
| removeHolesOnSplitLines | No | Remove screw holes that fall on split edges. | |
| toggleMagnetReleaseHole | No | Add through-holes so magnets can be pushed back out from the opposite side. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false, so the safety profile is covered. The description adds real behavioral value beyond that: it enumerates what is returned (full-unit grid, leftover margins, printer fit, warnings, URL) and explains the conditional splitting trigger tied to printerBuildVolume. It stops short of covering validation failures or the meaning of warnings.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, no filler. The core scope constraint is front-loaded in the first sentence, output contents second, and the key cross-tool input hint third. Every sentence carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 29-parameter, nested-object tool with no output schema, the description usefully summarizes the return payload and the splitting behavior, which is the highest-value missing context. It is not exhaustive about the many optional connector/magnet/split flags, but those are documented in the schema itself.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 62%, above the baseline threshold, and the schema already documents the non-obvious parameters (tolerance, partsConnector, magnetHoleStyle, connectMarginCrossings). The description only adds meaning for dimensions and printerBuildVolume; for a 29-parameter tool the remaining gap in schema coverage is not compensated in prose. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Configure/Generate) plus resource (Gridfinity baseplate) and immediately scopes it: 'from exact width and depth in millimeters, without a drawer preset.' The phrase 'without a drawer preset' explicitly distinguishes it from the sibling generate_gridfinity_drawer_baseplate, so an agent can route correctly without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context: use this when you have raw width/depth measurements rather than a drawer preset, and it names the upstream dependency ('Supply printerBuildVolume from find_gridfinity_printers to enable automatic splitting'). It does not explicitly state when to prefer create_gridfinity_baseplate_url or the drawer variant, so it falls short of a full when/when-not/alternatives statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_gridfinity_drawer_baseplateGenerate Gridfinity Drawer BaseplateBRead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| version | No | 5.3 | |
| tolerance | No | Experimental fit setting saved per printer. For dovetails, 0 mm gives the largest male tab; higher values make it smaller, up to 0.5 mm. Also affects CLICKbase clips and magnet holes. Print the tolerance test package to choose a dovetail fit. Normal bin pockets keep fixed geometry; the included bin-fit sample is a reference check. Values: none = 0 mm, tight = 0.1 mm, standard = 0.2 mm, loose = 0.3 mm, very-loose = 0.4 mm, extra-loose = 0.5 mm. | standard |
| linkOrigin | No | mcp | |
| marginType | No | solid | |
| borderRadius | No | ||
| magnetHeight | No | ||
| baseplateType | No | normal | |
| gridUnitDepth | No | ||
| gridUnitWidth | No | ||
| plateMarginMm | No | ||
| screwHeadSize | No | ||
| screwHoleSize | No | ||
| splitStrategy | No | fewerParts | |
| toggleMagnets | No | ||
| drawerPresetId | Yes | Exact preset id returned by find_gridfinity_drawer_presets. | |
| magnetDiameter | No | ||
| partsConnector | No | Experimental dovetails interlock split pieces without separate parts and use your printer tolerance for male tabs. They require Split to Build Plates and work with all baseplate types. Clips connect split seams and optional outer edges; the printable clip model is included (not compatible with Skeleton). | none |
| magnetDirection | No | top | |
| magnetHoleStyle | No | cylinder | |
| splitOffMargins | No | Create outer margins as separate strips while keeping corners attached to top or bottom strips. | |
| toggleScrewHoles | No | ||
| measuredDimensions | No | Measured drawer interior dimensions in millimeters. These override the approximate preset dimensions. | |
| printerBuildVolume | Yes | The printer build volume used to decide whether this drawer-sized baseplate must be split. | |
| splitToBuildplates | No | Override the automatic printer-fit split decision. | |
| connectMarginCrossings | No | Also place a dovetail wherever a split edge crosses from grid cells into a margin region. Off: dovetails only at cell-to-cell crossings. | |
| removeHolesOnSplitLines | No | ||
| toggleMagnetReleaseHole | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds that splitting is auto-enabled when the plate doesn't fit, but that behavior is also conveyed by the splitToBuildplates schema text ('Override the automatic printer-fit split decision'), and nothing is said about what the tool returns or how split results are delivered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences with no filler: the core action comes first, followed by the input guidance and the auto-splitting behavior. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 27-parameter tool with nested objects, four enums, no output schema and only 30% schema description coverage, the description is far too thin. It omits the return value, how a split result is surfaced, and any orientation around the large option surface an agent must navigate to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 30% across 27 parameters, so the description bears heavy compensation burden but supplies almost none. It only gestures at measured drawer dimensions and printer build volume — parameters whose schema entries already explain themselves — leaving the other ~19 options (tolerance, baseplateType, splitStrategy, connectors, magnets, etc.) undocumented in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Generate a Gridfinity baseplate') scoped to a 'known drawer preset', which separates it from the generic sibling generate_gridfinity_baseplate. An agent can tell it produces a drawer-sized plate keyed off a preset, but the description never explicitly names the sibling it contrasts with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives conditional guidance ('Supply measured drawer dimensions when available'), which tells the agent when measuredDimensions is worth filling in. However, it never names alternatives (e.g. generate_gridfinity_baseplate or find_gridfinity_drawer_presets for obtaining the preset id) or states when NOT to use this tool, so usage is implied rather than specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_gridfinity_gridGenerate Gridfinity GridBRead-onlyIdempotentInspect
Generate a Gridfinity baseplate grid by columns and rows, returning the calculated millimeter dimensions and a shareable Extrabold Tools URL.
| Name | Required | Description | Default |
|---|---|---|---|
| rows | Yes | Number of Gridfinity rows across the depth. | |
| columns | Yes | Number of Gridfinity columns across the width. | |
| version | No | 5.3 | |
| tolerance | No | Experimental fit setting saved per printer. For dovetails, 0 mm gives the largest male tab; higher values make it smaller, up to 0.5 mm. Also affects CLICKbase clips and magnet holes. Print the tolerance test package to choose a dovetail fit. Normal bin pockets keep fixed geometry; the included bin-fit sample is a reference check. Values: none = 0 mm, tight = 0.1 mm, standard = 0.2 mm, loose = 0.3 mm, very-loose = 0.4 mm, extra-loose = 0.5 mm. | standard |
| linkOrigin | No | Link origin tag added as the org query parameter for attribution. | mcp |
| marginType | No | solid | |
| borderRadius | No | ||
| magnetHeight | No | Height or thickness of the magnets in millimeters. | |
| baseplateType | No | Baseplate style to generate. | normal |
| gridUnitDepth | No | Depth of one grid unit in millimeters. Standard Gridfinity uses 42. | |
| gridUnitWidth | No | Width of one grid unit in millimeters. Standard Gridfinity uses 42. | |
| plateMarginMm | No | ||
| screwHeadSize | No | Diameter of the screw head in millimeters. | |
| screwHoleSize | No | Diameter of the screw shaft in millimeters. | |
| splitStrategy | No | fewerParts | |
| toggleMagnets | No | ||
| magnetDiameter | No | Diameter of the magnets in millimeters. | |
| partsConnector | No | Experimental dovetails interlock split pieces without separate parts and use your printer tolerance for male tabs. They require Split to Build Plates and work with all baseplate types. Clips connect split seams and optional outer edges; the printable clip model is included (not compatible with Skeleton). | none |
| magnetDirection | No | Which side of the baseplate magnets are inserted from. | top |
| magnetHoleStyle | No | Round holes are sized with the magnet diameter. Crush ribs use a wavy profile with flexible ribs that grip the magnet. | cylinder |
| splitOffMargins | No | Create outer margins as separate strips while keeping corners attached to top or bottom strips. | |
| toggleScrewHoles | No | ||
| edgeConnectorSides | No | ||
| printerBuildVolume | No | ||
| splitToBuildplates | No | Override automatic printer-fit splitting. When omitted with a printer build volume, splitting is enabled only when needed. | |
| enableEdgeConnectors | No | ||
| connectMarginCrossings | No | Also place a dovetail wherever a split edge crosses from grid cells into a margin region. Off: dovetails only at cell-to-cell crossings. | |
| removeHolesOnSplitLines | No | Remove screw holes that fall on split edges. | |
| toggleMagnetReleaseHole | No | Add through-holes so magnets can be pushed back out from the opposite side. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds only that the call returns calculated millimeter dimensions and a shareable Extrabold Tools URL; it says nothing about defaults, whether splitting behavior is triggered, or how the URL is persisted, which would matter for a 29-parameter geometry tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the verb and resource come first and the output note follows. It is lean, though for a tool with 29 parameters it is arguably thinner than 'appropriately sized' implies.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must carry return-value explanation; it gives only a one-line summary. For a 29-parameter tool with nested objects, printer build volumes, split strategies, and connector options, there is no guidance on the splitting model, defaults, or practical constraints, leaving significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 66%, so the schema documents most parameters itself. The description only echoes the required columns/rows concept and never touches the many geometry, tolerance, magnet, or split options; the baseline 3 applies since the description adds essentially nothing beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Generate a Gridfinity baseplate grid by columns and rows') and even characterizes the output (mm dimensions plus a shareable URL). However, it never distinguishes itself from the sibling generate_gridfinity_baseplate or generate_gridfinity_drawer_baseplate, so an agent cannot tell from the text which of the baseplate-producing tools to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no named alternatives despite six sibling tools with overlapping names. The agent is left to infer that 'grid by columns and rows' is the selecting condition, which is weak routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_gridfinity_grid_questionsGet Gridfinity Grid QuestionsCRead-onlyIdempotentInspect
Return the next Gridfinity baseplate configuration questions to ask, using Extrabold Tools setting descriptions and dependencies.
| Name | Required | Description | Default |
|---|---|---|---|
| rows | No | ||
| columns | No | ||
| version | No | ||
| tolerance | No | Experimental fit setting saved per printer. For dovetails, 0 mm gives the largest male tab; higher values make it smaller, up to 0.5 mm. Also affects CLICKbase clips and magnet holes. Print the tolerance test package to choose a dovetail fit. Normal bin pockets keep fixed geometry; the included bin-fit sample is a reference check. Values: none = 0 mm, tight = 0.1 mm, standard = 0.2 mm, loose = 0.3 mm, very-loose = 0.4 mm, extra-loose = 0.5 mm. | |
| linkOrigin | No | ||
| marginType | No | ||
| borderRadius | No | ||
| magnetHeight | No | ||
| baseplateType | No | ||
| gridUnitDepth | No | ||
| gridUnitWidth | No | ||
| plateMarginMm | No | ||
| screwHeadSize | No | ||
| screwHoleSize | No | ||
| splitStrategy | No | ||
| toggleMagnets | No | ||
| magnetDiameter | No | ||
| partsConnector | No | Experimental dovetails interlock split pieces without separate parts and use your printer tolerance for male tabs. They require Split to Build Plates and work with all baseplate types. Clips connect split seams and optional outer edges; the printable clip model is included (not compatible with Skeleton). | |
| magnetDirection | No | ||
| magnetHoleStyle | No | ||
| splitOffMargins | No | ||
| toggleScrewHoles | No | ||
| splitToBuildplates | No | ||
| connectMarginCrossings | No | Also place a dovetail wherever a split edge crosses from grid cells into a margin region. Off: dovetails only at cell-to-cell crossings. | |
| removeHolesOnSplitLines | No | ||
| toggleMagnetReleaseHole | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description's remaining burden is to explain the interaction model. The vague clause 'using Extrabold Tools setting descriptions and dependencies' does not say how questions are sequenced, whether the supplied parameters change the returned set, or how the caller knows it is done.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; it is not verbose. The brevity is a weakness in substance rather than a structural flaw, which is captured in the other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 26 configuration parameters, no output schema, and only safety annotations, the description is far too thin. It does not explain the shape of the returned questions, the termination condition, or the role of the passed-in settings — the agent cannot confidently call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are 26 parameters at only 12% schema description coverage, and the description adds nothing about any of them — not even that the already-supplied settings (rows, columns, baseplateType, tolerance, etc.) determine which questions are returned next. With this many undocumented inputs, the description fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Return the next ... configuration questions to ask'), which is better than a tautology, but the actual purpose of the tool — driving a step-by-step configuration wizard — is only implied. It never distinguishes itself from the generate_* siblings or explains why an agent would fetch questions instead of generating a baseplate directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the five generate_* / find_* siblings, nor any prerequisite such as 'call repeatedly until no questions remain'. The agent must infer the interactive loop entirely on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
- Changed
create_gridfinity_baseplate_url4 fields changed- added
Input schema / properties / connectMarginCrossingsAdded value: +{ + "default": true, + "description": "Also place a dovetail wherever a split edge crosses from grid cells into a margin region. Off: dovetails only at cell-to-cell crossings.", + "type": "boolean" +} - added
Input schema / properties / partsConnector / descriptionAdded value: +"Experimental dovetails interlock split pieces without separate parts and use your printer tolerance for male tabs. They require Split to Build Plates and work with all baseplate types. Clips connect split seams and optional outer edges; the printable clip model is included (not compatible with Skeleton)." - added
Input schema / properties / tolerance / descriptionAdded value: +"Experimental fit setting saved per printer. For dovetails, 0 mm gives the largest male tab; higher values make it smaller, up to 0.5 mm. Also affects CLICKbase clips and magnet holes. Print the tolerance test package to choose a dovetail fit. Normal bin pockets keep fixed geometry; the included bin-fit sample is a reference check. Values: none = 0 mm, tight = 0.1 mm, standard = 0.2 mm, loose = 0.3 mm, very-loose = 0.4 mm, extra-loose = 0.5 mm." - changed
Input schema / properties / version / defaultPrevious value: -"0.5.21"New value: +"5.3"
- Changed
generate_gridfinity_baseplate4 fields changed- added
Input schema / properties / connectMarginCrossingsAdded value: +{ + "default": true, + "description": "Also place a dovetail wherever a split edge crosses from grid cells into a margin region. Off: dovetails only at cell-to-cell crossings.", + "type": "boolean" +} - added
Input schema / properties / partsConnector / descriptionAdded value: +"Experimental dovetails interlock split pieces without separate parts and use your printer tolerance for male tabs. They require Split to Build Plates and work with all baseplate types. Clips connect split seams and optional outer edges; the printable clip model is included (not compatible with Skeleton)." - added
Input schema / properties / tolerance / descriptionAdded value: +"Experimental fit setting saved per printer. For dovetails, 0 mm gives the largest male tab; higher values make it smaller, up to 0.5 mm. Also affects CLICKbase clips and magnet holes. Print the tolerance test package to choose a dovetail fit. Normal bin pockets keep fixed geometry; the included bin-fit sample is a reference check. Values: none = 0 mm, tight = 0.1 mm, standard = 0.2 mm, loose = 0.3 mm, very-loose = 0.4 mm, extra-loose = 0.5 mm." - changed
Input schema / properties / version / defaultPrevious value: -"0.5.21"New value: +"5.3"
- Changed
generate_gridfinity_drawer_baseplate4 fields changed- added
Input schema / properties / connectMarginCrossingsAdded value: +{ + "default": true, + "description": "Also place a dovetail wherever a split edge crosses from grid cells into a margin region. Off: dovetails only at cell-to-cell crossings.", + "type": "boolean" +} - added
Input schema / properties / partsConnector / descriptionAdded value: +"Experimental dovetails interlock split pieces without separate parts and use your printer tolerance for male tabs. They require Split to Build Plates and work with all baseplate types. Clips connect split seams and optional outer edges; the printable clip model is included (not compatible with Skeleton)." - added
Input schema / properties / tolerance / descriptionAdded value: +"Experimental fit setting saved per printer. For dovetails, 0 mm gives the largest male tab; higher values make it smaller, up to 0.5 mm. Also affects CLICKbase clips and magnet holes. Print the tolerance test package to choose a dovetail fit. Normal bin pockets keep fixed geometry; the included bin-fit sample is a reference check. Values: none = 0 mm, tight = 0.1 mm, standard = 0.2 mm, loose = 0.3 mm, very-loose = 0.4 mm, extra-loose = 0.5 mm." - changed
Input schema / properties / version / defaultPrevious value: -"0.5.21"New value: +"5.3"
- Changed
generate_gridfinity_grid4 fields changed- added
Input schema / properties / connectMarginCrossingsAdded value: +{ + "default": true, + "description": "Also place a dovetail wherever a split edge crosses from grid cells into a margin region. Off: dovetails only at cell-to-cell crossings.", + "type": "boolean" +} - added
Input schema / properties / partsConnector / descriptionAdded value: +"Experimental dovetails interlock split pieces without separate parts and use your printer tolerance for male tabs. They require Split to Build Plates and work with all baseplate types. Clips connect split seams and optional outer edges; the printable clip model is included (not compatible with Skeleton)." - added
Input schema / properties / tolerance / descriptionAdded value: +"Experimental fit setting saved per printer. For dovetails, 0 mm gives the largest male tab; higher values make it smaller, up to 0.5 mm. Also affects CLICKbase clips and magnet holes. Print the tolerance test package to choose a dovetail fit. Normal bin pockets keep fixed geometry; the included bin-fit sample is a reference check. Values: none = 0 mm, tight = 0.1 mm, standard = 0.2 mm, loose = 0.3 mm, very-loose = 0.4 mm, extra-loose = 0.5 mm." - changed
Input schema / properties / version / defaultPrevious value: -"0.5.21"New value: +"5.3"
- Changed
get_gridfinity_grid_questions3 fields changed- added
Input schema / properties / connectMarginCrossingsAdded value: +{ + "description": "Also place a dovetail wherever a split edge crosses from grid cells into a margin region. Off: dovetails only at cell-to-cell crossings.", + "type": "boolean" +} - added
Input schema / properties / partsConnector / descriptionAdded value: +"Experimental dovetails interlock split pieces without separate parts and use your printer tolerance for male tabs. They require Split to Build Plates and work with all baseplate types. Clips connect split seams and optional outer edges; the printable clip model is included (not compatible with Skeleton)." - added
Input schema / properties / tolerance / descriptionAdded value: +"Experimental fit setting saved per printer. For dovetails, 0 mm gives the largest male tab; higher values make it smaller, up to 0.5 mm. Also affects CLICKbase clips and magnet holes. Print the tolerance test package to choose a dovetail fit. Normal bin pockets keep fixed geometry; the included bin-fit sample is a reference check. Values: none = 0 mm, tight = 0.1 mm, standard = 0.2 mm, loose = 0.3 mm, very-loose = 0.4 mm, extra-loose = 0.5 mm."
3 tool updates
- Added
find_gridfinity_printers - Added
generate_gridfinity_baseplate - Changed
generate_gridfinity_grid5 fields changed- added
Input schema / properties / edgeConnectorSidesAdded value: +{ + "default": { + "back": true, + "front": true, + "left": true, + "right": true + }, + "properties": { + "back": { + "default": false, + "type": "boolean" + }, + "front": { + "default": false, + "type": "boolean" + }, + "left": { + "default": false, + "type": "boolean" + }, + "right": { + "default": false, + "type": "boolean" + } + }, + "type": "object" +} - added
Input schema / properties / enableEdgeConnectorsAdded value: +{ + "default": false, + "type": "boolean" +} - added
Input schema / properties / marginType / enumAdded value: +[ + "solid", + "margin-fit", + "halfgrid", + "overtile" +] - added
Input schema / properties / partsConnector / enumAdded value: +[ + "none", + "clips", + "dovetails" +] - added
Input schema / properties / splitStrategy / enumAdded value: +[ + "fewerParts", + "balanced", + "tJunctions" +]
4 tool updates
- Changed
create_gridfinity_baseplate_url2 fields changed- added
Input schema / properties / splitOffMarginsAdded value: +{ + "default": false, + "type": "boolean" +} - changed
Input schema / properties / version / defaultPrevious value: -"0.5.20"New value: +"0.5.21"
- Changed
generate_gridfinity_drawer_baseplate2 fields changed- added
Input schema / properties / splitOffMarginsAdded value: +{ + "default": false, + "description": "Create outer margins as separate strips while keeping corners attached to top or bottom strips.", + "type": "boolean" +} - changed
Input schema / properties / version / defaultPrevious value: -"0.5.20"New value: +"0.5.21"
- Changed
generate_gridfinity_grid2 fields changed- added
Input schema / properties / splitOffMarginsAdded value: +{ + "default": false, + "description": "Create outer margins as separate strips while keeping corners attached to top or bottom strips.", + "type": "boolean" +} - changed
Input schema / properties / version / defaultPrevious value: -"0.5.20"New value: +"0.5.21"
- Changed
get_gridfinity_grid_questions1 field changed- added
Input schema / properties / splitOffMarginsAdded value: +{ + "type": "boolean" +}
5 tool updates
- First observed
create_gridfinity_baseplate_url - First observed
find_gridfinity_drawer_presets - First observed
generate_gridfinity_drawer_baseplate - First observed
generate_gridfinity_grid - First observed
get_gridfinity_grid_questions
Related MCP Connectors
MFT/3 hole patterns (Shaper-ready SVG) and French cleat wall plans with cut lists. Free, unofficial.
- OwlCADOAuthcom.owlcad
Parametric 3D CAD for AI agents: build print-ready parts, check them, export STL, 3MF or STEP.
3D printing: printable models, calculators, troubleshooting wiki, build guides, AI 3D + CAD design.
3D print farm management for AI. Monitor, queue, and control prints on your SimplyPrint account.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceTurns natural-language requests into printable Gridfinity STL/STEP files for bins, baseplates, and drawer spacers using CadQuery.-
- AlicenseAqualityBmaintenanceEnables generating parametric 3D-printable parts from OpenSCAD/CadQuery models, exporting STL/3MF files, running DFM checks, and retrieving Bambu X1 Carbon starting profile notes.8MIT
- AlicenseAqualityCmaintenanceLets AI assistants read, audit, and safely edit slicing presets for Creality Print, OrcaSlicer, and Bambu Studio, resolving full inheritance chains to expose effective settings and flagging common print-failure causes. It also inspects, scales, and rotates 3D model files (.stl, .obj, .3mf) into new outputs.9MIT
- AlicenseAqualityAmaintenanceDeterministic "Rack-as-Code" 3D/2D CAD planner, 5-stage physical/PoE/acoustic validator, and parametric OpenSCAD/STL 3D-print generator for 10-inch mini-racks and 19-inch homelabs.6121MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.