gridfinity-mcp
Turns natural-language requests into printable Gridfinity STL/STEP files for bins, baseplates, and drawer spacers using CadQuery.
README
Gridfinity MCP
A local MCP server that turns natural-language requests into printable Gridfinity STL/STEP files. No more dragging sliders on a website — ask Claude for "a 6×1 tray split into 3, 4 units tall" and get an STL.
It wraps the cqgridfinity geometry engine (CadQuery / OpenCascade).
Tools
| Tool | What it makes | Key inputs |
|---|---|---|
gridfinity_generate_box |
A bin | length_u, width_u, height_u, length_div, width_div, holes, scoops, labels, no_lip, solid |
gridfinity_generate_baseplate |
A baseplate grid | length_u, width_u, corner_screws, ext_depth |
gridfinity_generate_drawer_spacer |
Edge fillers to fit baseplates into a real drawer | drawer_width_mm, drawer_depth_mm, tolerance |
Units: 1 grid unit = 42 mm (X/Y), 1 height unit = 7 mm (Z). All geometry
is standard 42 mm Gridfinity, so everything is cross-compatible with off-the-shelf
Gridfinity parts. Files are written to GRIDFINITY_OUTPUT_DIR (default ~/Gridfinity_STL).
Install
cd gridfinity-mcp
python3 -m venv .venv && source .venv/bin/activate # recommended
pip install -r requirements.txt
python3 smoke_test.py # confirms the CAD kernel renders on your machine
cqgridfinity pulls a matched CadQuery + OpenCascade (cadquery-ocp) automatically.
CadQuery also needs nlopt, which has prebuilt wheels for normal desktop platforms.
Add it to Claude
Add to your MCP config (Claude Desktop: claude_desktop_config.json; Claude
Code / Cowork: .mcp.json). Use absolute paths.
{
"mcpServers": {
"gridfinity": {
"command": "python3",
"args": ["/ABSOLUTE/PATH/TO/gridfinity-mcp/gridfinity_mcp.py"],
"env": { "GRIDFINITY_OUTPUT_DIR": "/ABSOLUTE/PATH/TO/Gridfinity_STL" }
}
}
}
If you used a venv, point command at that venv's python, e.g.
/ABSOLUTE/PATH/TO/gridfinity-mcp/.venv/bin/python.
Fitting a 42 mm grid into a non-grid drawer
Real drawers are rarely a multiple of 42 mm. The standard Gridfinity approach (and
what this server does) is: lay the largest whole-cell baseplate that fits, then fill
the leftover lip with spacers. Call gridfinity_generate_drawer_spacer with the
interior drawer size — its summary tells you the baseplate cell count to generate.
Worked example — the kitchen drawer (335 × 500 mm interior)
This keeps the freestanding utensil organizer and fills the rest:
- Catch-all area (front-left, ~257.5 × 100 mm): baseplate
6 × 2(252 × 84 mm) + a6 × 2box, or two3 × 2boxes. - Back strip (~257.5 × 45 mm): baseplate
6 × 1+ a6 × 1box. - Spatula strip (right wall, ~77.5 × 500 mm): baseplate
1 × 11(split for the bed) + boxes; the 77.5 mm width leaves a ~35 mm lip — fill it with a drawer spacer. - Lip everywhere: run
gridfinity_generate_drawer_spacer(drawer_width_mm=335, drawer_depth_mm=500)to take up the slack so nothing slides.
Note on the trade-off vs. gridfinitygenerator.com: that website can set a custom grid unit and custom outer size to fill odd widths exactly, but those bins no longer interchange with standard 42 mm parts. This server keeps the true 42 mm standard and absorbs odd drawer dimensions with spacers instead. Pick based on whether cross-compatibility matters to you (it does for the toolbox project).
Notes / limits
- v1 covers box, baseplate, and drawer spacer.
GridfinityRuggedBox(lidded cases) and a custom grid-unit option are easy follow-ups. - Generation is CPU-bound; large/complex models take a few seconds.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.