Nestbolt
Free, open-source 2D nesting for fixed sheets: laser, CNC, plasma, waterjet and fabric. SVG/DXF in and out, part-in-part, several sheets. Runs in your browser (nothing uploaded), on the command line and as an MCP server. Built on sparrow and jagua-rs.
Install / Use
claude mcp add skulitom -- npx -y github:skulitom/NestboltIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Development & EngineeringSupported Platforms
Our assessment of Nestbolt
Nestbolt scores 83/100 on our quality scale, 3019th of 4,570 Development & Engineering skills we index.
Its MCP Server is 16 KB long, well organised into 9 sections with 6 code examples: a thorough specification that gives an agent plenty to work with.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated yesterday, so Nestbolt is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands.
Automated pattern scan on 2026-10-25. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
Nestbolt compared with similar skills
All 4 of these similar skills score higher than Nestbolt; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| Nestbolt (this skill)by skulitom | 83 | 3 | 1d ago | MCP Server |
| taste-skillby Leonxlnx | 100 | 102.3k | today | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 102.2k | today | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 77.8k | today | CLAUDE.md |
| ai-job-searchby ai-job-search-dev | 100 | 65.4k | 4d ago | CLAUDE.md |
Frequently asked questions
- How do I install Nestbolt?
- Run
claude mcp add skulitom -- npx -y github:skulitom/Nestbolt. The install tabs above show the steps for each supported agent. - Which AI agents does Nestbolt work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is Nestbolt safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. It is MIT-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is Nestbolt still maintained?
- The repository was last updated yesterday, so Nestbolt is actively maintained.
Skill content
View source on GitHubNestbolt
In the frozen v1 benchmark, 8.5% less material at the median than the best of Deepnest, SVGnest and Sparrow at equal 60-second budgets, and 9.6% at 300 seconds, in the final benchmark run (fresh seeds, ten held-out jobs). Sparrow still wins 8 of the 56 jobs at 60 seconds (details, every number).
Free, open-source nesting for people who cut fixed sheets: laser cutters, CNC routers, plasma, waterjet, fabric and leather. Nestbolt arranges parts so they use the least material. It runs in your browser (nothing is uploaded), on the command line, and as an MCP server that AI agents can call.
Open the browser app · Download a release · Connect an AI agent
How Nestbolt compares with other ways an AI agent can nest parts (OpenNest, pyFit, Sparrow, Deepnest, SVGnest and more), by interface, file formats and sheet model: nesting for AI agents.
Try the v0.2.0-alpha.1 preview for editable LightBurn project nesting, lead-in allowances and improvements for large curved drawings. Windows x64, Linux x64 and macOS Apple silicon tools are available, plus the Windows MCP bundle. Their published-download checks pass. Import acceptance and common-line material use remain under development; the v1.1 plan is 60% complete. Stable v0.1.0 remains available.
The hosted browser app runs a preview build from main (newer than v0.2.0-alpha.1).
The benchmark figures below belong to the frozen 75cbb32 build; this preview
makes no new comparison against competing tools.

451 parts on one 850 × 425 mm sheet in 120 seconds on one CPU core: DejaVu Sans
Bold glyphs in four sizes with their exact Bézier outlines, 90° rotations and
1 mm spacing. 29 letters sit inside the holes of others, and the unused material
stays as one clean offcut along the top. The layout passed the independent
validator. Rebuild it with python scripts/make_showcase.py --nest 120.
How it compares
Final acceptance run (2026-10-13): 75 frozen sheet jobs (35 academic, 40 maker, ten of them held out from all tuning), equal time budgets, one CPU core per tool, five fresh seeds each, every layout checked by an independent validator. The comparison is against the best of Deepnest, SVGnest and Sparrow on each job, each with the better of its two settings.
| Budget | Valid Nestbolt layouts | Less material than the best competitor (median) | Wins or ties | | --- | ---: | ---: | ---: | | 60 s | 375/375 | 8.5% | 48 of 56 | | 300 s (long subset) | 60/60 | 9.6% | 11 of 11 |
At 60 s Nestbolt uses less material than Deepnest on all 55 jobs where Deepnest produced a layout (median 9.9%) and than SVGnest on all 36 (14.4%). Sparrow, which Nestbolt builds on, wins 8 jobs. Seven are one-sheet jobs that Nestbolt hands to Sparrow itself after its own first layout, so Sparrow runs with slightly less time there; it is 0.03-2.4% better on them. The eighth (two sheets) is 0.34% better. That misses the project's own 60-second bar (wins or ties on 90% of jobs and never more than 1% worse); the 300-second, strip-parity and speed bars are met (status).

One benchmark job exactly as nested in a 60-second development run (m-mechanical-frame-inserts,
seed 0, sheet turned to landscape): 138 parts, all 39 inserts placed inside frame
windows, everything packed into 56% of a 2440 × 1220 mm sheet so the rest stays one
offcut. The best competitor used 62% of the sheet on this job.
In 30 s Nestbolt matches the competitors' 300 s result on 10 of 11 jobs. The first
final run (build 484ce8b) stopped with an error on one job; the fix is in 75cbb32
and both runs are published. Every run, including failures, is in
BENCHMARKS.md; status lists the evidence per
gate. The results page shows every
per-job number, tool revision, seed and the hardware; python scripts/reproduce.py --phase final --final-acceptance rebuilds the datasets, reruns what is missing and regenerates it.
What works today
- Import SVG and DXF: lines, arcs, ellipses, Béziers, B-splines, blocks, transforms and units, converted to millimetres. Each closed outline is a part; outlines inside it are its holes. Choose cutting layers, identify stock outlines, and review repairs and unsupported geometry. See import options and the shop-file verification.
- LightBurn projects (
.lbrn2and legacy.lbrn): nest groups as rigid units and export an editable.lbrn2per sheet, preserving original artwork, text, images and layer settings. Tool and output-disabled shapes stay fixed. Older text may need a separate native save to embed its outlines; mixed active/fixed groups need regrouping before nesting. Import messages explain cached text, bounding rectangles and missing curve controls. See LightBurn preparation. - Nest on fixed sheets: margins, part and edge spacing, several sheets, several stock sizes with limits, defects, remnant outlines, rotations (free, stepped or a list such as 0/180 for fabric grain) and mirroring. Small parts can sit inside the holes of larger parts. The last sheet is compressed towards one end so the offcut stays usable.
- Export one SVG and one DXF per sheet from the original curves, transformed
rather than re-polygonised. LightBurn projects use preserving
.lbrn2output. Export fidelity checks record the tested files and tolerances. - Lead-in allowances reserve room for leads and set contour starts, with shortened leads and unresolved contours reported explicitly. Red LEADIN paths are review guides; the cutting program creates the actual leads. Imported LightBurn projects keep their editable contents and receive separate SVG/DXF cutting files. See lead settings and CAM setup.
- Common-line cutting, optional and still under development: identify shared straight cuts with kerf compensation. It can reduce cutting distance while increasing material use; two development jobs exceed the planned material limit. The export needs CAM preparation to avoid cutting shared sections twice. See common-line setup and limitations.
- Check every result with an independent Clipper2 validator (overlap, spacing, containment, rotations, quantities). Invalid layouts are never returned.
- Browser app (
web/): the same engine compiled to WebAssembly in Web Workers, automatic worker selection, a live view of the best layout, projects saved in the browser or as a ZIP, and five one-click examples. Files never leave the computer. An optional Quick initial layout setting helps start large jobs. Current browser checks and native comparisons are tracked in Status. - MCP server with
import_parts,nest,validate_layout,export_layoutandestimate_sheets, tested with Claude Code. Its budgets are repeatable: same build, inputs, work budget and seed give the same layout unless the real-time limit is reached, which is reported explicitly. See the agent interface.
The engine builds on jagua-rs and sparrow by Jeroen Gardeyn and collaborators (arXiv 2509.13329). Fixed-sheet search lays the last sheets end to end as one walled strip and shrinks the last sheet with a port of Sparrow's separator; parts move between sheets and an emptied sheet disappears. Near-rectangular parts such as box panels also get a bounding- rectangle packing start. One sheet of hole-free parts without defects is exactly Sparrow's own strip-packing problem, where it is the state of the art, so there Nestbolt runs unmodified Sparrow for the rest of the budget.
Quick start
Use the browser app without installing
anything, or download native tools for Windows x64, Linux x64 or macOS Apple
silicon from the v0.2.0-alpha.1 preview
or stable v0.1.0. Each
archive contains nestbolt, nestbolt-mcp and licences; download checksums are
provided alongside it. The separate Windows MCPB bundle installs the server in
Claude Desktop; see
agent setup.
To build the development version, install Rust through rustup (the repository selects Rust 1.98.1):
cargo build --release -p nestbolt-cli -p nestbolt-mcp
Import parts, nest them for 30 seconds, and get per-sheet SVG/DXF files
(examples/box-99x63x45.svg is the browser app's example box):
target/release/nestbolt import examples/parts.svg --output library.json
target/release/nestbolt nest --library library.json --request examples/nest-request.json --out-dir run --seconds 30
For drawings with larger gaps, import --close-gaps 0.05 explicitly repairs up
to 0.05 mm and reports every repair's position and size. It is off by default;
the silent join limit remains 0.005 mm. The UI and MCP expose the same option.
See import options and reports.
Lead reservations and contour starts are available in the browser, request JSON
and nest --lead-in --kerf ...; see settings and LightBurn setup.
A request names library parts with quantities and the sheets in millimetres:
{
"parts": [{"id": "parts-1", "quantity": 4}, {"id": "parts-2", "quantity": 12, "rotations": {"kind": "free"}}],
"sheets": [{"width_mm": 600, "height_mm": 400, "margins_mm": {"left": 5, "right": 5, "bottom": 5, "top": 5}}],
"spacing_mm": 1.0,
"edge_spacing_mm": 1.0
}
run/ then holds layout.json, report.json and sheet-0.svg/sheet-0.dxf and
so on. Existing files are never overwritten. nestbolt export re-exports a
layout; nestbolt validate checks a polygon job and layout. Add --repeatable
to nestbolt nest or nestbolt sheets for a deterministic work budget instead of
wall-clock time: the same inputs, budget and seed then give the same layout. On a
machine much slower than the reference PC, --time-limit <seconds> allows more real
time for the same work (the default is --seconds).
The optional --quick-start setting tries a conservative initial arrangement
before improving it. It is off by default and may use more material. The browser
calls it Quick initial layout under Advanced; request JSON and MCP use
"quick_start": true. Original geometry, spacing, stock limits and rotation
permissions still apply. Unsupported stock or angle rules use the ordinary
constructor.
File formats are described by the JSON Schemas.
Browser app
Open the hosted app and pick an example (finger-jointed boxes, letters inside letters, a 138-part mechanical kit, a FreeSewing T-shirt
Truncated for display — read the full file on GitHub.
Related Skills
taste-skill
102.3kAgent skills that give coding agents taste: art direction, reference images and a browser check instead of generic AI pages
Agent-Reach
102.2kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
77.8kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
ai-job-search
65.4kThe job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
