# set_material

A write tool on the Kiln MCP server.

Agent View of the PolicyLayer registry record for `set_material`. HTML page: https://policylayer.com/tools/kiln/set-material

## Facts

- Tool: `set_material`
- Server: Kiln (`codeofaxel/Kiln`) — https://policylayer.com/tools/kiln.md
- Homepage: https://github.com/codeofaxel/Kiln
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "set_material",
    "arguments": {}
  }
}
```

## Why set_material is rated Medium

This tool modifies printer state by changing the active material for printing jobs. It is reversible (material can be changed again) and has side effects limited to future print jobs, making it a Write operation. Severity is medium because incorrect material selection could result in failed prints or wasted materials, but does not cause permanent damage.

From the tool's own definition: "Tool name 'set_material' on a 3D printer control server (Kiln) in the context of spool management ('add_spool' is a sibling tool). The name indicates modification of printer material configuration."

## Use case

AI agents use set_material to create or update resources in Kiln, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Kiln environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Kiln:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "set_material": {
      "limits": [
        {
          "counter": "set_material_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Kiln (401)

- `cancel_print` — Destructive — https://policylayer.com/tools/kiln/cancel-print.md
- `cancel_print_recovery` — Destructive — https://policylayer.com/tools/kiln/cancel-print-recovery.md
- `cancel_print_service_order` — Destructive — https://policylayer.com/tools/kiln/cancel-print-service-order.md
- `cancel_split_plan` — Destructive — https://policylayer.com/tools/kiln/cancel-split-plan.md
- `delete_agent_note` — Destructive — https://policylayer.com/tools/kiln/delete-agent-note.md
- `delete_cached_model` — Destructive — https://policylayer.com/tools/kiln/delete-cached-model.md
- `delete_file` — Destructive — https://policylayer.com/tools/kiln/delete-file.md
- `delete_shipping_profile` — Destructive — https://policylayer.com/tools/kiln/delete-shipping-profile.md
- `fulfillment_cancel` — Destructive — https://policylayer.com/tools/kiln/fulfillment-cancel.md
- `remove_mesh_floating_regions` — Destructive — https://policylayer.com/tools/kiln/remove-mesh-floating-regions.md
- `remove_spool` — Destructive — https://policylayer.com/tools/kiln/remove-spool.md
- `rollback_design_version` — Destructive — https://policylayer.com/tools/kiln/rollback-design-version.md
- `rollback_firmware` — Destructive — https://policylayer.com/tools/kiln/rollback-firmware.md
- `untrust_printer` — Destructive — https://policylayer.com/tools/kiln/untrust-printer.md
- `acquire_printer_lock` — Execute — https://policylayer.com/tools/kiln/acquire-printer-lock.md
- `arrange_parts_on_plate` — Execute — https://policylayer.com/tools/kiln/arrange-parts-on-plate.md
- `auto_arrange_parts_on_plate` — Execute — https://policylayer.com/tools/kiln/auto-arrange-parts-on-plate.md
- `auto_orient_model` — Execute — https://policylayer.com/tools/kiln/auto-orient-model.md
- `await_print_completion` — Execute — https://policylayer.com/tools/kiln/await-print-completion.md
- `boolean_mesh_op` — Execute — https://policylayer.com/tools/kiln/boolean-mesh-op.md
- `calibrate_direct` — Execute — https://policylayer.com/tools/kiln/calibrate-direct.md
- `clear_emergency_stop` — Execute — https://policylayer.com/tools/kiln/clear-emergency-stop.md
- `compile_scad` — Execute — https://policylayer.com/tools/kiln/compile-scad.md
- `complete_print_recovery` — Execute — https://policylayer.com/tools/kiln/complete-print-recovery.md
- `confirm_print_recovery` — Execute — https://policylayer.com/tools/kiln/confirm-print-recovery.md
- `design_to_gcode_pipeline` — Execute — https://policylayer.com/tools/kiln/design-to-gcode-pipeline.md
- `emergency_stop` — Execute — https://policylayer.com/tools/kiln/emergency-stop.md
- `emergency_trip_input` — Execute — https://policylayer.com/tools/kiln/emergency-trip-input.md
- `firmware_resume_print` — Execute — https://policylayer.com/tools/kiln/firmware-resume-print.md
- `force_print_oversize` — Execute — https://policylayer.com/tools/kiln/force-print-oversize.md
- …and 371 more: https://policylayer.com/tools/kiln.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=kiln · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/kiln
