KerfScript
Server Details
Write, check and render parametric laser-cutting designs in KerfScript, as SVG or DXF.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- mylasertools/kerfscript
- GitHub Stars
- 2
TDQS
Scored across 4 tools
Each tool covers a distinct stage of the workflow: read docs, discover examples, extract parameters, and render output. Descriptions make the boundaries explicit (e.g. parameters parses without rendering, render produces files), so an agent can pick correctly without guessing.
All tools share a clear `kerfscript_` namespace prefix, which strongly aids grouping. The suffixes are mostly nouns (docs, examples, parameters) with one verb (render), a minor deviation from an otherwise predictable pattern.
Four tools is a tight, purposeful surface for a scripting language integration: learn, discover, inspect, and execute. Nothing feels redundant or padded, and each tool maps to a real user task.
The surface covers the core loop of finding docs/examples, extracting editable parameters, and rendering to SVG/DXF. Minor gaps exist around validating .kerf syntax without a full render and referencing the built-in API outside prose docs, but agents can work around these via kerfscript_docs and render warnings.
Available Tools
4 toolskerfscript_docsARead-onlyIdempotentInspect
Read KerfScript language and JavaScript integration documentation for building laser-cutting generators. Omit topic to list guides. Long guides are paginated with nextOffset.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds real behavioral context beyond that: paginated long guides and the nextOffset continuation signal, which an agent would not otherwise know. Missing: what a doc entry looks like and whether topic names are case-sensitive.
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, zero filler, with the core purpose front-loaded and the discovery and pagination hints following in priority order.
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, yet the description still discloses the listing mode and the pagination contract, which is the minimum an agent needs to drive a two-param reader. A brief note on valid topic identifiers would close the remaining gap.
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 0%, so the description must carry the burden. It explains both params at a functional level (omit topic to list; offset pages through long guides), but leaves the format of `topic` undefined and never reconciles the `offset` parameter name with the returned `nextOffset` value, which invites a mis-call.
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: reads KerfScript language and JavaScript integration documentation for building laser-cutting generators. Clear what the tool returns (docs) versus the sibling names kerfscript_examples/parameters/render, though it never explicitly contrasts itself with kerfscript_examples, which is the closest overlap.
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?
"Omit topic to list guides" gives a concrete entry pattern and is genuinely useful for discovery. But there is no guidance on when to prefer this over kerfscript_examples or kerfscript_parameters, and no statement of preconditions or typical call flow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kerfscript_examplesARead-onlyIdempotentInspect
Find working parametric laser-cutting examples by title, id or tags. Supply an id from the results to get its .kerf source.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| query | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world, non-destructive, so the safety profile is covered. The description adds real behavioral context beyond that: what fields are searched and that the id mode returns .kerf source rather than a listing. It omits pagination behavior despite the offset parameter.
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 sentences, zero waste, with the primary search mode front-loaded and the secondary id-to-source mode stated second.
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 and zero schema description coverage, the description should explain result shape and paging. It conveys the two-step retrieval model but leaves offset and the form of the results list unspecified.
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 0%, so the description must carry the load. It explains id (must come from prior results) and query (matches title/id/tags), but the offset parameter and its paging semantics are never mentioned in either schema or 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 ("Find ... examples") plus the searchable fields (title, id, tags) and a second mode (id → .kerf source). That is far more than a restatement of the name, though it never explicitly distinguishes itself from kerfscript_docs or kerfscript_render.
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 two-step flow is implied: search first, then supply an id from the results to retrieve source. However, there is no guidance on when to prefer kerfscript_docs or kerfscript_parameters over this tool, and no statement of when this tool is not appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kerfscript_parametersBRead-onlyIdempotentInspect
Extract editable settings and customizer ranges from .kerf source to build a generator UI. Parses without rendering geometry.
| Name | Required | Description | Default |
|---|---|---|---|
| source | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds genuinely useful behavior — it parses statically without performing geometry rendering, i.e. it is a cheap analysis pass — but says nothing about failure modes for invalid .kerf source or the shape of what comes back.
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, the extraction target is front-loaded, and the non-rendering caveat follows immediately. No filler or restatement of the tool name.
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 should say something about what the extracted settings/ranges look like, and it only names them in the abstract. Combined with the unresolved `source` semantics and no error behavior, a read-only one-param tool is left with a couple of real 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?
There is a single parameter, `source`, with 0% schema description coverage (only type and maxLength 64000). The description mentions ".kerf source" but never clarifies whether `source` is the raw .kerf code text or a file path/reference — the one ambiguity an agent must resolve to call this correctly.
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?
"Extract editable settings and customizer ranges from .kerf source" is a specific verb+resource with a stated downstream purpose (build a generator UI). "Parses without rendering geometry" implicitly carves it out from kerfscript_render, though the other siblings (docs, examples) are not addressed.
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 phrase "to build a generator UI" implies the use case, and "without rendering geometry" hints at when to prefer this over kerfscript_render. There is no explicit when-to-use/when-not-to-use statement or named alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kerfscript_renderARead-onlyIdempotentInspect
Render .kerf source to SVG or DXF files, one per sheet, with part sizes, layers and warnings. Uses millimetres and bundled Atkinson font. No filesystem or network imports. Bounded to 100 parts and 10 sheets. For production generators install @mylasertools/kerfscript locally.
| Name | Required | Description | Default |
|---|---|---|---|
| gap | No | ||
| kerf | No | ||
| sheet | No | ||
| format | No | svg | |
| layout | No | pack | |
| margin | No | ||
| params | No | ||
| source | Yes | KerfScript program. Lengths are millimetres; angles are degrees. | |
| libraries | No | Optional virtual libraries keyed by the exact use/include path. No files or URLs are fetched. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/closed-world, but the description adds genuinely new behaviour: pure in-memory evaluation with no filesystem or network imports, fixed millimetre units, a bundled Atkinson font, and hard limits of 100 parts and 10 sheets. What it omits is how the rendered files are returned and what warnings/errors look like.
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?
Four short sentences, front-loaded with what is produced, then constraints, then the escalation path. No filler and no repetition of schema or annotation content.
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 carries the return-value burden and only partly discharges it: it says output is one file per sheet with part sizes, layers and warnings, but not the response shape (inline SVG/DXF text vs. references) or error/warning reporting. For a 9-parameter render tool that is a meaningful remaining gap.
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 22% across 9 parameters, so the description needs to compensate. It clarifies units for the numeric geometry inputs ("Uses millimetres") and that libraries are virtual rather than fetched, but says nothing about gap, kerf, margin, layout or params, leaving most parameters 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 and resource ("Render .kerf source") plus concrete outputs (SVG or DXF, one file per sheet) and included metadata (part sizes, layers, warnings). It is clearly distinguishable from the docs/examples/parameters siblings, though it never names them 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?
"For production generators install @mylasertools/kerfscript locally" gives one real routing signal, and the 100-part/10-sheet bound tells the agent when the tool will refuse work. However there is no explicit statement of when to pick this over kerfscript_docs, kerfscript_examples or kerfscript_parameters, so the usage guidance is implied rather than stated.
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.
4 tool updates
- First observed
kerfscript_docs - First observed
kerfscript_examples - First observed
kerfscript_parameters - First observed
kerfscript_render
Related MCP Connectors
- homotopeOAuthapp.homotope
Vectorize images to SVG, PDF, EPS or DXF, and check a DXF before cutting.
Headless CAD engine & MCP server for 2D/3D drafting, solids, DXF/SVG export, and automation.
- OwlCADOAuthcom.owlcad
Parametric 3D CAD for AI agents: build print-ready parts, check them, export STL, 3MF or STEP.
Cutlist optimization for sheet, linear and roll stock, with grain, kerf, nesting and saw exports.
Related MCP Servers
- AlicenseAqualityAmaintenanceFree, open-source 2D nesting for fixed sheets (laser, CNC, plasma, waterjet, fabric): SVG/DXF import, part-in-part nesting across several sheets, validation and export. Runs as an MCP server, on the command line and in the browser.511MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to turn a furniture description into a parametric design, cut list, plywood sheet nesting, lumber cutting plan and dimensioned builder drawings, with no CAD required. When CadQuery or a licensed Autodesk Fusion is available, it also builds exact STEP/STL models and verifies them against the kernel.102MIT
- AlicenseAqualityAmaintenanceFloor plans as code. Compile, describe, lint, validate, score, repair, fix, finish, suggest and complete ArchLang (.arch) plans: a deterministic open-source DSL and compiler that renders floor plans to SVG, DXF or PDF with geometric validation. Runs locally over stdio; no API key or network needed.11826 npm26MIT
- AlicenseNot gradedqualityAmaintenanceWave soldering pallet and selective solder fixture CAM engine for PCB assembly. Parse Gerber files, generate fixture DXF, DRC reports, and RS-274 CNC G-code. Tools: • analyze_gerber_board: extract board outline, drill holes, pocket areas, and locating pins from Gerber • generate_fixture_from_gerber: build fixture DXF, DRC gate report, and CNC G-code • compute_dogbone_relief: dogbone corner relief989 PyPI1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.