MCP server + CLI for AI agents to control 3D printers (OctoPrint, Moonraker, Bambu Lab, Prusa Link) — 300 tools for print farm automation
Project description
Kiln
Agentic infrastructure for physical fabrication. Kiln enables AI agents to design, slice, queue, monitor, and fulfill 3D print jobs through a unified MCP (Model Context Protocol) server and CLI.
What Kiln Does
An agent can go from intent to physical object with zero human intervention:
Agent: "Print this sensor mount"
→ Kiln validates the file
→ Checks printer readiness
→ Uploads G-code
→ Starts print
→ Monitors progress
→ Reports completion
Quick Start
1. Install
# From PyPI
pip install kiln3d
# From source (development)
pip install -e ".[dev]"
2. Configure
# Option A: Environment variables
export KILN_PRINTER_TYPE=octoprint
export KILN_PRINTER_HOST=http://octopi.local
export KILN_PRINTER_API_KEY=your_api_key
# Option B: CLI auth (saves to ~/.kiln/config.yaml)
kiln auth --name my-printer --host http://octopi.local --type octoprint --api-key YOUR_KEY
3. Run
# CLI
kiln status
kiln print model.gcode
# MCP Server
kiln serve
4. Connect from Claude Desktop
Add to ~/.config/Claude/claude_desktop_config.json:
{
"mcpServers": {
"kiln": {
"command": "kiln",
"args": ["serve"],
"env": {
"KILN_PRINTER_TYPE": "octoprint",
"KILN_PRINTER_HOST": "http://octopi.local",
"KILN_PRINTER_API_KEY": "your_api_key"
}
}
}
}
Supported Printers
| Backend | Status | Printers |
|---|---|---|
| OctoPrint | Stable | Any OctoPrint-connected printer (Prusa, Ender, custom) |
| Moonraker | Stable | Klipper-based printers (Voron, Ratrig, etc.) |
| Bambu Lab | Stable | X1C, P1S, A1 (via LAN MQTT + FTPS) |
| Prusa Link | Stable | MK4, XL, Mini+ (local REST API — type: prusaconnect) |
Features
- 273 MCP tools for full printer control, fleet management, slicing, model generation, marketplace publishing, and fulfillment
- 107 CLI commands with
--jsonoutput for agent consumption - Multi-printer fleet management with job queue and background scheduler
- Model marketplaces — search/download from MyMiniFactory, Cults3D (Thingiverse deprecated — acquired by MMF, Feb 2026)
- Slicer integration — PrusaSlicer and OrcaSlicer with auto-detection
- Text-to-model generation — Meshy AI, Tripo3D, Stability AI, OpenSCAD with auto-discovery registry
- Printability analysis — overhang detection, thin wall analysis, auto-orientation, support estimation
- Print DNA — model fingerprinting, crowd-sourced print settings, intelligent settings prediction
- Marketplace publish — one-click publish to Thingiverse/MyMiniFactory/Thangs with print "birth certificate"
- Revenue tracking — per-model creator analytics, 2.5% platform fee on Kiln-published models
- Print-as-a-Service — local vs fulfillment cost comparison, order lifecycle management
- Failure recovery — 9 failure types classified, automated recovery planning
- Multi-printer splitting — round-robin and assembly-based job distribution across fleets
- Generation feedback loop — failed print → improved prompt with printability constraints
- Smart material routing — intent-based material recommendations (8 materials, printer capability aware)
- Community print registry — opt-in crowd-sourced settings ("Waze for 3D printing")
- Fulfillment services — outsource to Craftcloud (150+ print services, no API key required)
- Safety first — pre-flight checks, G-code validation, temperature limits, optional auth
- Webhooks — HMAC-signed event notifications for job lifecycle
- OTA firmware updates — check, update, and rollback printer firmware
Architecture
AI Agent (Claude, GPT, custom)
|
| CLI or MCP (Model Context Protocol)
v
+--------------------+
| Kiln |
+--------------------+
| | | |
v v v v
OctoPrint Moonraker Bambu PrusaConnect
| | | |
v v v v
Prusa Voron X1C/P1S MK4/XL
Development
pip install -e ".[dev]"
cd kiln && python -m pytest tests/ -v # 6,339 tests
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kiln3d-0.2.2.tar.gz.
File metadata
- Download URL: kiln3d-0.2.2.tar.gz
- Upload date:
- Size: 1.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
14728f2554972d210e45e58ea85164e526103d2c2ada300eaf2e102b59f6e488
|
|
| MD5 |
bd8e1e290c4d3bbe9da2af733e986a1e
|
|
| BLAKE2b-256 |
62fee410cdbd6fba33c1010de47750d129aded5a234fdb487dd2476ab1438591
|
Provenance
The following attestation bundles were made for kiln3d-0.2.2.tar.gz:
Publisher:
publish.yml on codeofaxel/Kiln
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kiln3d-0.2.2.tar.gz -
Subject digest:
14728f2554972d210e45e58ea85164e526103d2c2ada300eaf2e102b59f6e488 - Sigstore transparency entry: 1025055041
- Sigstore integration time:
-
Permalink:
codeofaxel/Kiln@2adb40cf61729561c921fcddd303e06303177ac6 -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/codeofaxel
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@2adb40cf61729561c921fcddd303e06303177ac6 -
Trigger Event:
release
-
Statement type:
File details
Details for the file kiln3d-0.2.2-py3-none-any.whl.
File metadata
- Download URL: kiln3d-0.2.2-py3-none-any.whl
- Upload date:
- Size: 900.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97a490ca1c60e3940a6d642c9c9f831978ef6f32bcda8295a7583b46afaa2652
|
|
| MD5 |
4358e4c73f85c1f9c5a2b943b8529fd8
|
|
| BLAKE2b-256 |
98ae096a1e9f5c143ea809809a65604062cdad0ee7f114ba2d959fb4289760aa
|
Provenance
The following attestation bundles were made for kiln3d-0.2.2-py3-none-any.whl:
Publisher:
publish.yml on codeofaxel/Kiln
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kiln3d-0.2.2-py3-none-any.whl -
Subject digest:
97a490ca1c60e3940a6d642c9c9f831978ef6f32bcda8295a7583b46afaa2652 - Sigstore transparency entry: 1025055096
- Sigstore integration time:
-
Permalink:
codeofaxel/Kiln@2adb40cf61729561c921fcddd303e06303177ac6 -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/codeofaxel
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@2adb40cf61729561c921fcddd303e06303177ac6 -
Trigger Event:
release
-
Statement type: