# set_fan

A write tool on the Kiln MCP server.

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

## Facts

- Tool: `set_fan`
- 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_fan",
    "arguments": {}
  }
}
```

## Why set_fan is rated Medium

Based on the name 'set_fan', this tool likely configures or adjusts a fan setting on a 3D printer (e.g., fan speed). This is a Write operation as it modifies printer state. However, with no description, confidence is reduced. Setting fans incorrectly could affect print quality or cooling, but is generally reversible. Severity is medium given the physical device context.

From the tool's own definition: "Tool name: 'set_fan'; description is empty and uninformative."

## Use case

AI agents use set_fan 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_fan": {
      "limits": [
        {
          "counter": "set_fan_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
