KerfScript

Write, check and render parametric laser-cutting designs in KerfScript, as SVG or DXF.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
76%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~802Tokens (tool definitions)
~1.4 KBTypical response size
Moderate attention impact (0.63% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "kerfscript": {
      "command": "npx",
      "args": [
        "@mylasertools/kerfscript-mcp"
      ]
    }
  }
}

Runnable packages

npm@mylasertools/kerfscript-mcp0.1.1stdio

Remote endpoints

https://mcp.mylasertools.com/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢kerfscript_docs(topic, offset)

Read KerfScript language and JavaScript integration documentation for building laser-cutting generators. Omit topic to list guides. Long guides are paginated with nextOffset.

Input Schema

{
  "type": "object",
  "properties": {
    "topic": {
      "type": "string",
      "maxLength": 100
    },
    "offset": {
      "default": 0,
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢kerfscript_examples(query, id, offset)

Find working parametric laser-cutting examples by title, id or tags. Supply an id from the results to get its .kerf source.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "default": "",
      "type": "string",
      "maxLength": 200
    },
    "id": {
      "type": "string",
      "maxLength": 100
    },
    "offset": {
      "default": 0,
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢kerfscript_parameters(source)

Extract editable settings and customizer ranges from .kerf source to build a generator UI. Parses without rendering geometry.

Input Schema

{
  "type": "object",
  "properties": {
    "source": {
      "type": "string",
      "maxLength": 64000
    }
  },
  "required": [
    "source"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢kerfscript_render(source, params, libraries, format, sheet, ...)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "source": {
      "type": "string",
      "maxLength": 64000,
      "description": "KerfScript program. Lengths are millimetres; angles are degrees."
    },
    "params": {
      "type": "object",
      "propertyNames": {
        "type": "string",
        "maxLength": 100
      },
      "additionalProperties": {
        "anyOf": [
          {
            "type": "number"
          },
          {
            "type": "string",
            "maxLength": 2000
          },
          {
            "type": "boolean"
          },
          {
            "maxItems": 100,
            "type": "array",
            "items": {
              "type": "number"
            }
          }
        ]
      }
    },
    "libraries": {
      "description": "Optional virtual libraries keyed by the exact use/include path. No files or URLs are fetched.",
      "type": "object",
      "propertyNames": {
        "type": "string",
        "maxLength": 200
      },
      "additionalProperties": {
        "type": "string",
        "maxLength": 64000
      }
    },
    "format": {
      "default": "svg",
      "type": "string",
      "enum": [
        "svg",
        "dxf"
      ]
    },
    "sheet": {
      "type": "array",
      "items": [
        {
          "type": "number",
          "exclusiveMinimum": 0,
          "maximum": 10000
        },
        {
          "type": "number",
          "exclusiveMinimum": 0,
          "maximum": 10000
        }
      ],
      "additionalItems": false,
      "minItems": 2,
      "maxItems": 2
    },
    "kerf": {
      "type": "number",
      "minimum": 0,
      "maximum": 10
    },
    "gap": {
      "type": "number",
      "minimum": 0,
      "maximum": 100
    },
    "margin": {
      "type": "number",
      "minimum": 0,
      "maximum": 100
    },
    "layout": {
      "default": "pack",
      "type": "string",
      "enum": [
        "pack",
        "none"
      ]
    }
  },
  "required": [
    "source"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools