CAT
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

Kiln

codeofaxel/kiln
21authSTDIOregistry active
Summary

Bridges Claude to physical 3D printers through OctoPrint, Moonraker, Prusa Link, Bambu Lab, Creality, and direct USB. Exposes discovery, authentication, status polling, G-code upload and slicing, print queue management, webcam snapshots, and job history as MCP tools. The agent can take a natural language request, generate or fetch STL geometry, slice it with PrusaSlicer, route it to the correct printer on your LAN, start the job, and monitor progress without manual intervention. Supports Ethernet and Wi-Fi connections, batch printing, and recovery workflows. Useful when you want conversational control over a print farm or want to close the loop from design idea to physical part in a single Claude session.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Kiln

PyPI Python License Verified by Sigstore + SLSA


Kiln is an open-source MCP server that lets AI agents (Claude Desktop, Claude Code, Codex, or any custom MCP client) drive real 3D printers end to end — Bambu Lab, Creality, Prusa, Elegoo, Voron, Sovol, AnkerMake, Artillery, FlashForge, QIDI, RatRig, and SparkX, over OctoPrint, Moonraker/Klipper, PrusaLink, and Direct USB.

In a single conversation, an agent can design a part, slice it, queue it on the right printer, monitor the camera, recover from failures, and ship the result. No human in the middle.

pip install kiln3d

A Kiln agent session: the user asks for a coaster with their dog's photo; Kiln designs it, checks it will print, slices, and prints it on a Bambu A1 — done in 41 minutes.

A 3D-printed coaster with a relief portrait of a French bulldog and the name ASH along the bottom edge, held in a hand

"a coaster with a photo of my dog Ash" — start to finish, from one sentence.
Watch the demo →

Kiln's built in the open. If it made your printing more fun, or just saved you a headache, a ⭐ on the repo helps the next maker find it.

Quick Start

Three steps. Then ask your AI to make something.

1. Install

pip install kiln3d

2. Connect your AI — Kiln sets itself up inside Claude Desktop, Claude Code, and Codex:

kiln signin        # create your free account
kiln install-mcp   # connects Kiln to your AI apps

Restart your AI app and it can run your printer. (Claude Code and Codex can even run this whole setup for you — the one-prompt version lives at kiln3d.com/install.) Using a different MCP client? kiln install-mcp --print prints the config — or paste it yourself:

Manual MCP config (any client, no sign-in needed)
{
  "mcpServers": {
    "kiln": {
      "command": "python3",
      "args": ["-m", "kiln", "serve"]
    }
  }
}

Drop this into Claude Desktop, Claude Code, Codex, Cursor, or any MCP-capable agent. Runs on the free tier until you sign in.

3. Ask — paste a sentence like this into your agent. Kiln does the rest:

I have a Bambu A1, make me a coaster with my dog's photo on it

That's the whole happy path. Your AI does the designing, slicing, and printing — you never touch a CLI. OS-specific walkthrough (Windows, WSL 2, Linux) at kiln3d.com/install.

[!TIP] kiln doctor checks your whole setup and tells you exactly what to fix. kiln self-update upgrades in place when a new release lands.

Prefer to drive it yourself? (CLI tour)
# Discover printers on your network (mDNS + HTTP probe)
kiln discover

# Add your printer (see the printer table under "Supported Printers")
kiln auth --name my-printer --host http://octopi.local --type octoprint --api-key YOUR_KEY
# Other types:
# kiln auth --name prusa  --host http://192.168.1.100      --type prusalink --api-key YOUR_KEY
# kiln auth --name klipper --host http://192.168.1.100:7125 --type moonraker
# kiln auth --name bambu  --host 192.168.1.100             --type bambu --access-code LAN_CODE --serial SERIAL

kiln status                       # Printer state + job progress
kiln upload model.gcode           # Upload a file
kiln print model.gcode            # Start printing
kiln slice model.stl --print-after  # Slice an STL and print in one step
kiln print *.gcode --queue        # Batch print
kiln wait                         # Monitor a running print
kiln snapshot --save photo.jpg    # Webcam snapshot
kiln history --status completed   # Print history

# Every command supports --json for agent consumption
kiln status --json

Global option: --printer <name> targets a specific printer per command. The full command reference is in Project Docs.

Connect a specific agent (Claude Code, Claude Desktop, env vars)

Claude Code — add to .claude/settings.json (project) or ~/.claude/settings.json (global):

{
  "mcpServers": {
    "kiln": { "command": "kiln", "args": ["serve"] }
  }
}

Claude Code uses your ~/.kiln/config.yaml for printer credentials (set via kiln setup or kiln auth). No env vars needed if a printer is already configured.

Claude Desktop — add to ~/.config/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "kiln": {
      "command": "python3",
      "args": ["-m", "kiln", "serve"],
      "env": {
        "KILN_PRINTER_HOST": "http://192.168.1.100",
        "KILN_PRINTER_API_KEY": "your_key",
        "KILN_PRINTER_TYPE": "prusalink"
      }
    }
  }
}

Set KILN_PRINTER_TYPE to your backend: octoprint, moonraker, bambu, prusalink, elegoo, or serial — or skip env vars entirely if you've run kiln setup.

Any other LLM (OpenRouter) — Kiln works with any model that supports OpenAI-compatible function calling, not just Claude:

export KILN_OPENROUTER_KEY=sk-or-...
kiln agent --model openai/gpt-4o
kiln agent --model meta-llama/llama-3.1-70b-instruct --tier essential

Tool tiers auto-match model capability: essential (16 tools) for smaller models, standard (61 tools) for mid-range, full (133 tools) for stronger models. All 831 tools are available over MCP via kiln serve.

Platform & printer setup notes (Linux/WSL 2, Ethernet-only, Bambu)

Prerequisites by printer type

Printer--typeWhat you need
Prusa MK4/XL/Mini+prusalinkIP + API key (Settings › Network › PrusaLink on the LCD)
OctoPrint (any printer)octoprintOctoPrint URL + API key (Settings › API)
Klipper/MoonrakermoonrakerMoonraker URL (usually http://<ip>:7125)
Creality K1/K2/Hi/Ender V4/V3 KEcrealityIP + printer_model (e.g. creality_k1_max); probes local Moonraker ports
Bambu LabbambuIP + LAN access code + serial number (all on the LCD)
Elegoo (SDCP)elegooIP only — no auth. Neptune 4 / OrangeStorm Giga use moonraker.
Direct USB (Marlin)serialUSB cable only — no network. Ender 3, Prusa MK3, CR-10, any Marlin/RepRap printer.

Kiln only needs IP reachability on your LAN. Ethernet-only printers are fully supported.

Optional tools: PrusaSlicer or OrcaSlicer for slicing STL → G-code (brew install --cask prusaslicer); OpenSCAD for local text-to-3D generation (brew install openscad); set KILN_GEMINI_API_KEY to enable Gemini-generated geometry.

Linux / WSL 2

pipx installs Kiln into its own isolated environment and puts kiln on your PATH. (The pip package is kiln3d; the CLI command is kiln.)

sudo apt install pipx && pipx ensurepath
git clone https://github.com/codeofaxel/Kiln.git && cd Kiln
pipx install ./kiln
sudo apt install prusa-slicer openscad   # optional: slicing + generation
kiln verify

# Update / uninstall
git pull && pipx install --force ./kiln
pipx uninstall kiln3d

WSL 2 networking: WSL 2 uses NAT, so mDNS discovery (kiln discover) won't see printers on your home network. Connect directly by IP instead (same as Ethernet-only setups).

Ethernet-only printers (no Wi-Fi)

Kiln works the same over Ethernet and Wi-Fi — it talks to printer APIs over LAN IP. Verify the printer endpoint responds, then register by IP:

curl http://<ip>/api/version                              # OctoPrint
curl http://<ip>:7125/server/info                         # Moonraker / Creality (local Moonraker)
curl -H "X-Api-Key: YOUR_KEY" http://<ip>/api/v1/status   # Prusa Link
# Bambu uses MQTT — ensure port 8883 is reachable:  nc -zv <ip> 8883

kiln auth --name my-printer --host http://<ip> --type prusalink --api-key YOUR_KEY

If PrusaSlicer isn't on your PATH: export KILN_SLICER_PATH=/path/to/prusa-slicer.

Bambu TLS & webcam

Kiln pins the printer certificate (TOFU) on first connection in ~/.kiln/bambu_tls_pins.json. Overrides:

export KILN_BAMBU_TLS_MODE=ca         # strict CA/hostname (usually fails on stock self-signed printers)
export KILN_BAMBU_TLS_MODE=insecure   # legacy, no validation — trusted LANs only
export KILN_BAMBU_TLS_FINGERPRINT=0123abcd...   # explicit SHA-256 pin

Webcam capture is model-dependent: A1, A1 Mini, P1P, P1S serve frames over TLS+JPEG (no extra software). The X1 series (X1C, X1E) serves RTSPS, which Kiln relays via ffmpeg — so on an X1, both snapshots and the live stream need ffmpeg (brew install ffmpeg / sudo apt install ffmpeg). can_snapshot is reported True for every Bambu model; on an X1 without ffmpeg, the attempt surfaces a clear model-specific error rather than failing silently.

Paid tiers (kiln3d.com/pricing) add Git-for-3D versioning, product templates, assembly manuals, fleet workflows, SSO + SCIM, ERP webhooks, and long-term audit logs.

Why Kiln?

  • One control plane, any printer — OctoPrint, Moonraker, Creality, Bambu Lab, Prusa Link, Elegoo, Serial. Manage a mixed fleet from one place.
  • No printer? No problem — Outsource jobs to Craftcloud's 150+ manufacturing services through the hosted proxy, or use direct mode with your own provider credentials.
  • AI-native — 838 MCP capabilities and 224 CLI commands built for AI agents. Not a web UI with an API bolted on.
  • Describe it, print it — Natural-language to physical object pipeline: text or sketch → AI generation → validation → slice → print.
  • Decorate anything — QR codes, photos, logos, text, SVGs, and procedural textures (tiger stripe, marble, camo, wood grain, honeycomb) embossed or debossed onto any model with one command.
  • Manuals included — Multi-part prints can generate printable PDF assembly manuals with Bill of Materials, isometric step renders, mating arrows, and pause-and-check verification gates. (Business)
  • Resume, don't restart — Cancelled or failed print? Resume from the exact layer it stopped on any supported FDM printer. No filament wasted. (Pro)
  • Modify mid-print — Add decorations, append features, or swap materials on a live print with atomic revert if anything goes wrong. (Pro)
  • Smart material routing — 25 materials, 45 brand-specific filament profiles (Bambu, Prusament, Polymaker, and more) across 11 material families. Intent-based recommendations with printer capability awareness.
  • Prints don't fail silently — Cross-printer learning, automatic failure recovery, closed-loop AI generation feedback (failed prints auto-improve future generations), preflight safety checks on every job.
  • Doomed prints stopped early — Too big for the build plate, or a material your hotend can't melt? Caught before filament is wasted, rotated to fit when possible, one-command override. Pro shows the fix: true usable area, cleanest split, or the material to switch to.
  • Search → Slice → Print — Search and download 3D models from MyMiniFactory and Cults3D (search only), auto-slice with PrusaSlicer or OrcaSlicer, print — all from one agent conversation.
  • Safety at scale — 51 named per-printer safety profiles, G-code validation, heater watchdog, tamper-proof audit logs. Enterprise adds encrypted G-code at rest with key rotation, lockable profiles, RBAC, SSO, fleet site grouping, per-project cost tracking, and PostgreSQL HA.

Supported Printers

BackendStatusPrinters
OctoPrintStableAny OctoPrint-connected printer (Prusa, Ender, custom)
MoonrakerStableKlipper-based printers (Voron, Ratrig, etc.)
CrealityStable when Moonraker is reachableSPARKX i7, K1/K1 Max/K1C/K1 SE, K2/K2 Pro/K2 Plus/K2 SE, Creality Hi, Ender-3 V4/V3 KE, Ender-5 Max, CR-10 SE via local Moonraker. Older Marlin Creality printers use serial or octoprint.
BambuStableBambu Lab X1C, X1E, P1S, P1P, P2S, A1, A1 Mini, A2L, H2S (via LAN MQTT)
Prusa LinkStablePrusa MK4, XL, Mini+ (local REST API — type: prusalink)
ElegooStableCentauri Carbon, Saturn, Mars series (via LAN WebSocket/SDCP). Neptune 4 / OrangeStorm Giga use Moonraker.
Direct USBStableAny Marlin-based printer over USB (Ender 3, Prusa MK3, CR-10, etc.). No OctoPrint or Klipper needed — just a USB cable. Type: serial.

Kiln ships tuned profiles for 49 models across 12 brands — Creality, Bambu Lab, Elegoo, Prusa Research, Sovol, Voron, AnkerMake, Artillery, FlashForge, QIDI, RatRig, SparkX. See the full searchable list →

Architecture

graph TD
    A["🤖 AI Agent<br/><sub>Claude · GPT · Custom</sub>"]
    A -->|"CLI or MCP"| B["⚙️ Kiln<br/><sub>CLI + MCP Server</sub>"]

    B --> C["🖨️ Your Printers"]
    B --> F["🏭 Fulfillment"]
    B --> D["🛒 Marketplaces"]
    B --> V["📐 Designs (versioned)<br/><sub>Pro+</sub>"]

    C --> E1["OctoPrint"]
    C --> E2["Moonraker"]
    C --> E3["Creality"]
    C --> E4["Bambu"]
    C --> E5["Prusa Link"]
    C --> E6["Elegoo"]

    F --> F1["Craftcloud"]

    D --> I["MyMiniFactory"]
    D --> J["Cults3D"]

    V --> V1["Branches"]
    V --> V2["Signed Releases"]
    V --> V3["Cloud Sync"]

    style A fill:#1a1a2e,stroke:#e94560,color:#fff
    style B fill:#16213e,stroke:#0f3460,color:#fff
    style C fill:#0f3460,stroke:#e94560,color:#fff
    style F fill:#0f3460,stroke:#27ae60,color:#fff
    style D fill:#0f3460,stroke:#533483,color:#fff
    style V fill:#0f3460,stroke:#f59e42,color:#fff
    style E1 fill:#2d2d44,stroke:#e94560,color:#fff
    style E2 fill:#2d2d44,stroke:#e94560,color:#fff
    style E3 fill:#2d2d44,stroke:#e94560,color:#fff
    style E4 fill:#2d2d44,stroke:#e94560,color:#fff
    style E5 fill:#2d2d44,stroke:#e94560,color:#fff
    style F1 fill:#2d2d44,stroke:#27ae60,color:#fff
    style I fill:#2d2d44,stroke:#533483,color:#fff
    style J fill:#2d2d44,stroke:#533483,color:#fff
    style V1 fill:#2d2d44,stroke:#f59e42,color:#fff
    style V2 fill:#2d2d44,stroke:#f59e42,color:#fff
    style V3 fill:#2d2d44,stroke:#f59e42,color:#fff

Agents can also outsource jobs through Craftcloud fulfillment and search models on MyMiniFactory and Cults3D (search only). On Pro and up, the design store itself is versioned — branches, signed releases, and cross-machine cloud sync are first-class outputs of the system, not a side database.

Git for 3D

Designs aren't text, but they need version control. Kiln treats meshes, decorations, and mechanical features as first-class versioned artifacts: branch a design, print variants, merge what works, sign releases with cryptographic proof the mesh hasn't changed.

Three things make this different from git:

  1. Outcome-correlated branches. Every branch is tagged with empirical print results — success rate, warp, adhesion, cost — so cross-branch A/B is automatic, not anecdotal.
  2. 3-way semantic mesh merge. Z-level / pocket / bounding-box conflict zones rendered as visual diffs, not text patches. Manufacturing tolerance, not character offsets.
  3. Signed releases with mesh re-fingerprinting. Ed25519 signatures over a release manifest pinned to an exact mesh; verification re-computes the fingerprint to detect tamper after release.

Here's what visualize_branch_tree("my-coaster") actually emits — the same renderer the workshop, CLI, and your agent see (yellow = signed release, light blue = experiment, light red = branch with failed outcomes):

flowchart TD
    subgraph tree_coaster["📐 my-coaster · design"]
        v0[v0: initial]
        v1[v1: emboss-1mm<br/>83% success]
        v2[v2: emboss-2mm<br/>92% success · warp 2%]
        v3[v3: emboss-3mm<br/>warp 5%]
        v4[v4: merge winner]
        rel[🔏 1.0.0]
        v0 --> v1
        v0 --> v2
        v0 --> v3
        v2 --> v4
        v4 --> rel
    end
    classDef root fill:#f3f4f6,stroke:#374151,color:#111
    classDef released fill:#ffd60a,stroke:#111,stroke-width:3px,color:#111
    classDef experiment fill:#e0e7ff,stroke:#6366f1,color:#1e1b4b
    classDef failed fill:#fecaca,stroke:#b91c1c,color:#7f1d1d
    class v0 root
    class v1 experiment
    class v2 experiment
    class v3 failed
    class v4 experiment
    class rel released
    style tree_coaster fill:#ffffff,stroke:#e5e7eb,stroke-width:1px
TierWhat you get
FreeLinear local design history (save / diff / rollback)
ProBranch · merge · cherry-pick · Ed25519 signed releases · solo cloud sync
BusinessTeam pull requests · approval gates · orgs / teams / scopes
EnterpriseAudit log export · SSO · step-up authentication on releases · access review

Patent pending across semantic mesh merge, outcome-correlated branching, and signed-release-with-physical-provenance.

What Agents Can Do

The Kiln MCP server (kiln serve) exposes 831 tools to agents, plus prompts and resources for 838 total MCP capabilities. Rather than list them all here, agents browse the live catalog with get_skill_manifest and ToolSearch-style discovery. A representative slice:

ThemeExample tools
Controlprinter_status · start_print · monitor_print · pause_print · cancel_print · emergency_stop · send_gcode (validated)
Makegenerate_model (text → 3D) · slice_and_print · analyze_printability · auto_orient_model · decorate_surface (QR/photo/logo/texture)
Find & outsourcesearch_all_models · download_and_upload · fulfillment_quote · fulfillment_order
Recover & learnretry_print_with_fix · resume_interrupted_print (Pro) · predict_print_failure · get_printer_insights · diagnose_print_failure_live
Versioning (Pro+)save_design_version · diff_design_versions · get_proven_recipe · check_design_regression
Fleet & safetyfleet_status · submit_job · preflight_check · list_safety_profiles · validate_gcode_safe

The complete tool catalog, grouped by subsystem, lives in Project Docs.

MCP resources (read-only context for agents)
Resource URIDescription
kiln://statusSystem-wide snapshot (printers, queue, events)
kiln://printersFleet listing with idle printers
kiln://printers/{name}Detailed status for a specific printer
kiln://queueJob queue summary and recent jobs
kiln://queue/{job_id}Detail for a specific job
kiln://eventsRecent events (last 50)

Capabilities

Search → download → print. Kiln searches MyMiniFactory and Cults3D (search only) in one call via search_all_models, downloads where supported, and uploads straight to a printer — a full design-to-print loop with no human in the middle. (Thingiverse is supported but deprecated since its Feb 2026 acquisition by MyMiniFactory; prefer MMF.) Marketplace access uses free API keys (KILN_MMF_API_KEY, KILN_CULTS3D_USERNAME + KILN_CULTS3D_API_KEY).

AI model generation. Set any provider key and it's available instantly — KILN_MESHY_API_KEY, KILN_TRIPO3D_API_KEY, KILN_STABILITY_API_KEY, KILN_GEMINI_API_KEY — or use local OpenSCAD with no key. Generated meshes are auto-validated for printability (manifold, triangle count, bounding box) before printing. kiln generate renders a 3-view preview by default.

Slicing. Wraps PrusaSlicer and OrcaSlicer for headless slicing; auto-detects installed slicers on PATH, macOS app bundles, or via KILN_SLICER_PATH. Supports STL, 3MF, STEP, OBJ, AMF with material-aware temps and smart supports.

Fulfillment (no printer required). Print through Craftcloud's network — quote, validate address, confirm, order, track — or run alongside your own printers for overflow and specialty materials. Normal users go through the hosted proxy (credentials stay server-side, spend limits enforced); operators can use direct mode with KILN_FULFILLMENT_PROVIDER=craftcloud + KILN_CRAFTCLOUD_API_KEY.

Decoration & textures. Emboss or deboss QR codes, photos, logos, text, and SVGs onto any model face, or apply procedural textures (tiger stripe, marble, camo, wood grain, honeycomb) with a single tool call.

Pricing

All local printing is free forever — status, file management, slicing, fleet control, and printing to your own printers cost nothing. Kiln charges a 5% orchestration fee on orders placed through external manufacturing services (first 3/month free, $0.25 min / $200 max per order), shown transparently in every quote.

TierPriceHeadline
Free$0Unlimited local printing, slicing, marketplace search, safety profiles, one printer, design intelligence, linear design history.
Pro$49/moGit-for-3D branching/signed releases, product templates, procedural textures, mid-print modification, print resume, failure recovery, nozzle-wear tracking, solo cloud sync.
Business$199/moCommercial use, 3 printers + 3 seats, fleet management, cross-printer learning, QR generation, assembly manuals, team pull requests, approval gates, fulfillment, webhooks.
EnterpriseContact usLarge fleets, SSO/SCIM, RBAC, audit trail, encrypted G-code at rest, white-label manuals, 99.9% SLA, on-prem/VPC.

Full comparison at kiln3d.com/pricing. Run kiln upgrade to activate a license key. For provider-routed orders, the provider remains merchant of record; Kiln acts as orchestration infrastructure.

Safety

Kiln is safety-first infrastructure for controlling physical machines:

  • Pre-flight checks validate printer state, temperatures, and files before every print
  • G-code validation blocks dangerous commands (firmware reset, unsafe temperatures)
  • Temperature limits enforce safe maximums (300 °C hotend, 130 °C bed)
  • Confirmation required for destructive operations (cancel, raw G-code)
  • Optional authentication with scope-based API keys for multi-user setups
  • Structured errors ensure agents always know when something fails

Packages

This monorepo contains two packages:

PackageDescriptionEntry point
kilnCLI + MCP server for multi-printer control (OctoPrint, Moonraker, Creality, Bambu, Prusa Link, Elegoo, Direct USB)kiln or python -m kiln
octoprint-cliLightweight standalone CLI for OctoPrint-only setupsoctoprint-cli

Development

# Create a virtualenv first (required on modern Ubuntu/Debian/WSL)
python3 -m venv .venv && source .venv/bin/activate

pip install -e "./kiln[dev]"
pip install -e "./octoprint-cli[dev]"

cd kiln && python3 -m pytest tests/ -v
cd ../octoprint-cli && python3 -m pytest tests/ -v
Configuration reference (auth, webhooks, discovery, plugins)

Authentication (optional)

Optional API-key auth for MCP tools, disabled by default. Scopes: read, write, admin. Read-only tools never require auth.

export KILN_AUTH_ENABLED=1
export KILN_AUTH_KEY=your_secret_key
export KILN_MCP_AUTH_TOKEN=your_secret_key   # clients provide their key here

Webhooks

Register HTTP endpoints for real-time event notifications:

register_webhook(url="https://example.com/hook", events=["job.completed", "print.failed"])

Payloads are signed with HMAC-SHA256 when a secret is provided. Redirects are blocked by default (KILN_WEBHOOK_ALLOW_REDIRECTS=0); when enabled, each hop is SSRF-validated and HTTPS→HTTP downgrade is blocked.

Printer discovery

kiln discover   # mDNS/Bonjour + HTTP subnet probing

Finds OctoPrint, Moonraker/Creality, Bambu, Elegoo, and Prusa Link printers. If discovery returns nothing, register directly by IP with kiln auth.

Third-party plugins

Entry-point plugins are default-deny in production (KILN_PLUGIN_POLICY=strict). Allow specific plugins with KILN_ALLOWED_PLUGINS=my_plugin,other_plugin, or set KILN_PLUGIN_POLICY=permissive for temporary migration compatibility.

Modules (for contributors)
ModuleDescription
server.pyMCP server with tools, resources, and subsystem wiring
printers/Printer adapter abstraction (OctoPrint, Moonraker, Creality, Bambu, Prusa Link, Elegoo)
marketplaces/Model marketplace adapters (MyMiniFactory, Cults3D, Thingiverse, metadata-only sources)
slicer.pySlicer integration (PrusaSlicer, OrcaSlicer) with auto-detection
registry.pyFleet registry for multi-printer management
queue.pyPriority job queue with status tracking
scheduler.pyBackground job dispatcher with history-based smart routing
events.pyPub/sub event bus with history
persistence.pySQLite storage for jobs, events, and settings
webhooks.pyEvent-driven webhook delivery with HMAC signing
auth.pyOptional API key authentication with scope-based access
discovery.pyNetwork printer discovery (mDNS + HTTP probe)
generation/Text-to-model generation providers (Meshy, Tripo3D, Stability AI, Gemini Deep Think, OpenSCAD) with auto-discovery, mesh validation, and printability analysis
consumer.pyConsumer workflow for non-printer users (address validation, material recommendations, timeline/price estimation, onboarding)
cost_estimator.pyPrint cost estimation from G-code analysis
materials.pyMulti-material and spool tracking
material_catalog.pyMaterial brand catalog, properties, and purchase-link metadata
material_inventory.pyFleet material inventory and assignment tracking
bed_leveling.pyAutomated bed leveling trigger system
streaming.pyMJPEG webcam streaming proxy
cloud_sync.pyCloud sync for printer configs and job history
plugin_loader.pyInternal tool-plugin discovery and registration
plugins/Focused MCP tool modules loaded by the plugin loader
gcode.pyG-code safety validator with per-printer limits
gcode_interceptor.pyRule-based G-code interception and safety rewriting
safety_profiles.pyBundled safety database (51 named printer models, temps/feedrates/flow)
slicer_profiles.pyBundled slicer profiles (auto-generates .ini files per printer)
printer_intelligence.pyPrinter knowledge base (firmware quirks, materials, failure modes)
pipelines.pyPre-validated print pipelines (quick_print, calibrate, benchmark)
assembly.pyMulti-part assembly validation and manual planning support
design_versions.pyLocal design history, version records, diffs, and rollback primitives
mesh_validation_pipeline.pyMulti-gate printability validation pipeline
model_visualizer.pyLocal model preview rendering
tool_schema.pyOpenAI function-calling schema converter (MCP → OpenAI format)
tool_tiers.pyTool tier definitions (essential/standard/full) for model capability matching
agent_loop.pyGeneric agent loop for any OpenAI-compatible API (OpenRouter, direct, etc.)
openrouter.pyOpenRouter integration with model catalog and auto-tier detection
data/Bundled JSON databases (safety profiles, slicer profiles, printer intelligence)
gateway/External-provider integration gateway (as integrations launch)
heater_watchdog.pyAuto-cooldown watchdog for idle heaters
wallets.pyCrypto wallet configuration (Solana/Ethereum for donations and fees)
pro_tool_manifest.jsonPublic manifest for kiln-pro tool discovery and REST proxy stubs
decoration_quota.pyFree-tier decoration quota tracking and tier resolution hooks
cli/Click CLI with 224 commands and JSON output
deploy/Kubernetes manifests and Helm chart for on-prem Enterprise deployment

kiln-pro (kiln3d.com) extends public Kiln with paid-tier REST serving, billing, licensing, SSO, RBAC, G-code encryption, uptime reporting, team administration, and project-cost workflows. Public Kiln exposes only the interface/proxy surface for those capabilities; the private implementation stays in kiln-pro.

Documentation

DocumentDescription
Project DocsComplete reference (CLI, MCP tools, adapters, config)
Brand assets

Logo files live in docs/assets/ — all vector SVG, scale to any size.

FileUse
kiln-banner-1280x640.svg / kiln-banner-1280x640-light.svgGitHub / social media banner (dark / light scheme)
kiln-logo-dark.svg / kiln-logo-light.svgPrimary mark + wordmark (dark / light bg)
kiln-horizontal-dark.svg / kiln-horizontal-light.svgHorizontal lockup (dark / light bg)
kiln-logo-dark-notext.svgMark only (dark bg)
kiln-favicon-256.svgFavicon / app icon
kiln-logo-transparent.svg / kiln-logo-transparent-dark.svgTransparent bg (for dark / light UIs)
kiln-pfp-1024.svg / kiln-pfp-1024-flat.svgSocial profile picture, with / without glow (1024×1024)
wallpapers/kiln-wallpaper-iphone-*.svgiPhone wallpapers
wallpapers/kiln-wallpaper-macbook-*.svgMacBook wallpapers

Support Development

Kiln is free, open-source software. If you find it useful, consider sending a tip:

  • Solana: kiln3d.sol
  • Ethereum: kiln3d.eth

Positioning

Messaging clarification (February 24, 2026): We clarified wording to remove ambiguity and align with existing intent; no strategy change. Kiln is orchestration and agent infrastructure for fabrication workflows. Kiln does not operate a first-party decentralized manufacturing marketplace/network. Kiln integrates with third-party providers and external provider/network adapters as integrations are available.

Non-goals: operating a first-party decentralized manufacturing marketplace/network; replacing partner supply-side networks; owning provider marketplaces instead of integrating with them; acting as merchant of record for provider-routed manufacturing orders.

License

Kiln is a project of Hadron Labs Inc.

AGPL-3.0 License — open source with copyleft. Commercial licensing available for companies that need proprietary use.

By contributing, you agree to the Contributor License Agreement.

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Configuration

KILN_PRINTER_HOST

URL of your 3D printer (OctoPrint, Moonraker, Creality, or Prusa Link)

KILN_PRINTER_API_KEYsecret

API key for your printer's REST API

KILN_PRINTER_TYPE

Printer type: octoprint, moonraker, creality, bambu, prusalink, elegoo, or serial

Categories
Design & CreativeMonitoring & Observability
Registryactive
Packagekiln3d
TransportSTDIO
AuthRequired
UpdatedJun 4, 2026
View on GitHub

Related Design & Creative MCP Servers

View all →
HTML to Figma — Design System

miapre/html-to-figma-design-system

Translate HTML prototypes into Figma using your design system's real components and tokens.
3
Illustrator Mcp Server

ie3jp/illustrator-mcp-server

Read, manipulate, and export Adobe Illustrator design data. 26 tools. macOS | Windows.
44
Godot

coding-solo/godot-mcp

MCP server for interfacing with Godot game engine. Provides tools for launching the editor, running projects, and capturing debug output.
3.7k
Unity Mcp

ivanmurzak/unity-mcp

Make 3D games in Unity Engine with AI. MCP Server + Plugin for Unity Editor and Unity games.
3.1k
Excalidraw

yctimlin/mcp_excalidraw

Provides an Excalidraw canvas exposed via MCP for real-time diagramming and element CRUD from AI agents.
1.9k
Figma MCP Server

figma/mcp-server-guide

The Figma MCP server brings Figma design context directly into your AI workflow.
1.6k