3D CAD BasePlate Generator MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@3D CAD BasePlate Generator MCP Generate a 3D printable bottle cap from this photo"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
3D CAD BasePlate Generator MCP.
A NitroStack MCP server for the bottle-cap-cad workflow: turn a photo of a broken bottle cap, worn plug, or cavity into a printable replacement.
Vision/dimension extraction from the source photo happens client-side
(in the MCP client, e.g. Claude) — none of these tools re-derive dimensions
from pixels. generate_visual_mesh is the one exception, since Meshy infers
geometry directly from the image itself.
Tools
Tool | Input | Backend | Network |
| dimensions JSON (outer/inner diameter, height, thread pitch/starts/depth) | CadQuery (Python, local subprocess) | none |
| hole/cavity geometry JSON — circle, rectangle, stadium (slot), polygon, or freeform/organic outline, uniform or tapered | CadQuery (Python, local subprocess) | none |
| mesh URL or base64 (STL/OBJ/PLY/GLB/OFF) | PyMeshLab (Python, local subprocess) | none (fetches |
| raw image (base64) | Meshy image-to-3D API | HTTPS |
A fill-geometry-guide MCP prompt is also registered, walking a caller
through the fields fill expects.
Suggested pipeline: generate_visual_mesh (rough visual reference from
a photo) → repair_mesh (make it manifold/watertight) → generate_precise_cap
or fill for the actual dimensionally-accurate part → repair_mesh again if
the CAD output needs cleanup after boolean operations.
Related MCP server: bottle-cap-mcp
Setup
npm install
pip install -r requirements.txt --break-system-packages # or your own venv
cp .env.example .env # set MESHY_API_KEY
npm run build
npm startFor local iteration without a build step: npm run dev.
generate_precise_cap, fill, and repair_mesh shell out to a local Python
interpreter (python-runtime.ts auto-detects python3/python/py, or
respects a PYTHON_EXECUTABLE override in .env) — Python 3 with the
packages in requirements.txt needs to be installed wherever this server
runs. generate_visual_mesh only needs MESHY_API_KEY; it makes no Python
calls.
Structure
3D-CAD-Modeling-using-MCP/
├── src/
│ ├── app.module.ts # registers the four tool providers + prompt
│ ├── main.ts # bootstrap / entrypoint
│ ├── index.ts # re-exports main.ts
│ ├── modules/bottle-cap-cad/
│ │ └── bottle-cap-cad.prompts.ts # fill-geometry-guide prompt
│ └── tools/
│ ├── shapes.ts # shared circle/rectangle/stadium/polygon/freeform zod schema
│ ├── cap.tools.ts # generate_precise_cap
│ ├── fill.tools.ts # fill
│ ├── repair.tools.ts # repair_mesh
│ ├── mesh.tools.ts # generate_visual_mesh (pure TS, calls Meshy)
│ ├── python-runtime.ts # local python3/python/py auto-detection
│ └── cad-api-client.ts # optional HTTP client for a remote CAD API
├── cad/
│ ├── precise_cap.py # CadQuery threaded-cap builder
│ ├── fill.py # CadQuery plug builder
│ └── repair_mesh.py # PyMeshLab repair pipeline
├── package.json
├── tsconfig.json
└── requirements.txtNotes on the current code
Thread generation:
precise_cap.pybuilds a solid, closed-top cap with a blind bore (not a through-hole) and sweeps one or more real helical thread ridges onto the skirt's inner wall along acq.Wire.makeHelix()path.threadStarts(1–4),threadDepth, andtopThicknessare optional fields ongenerate_precise_cap;threadPitchfalls back to an approximate PCO 1810-style pitch (3.18mm, single start) when omitted. This is a parametric approximation tuned for FDM printing, not a certified thread-spec generator.fillshapes:shapes.tssupports five top/bottom shape types —circle,rectangle(with optional corner radius),stadium(true rounded slot with semicircular ends),polygon(straight-edged, arbitrary point count), andfreeform(a smooth closed spline through 6–300 traced boundary points, for organic/irregular openings).capStyle: "flush"is only implemented for circle/rectangle/stadium/freeform tops — a polygon top withflushis downgraded tononebyfill.tools.ts, with a warning returned to the caller rather than failing silently.Low-confidence inputs: both
generate_precise_capandfillaccept aconfidencefield (high/medium/low, from the caller's own vision-based dimension extraction). Alowvalue still generates output, but the response includes a warning recommending the dimensions be confirmed before printing.Remote CAD API:
cad-api-client.tssupports routinggenerate_precise_cap/fill/repair_meshover HTTP to aCAD_API_URLinstead of spawning Python locally, for hosting environments without a Python runtime. This repo does not currently include the server-side counterpart (noapi/directory) —CAD_API_URL/CAD_API_KEYare recognized but there's nothing to point them at yet. Leave both unset for local development; the tools fall back to the local-subprocess path automatically.Meshy polling:
mesh.tools.tspolls Meshy'simage-to-3dendpoint every 3s for up to 60 attempts rather than using a webhook callback. Meshy's free tier output is CC BY 4.0 licensed — check meshy.ai/pricing for current terms before relying on it beyond a demo.app.module.tsregisters a harmless placeholder for NitroStack'sOAUTH_CONFIGDI token purely to silence a noisy (but non-fatal) startup log fromOAuthModule— this server has no HTTP/OAuth surface and the placeholder has no effect on transport selection.
Team
Reshvanth Yeddla
Nirlep Boddapally
Tarun
Vijay Reddy
Available Tools
4 toolsfillA
Generate a solid plug that fills a measured hole/cavity — circular, rectangular, stadium (slot), arbitrary straight-edged polygon, or freeform organic/curved (amoeba-like) boundary, uniform or tapered. Takes structured JSON only (no image); deterministic CadQuery, no network call.
Inputs: topShape (required), holeDepth (required), fitType, capStyle, +3 more.
generate_precise_capA
Generate a threaded cap STL/STEP from measured opening dimensions: a solid closed top with a skirt carrying real helical internal threads (swept, not just a bore). Takes structured JSON only (no image) — vision/dimension extraction happens client-side before this is called. Deterministic CadQuery, no network call.
Inputs: height (required), innerDiameter (required), outerDiameter (required), confidence, +4 more.
generate_visual_meshA
Generate a 3D mesh from a raw image via the Meshy image-to-3D API and return the resulting STL file directly. Use for visualization only — not dimensionally precise, so not suited to a cap/plug that needs to physically fit. Feed the output into repair_mesh before slicing.
Inputs: imageBase64 (required).
repair_meshA
Repair a 3D mesh (from Meshy image-to-3D or local CadQuery CAD) to make it manifold, watertight, and print-ready. Removes non-manifold edges/vertices, fills holes, unifies face normals, and optionally remeshes for clean topology. Accepts a URL (e.g. from generate_visual_mesh) or a raw base64-encoded mesh. Returns the repaired STL (or chosen format) as base64 plus a repair summary.
Inputs: url, stlBase64, inputFormat, repairLevel, +3 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
Each tool has a distinct purpose: generating threaded caps, filling cavities, creating visual meshes from images (non-precise), and repairing meshes. No overlap in functionality.
Tool names follow snake_case with a verb_noun pattern, except 'fill' which is a single verb but still clear. Overall consistent.
4 tools is a well-scoped set for the domain of generating caps, plugs, visual meshes, and mesh repair. Not excessive or sparse.
Despite the server name 'BasePlate Generator', there is no tool to generate a baseplate itself. Tools focus on caps, plugs, and mesh operations, leaving a significant gap for the intended purpose.
Maintenance
Related MCP Connectors
Text-to-CAD: build exact STEP or 3MF/STL on the server, each stated requirement measured.
Parametric 3D CAD for AI agents: build print-ready parts, check them, export STL, 3MF or STEP.
A browser 3D CAD for your AI: it scripts real-size models, uCAD builds them and returns pictures.
Parametric CAD as code: model 3D-printable parts on an exact B-rep kernel, measured.
Related MCP Servers
- AlicenseAqualityCmaintenanceCreate and edit parametric 3D models with OpenSCAD. Render STL meshes and PNG previews, export SCAD, STL, CSG, and 3MF, and persist model revisions through MCP over stdio or local HTTP. Includes headless Docker support; no GPU or API keys required.8215MIT
- FlicenseAqualityDmaintenanceMCP server for bottle-cap CAD workflow, providing tools for generating precise caps, filling holes, repairing meshes, and generating visual meshes via CadQuery, PyMeshLab, and the Meshy API.4-
- AlicenseBqualityDmaintenanceEnables LLMs to reconstruct parametric Fusion 360 models from mesh (STL/3MF) or photo inputs by analyzing geometry and creating editable features via a Fusion 360 add-in bridge.34MIT
- AlicenseAqualityBmaintenanceEnables multimodal AI to convert photos with reference objects into parametric OpenSCAD models and watertight 3D-printable STL files, including calibration, part generation, and printability inspection.71MIT