# Kiln

Connects AI assistants to 3D printers for modeling, slicing, and print monitoring. Operates autonomously via OctoPrint, Klipper, or a cloud API.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 219
- Author: codeofaxel
- License: AGPL-3.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/codeofaxel/Kiln
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/mcp/kiln

## What it does

Kiln connects AI coding agents to physical 3D printers. The agent drafts geometry and slices layers autonomously. During fabrication, the server checks the camera feed to catch failed jobs early.

Connections run through Moonraker, OctoPrint, or direct USB. Supported hardware covers Bambu Lab, Prusa, and Creality machines. Parametric modeling requires `OpenSCAD` on your machine. The execution itself relies on `uv`.

Without configuring `KILN_PRINTER_HOST` and `KILN_PRINTER_API_KEY`, your agent cannot reach the physical device. For purely remote modeling tests, Kiln provides `https://api.kiln3d.com/mcp`.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Environment variables: `KILN_PRINTER_HOST`, `KILN_PRINTER_API_KEY`, `KILN_PRINTER_TYPE` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env KILN_PRINTER_HOST=<KILN_PRINTER_HOST> --env KILN_PRINTER_API_KEY=<KILN_PRINTER_API_KEY> --env KILN_PRINTER_TYPE=<KILN_PRINTER_TYPE> --transport stdio kiln -- uvx kiln3d
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from kiln3d <command>

### Codex

**Platform CLI**
```bash
codex mcp add kiln --env KILN_PRINTER_HOST=<KILN_PRINTER_HOST> --env KILN_PRINTER_API_KEY=<KILN_PRINTER_API_KEY> --env KILN_PRINTER_TYPE=<KILN_PRINTER_TYPE> -- uvx kiln3d
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from kiln3d <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "kiln": {
            "command": "uvx",
            "args": [
                "kiln3d"
            ],
            "env": {
                "KILN_PRINTER_HOST": "<KILN_PRINTER_HOST>",
                "KILN_PRINTER_API_KEY": "<KILN_PRINTER_API_KEY>",
                "KILN_PRINTER_TYPE": "<KILN_PRINTER_TYPE>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from kiln3d <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "kiln": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "kiln3d"
            ],
            "env": {
                "KILN_PRINTER_HOST": "<KILN_PRINTER_HOST>",
                "KILN_PRINTER_API_KEY": "<KILN_PRINTER_API_KEY>",
                "KILN_PRINTER_TYPE": "<KILN_PRINTER_TYPE>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from kiln3d <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e KILN_PRINTER_HOST=<KILN_PRINTER_HOST> -e KILN_PRINTER_API_KEY=<KILN_PRINTER_API_KEY> -e KILN_PRINTER_TYPE=<KILN_PRINTER_TYPE> kiln uvx kiln3d
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from kiln3d <command>

## When to use it
- Generate 3D parts from text descriptions
- Slice model files and dispatch them to print queues
- Monitor extruder progress via attached camera feeds
- Halt or recover active print jobs after errors

## Example prompts
- Design a custom electronics bracket and queue it on Moonraker
- Check the Bambu printer status and current bed temperature
- Slice the enclosure model and send the job to OctoPrint

## Similar
- [Pascal 3D Editor](https://affpapa.org/en/nevibecode/mcp/pascal-3d-editor.md) — MCP server · ★ 25085
- [Unity-MCP](https://affpapa.org/en/nevibecode/mcp/unity-mcp.md) — MCP server · ★ 4523
- [mcp](https://affpapa.org/en/nevibecode/mcp/sceneview-mcp.md) — MCP server · ★ 1348
- [Gearboy MCP Server](https://affpapa.org/en/nevibecode/mcp/gearboy-mcp-server.md) — MCP server · ★ 1219
- [ChiR24-unreal_mcp_server](https://affpapa.org/en/nevibecode/mcp/chir24-unreal-mcp-server.md) — MCP server · ★ 975
- [Nova3D](https://affpapa.org/en/nevibecode/mcp/nova3d.md) — MCP server · ★ 733

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
