### Install Kiln3D Source: https://kiln3d.com/docs Install Kiln3D from PyPI or from source for development. Requires Python 3.10+. ```bash # From PyPI pip install kiln3d # From source (development) pip install -e ./kiln ``` -------------------------------- ### Install Elegoo Adapter Dependencies Source: https://kiln3d.com/docs Install the necessary package for the Elegoo adapter using pip. ```bash pip install 'kiln[elegoo]' ``` -------------------------------- ### Clone Kiln Repository and Install Dependencies Source: https://kiln3d.com/docs Clone the Kiln repository and install the development dependencies for Kiln and octoprint-cli. This sets up the local environment for development. ```bash git clone https://github.com/codeofaxel/Kiln.git cd kiln pip install -e "./kiln[dev]" pip install -e "./octoprint-cli[dev]" ``` -------------------------------- ### Perform First Print with Kiln3D Source: https://kiln3d.com/docs Check printer status, run preflight safety checks, upload a file, start printing, and wait for completion. ```bash kiln status # Verify printer is online kiln preflight --material PLA # Run safety checks kiln upload benchy.gcode # Upload file to printer kiln print benchy.gcode # Start printing kiln wait # Block until complete ``` -------------------------------- ### Enable Kiln3D Authentication Source: https://kiln3d.com/docs Set environment variables to enable authentication and define a secret key. This is recommended for multi-user or network-exposed setups. ```bash export KILN_AUTH_ENABLED=1 export KILN_AUTH_KEY=your_secret_key ``` -------------------------------- ### Kiln3d Configuration File Source: https://kiln3d.com/docs Example configuration file for Kiln3d, specifying active printer and details for different printer types like Moonraker, OctoPrint, and Bambu. Settings like timeout and retries can also be defined. ```yaml active_printer: my-voron printers: my-voron: type: moonraker host: http://voron.local:7125 ender3: type: octoprint host: http://octopi.local api_key: ABC123 x1c: type: bambu host: 192.168.1.100 access_code: "12345678" serial: "01P00A000000001" settings: timeout: 30 retries: 3 ``` -------------------------------- ### Run Kiln and Octoprint-CLI Tests Source: https://kiln3d.com/docs Execute the test suites for both the Kiln project and the octoprint-cli package. This verifies the functionality of the installed components. ```bash cd kiln && python3 -m pytest tests/ -v # public Kiln test suite cd ../octoprint-cli && python3 -m pytest tests/ -v # 223 tests ``` -------------------------------- ### Slice and Print STL Files Source: https://kiln3d.com/docs Automatically detect and use PrusaSlicer or OrcaSlicer to convert an STL file to G-code, upload it, and start printing. ```bash kiln slice benchy.stl --print-after ``` -------------------------------- ### Configure Marketplace API Keys Source: https://kiln3d.com/docs Set environment variables for each marketplace to enable them for searches. Ensure you use the correct key type for each service. ```bash export KILN_MMF_API_KEY=your_key # MyMiniFactory developer key (recommended) export KILN_CULTS3D_USERNAME=your_username # Cults3D account username export KILN_CULTS3D_API_KEY=your_key # https://cults3d.com/en/api/keys export KILN_THINGIVERSE_TOKEN=your_token # Deprecated — Thingiverse acquired by MyMiniFactory (Feb 2026) ``` -------------------------------- ### Elegoo (SDCP) Configuration Source: https://kiln3d.com/docs Configure the Elegoo adapter using the SDCP protocol. Specify type and host; mainboard_id is optional. ```yaml type: elegoo host: 192.168.1.50 mainboard_id: ABCD1234ABCD1234 # optional, auto-discovered ``` -------------------------------- ### Configure Claude Desktop Integration Source: https://kiln3d.com/docs Add this configuration to `~/.config/Claude/claude_desktop_config.json` to integrate the MCP server with Claude Desktop. Ensure you replace placeholder values for API keys and hostnames. ```json { "mcpServers": { "kiln": { "command": "python", "args": ["-m", "kiln", "serve"], "env": { "KILN_PRINTER_HOST": "http://octopi.local", "KILN_PRINTER_API_KEY": "your_key", "KILN_PRINTER_TYPE": "octoprint" } } } } ``` -------------------------------- ### Creality Diagnostics Command Source: https://kiln3d.com/docs Run this command to verify Creality adapter configuration and diagnose connectivity issues. ```bash kiln doctor-creality --host 192.168.1.55 --model k1_max ``` -------------------------------- ### Bambu Lab Configuration Source: https://kiln3d.com/docs Configure the Bambu Lab adapter for MQTT communication. Requires host, access code, and serial number. ```yaml type: bambu host: 192.168.1.100 access_code: "12345678" serial: "01P00A000000001" ``` -------------------------------- ### Discover Printers with Kiln3D Source: https://kiln3d.com/docs Scan your local network for 3D printers using mDNS and HTTP probing. ```bash kiln discover ``` -------------------------------- ### System Tools Source: https://kiln3d.com/docs Tools for monitoring system health, managing events, and configuring webhooks. ```APIDOC ## System Tools ### `kiln_health` **Description**: Checks the health of the Kiln system, reporting version, uptime, and module status. ### `recent_events` **Description**: Retrieves a list of recent system events. **Input**: `limit` (integer, optional) ### `register_webhook` **Description**: Registers a webhook to receive notifications for specified events. **Input**: `url` (string), `events` (array of strings), `secret` (string) **Output**: The ID of the registered webhook. ### `list_webhooks` **Description**: Lists all registered webhooks. ### `delete_webhook` **Description**: Deletes a registered webhook. **Input**: `webhook_id` (string) ``` -------------------------------- ### OctoPrint Configuration Source: https://kiln3d.com/docs Configure the OctoPrint adapter with its type, host, and API key. Requires an API key generated in OctoPrint settings. ```yaml type: octoprint host: http://octopi.local api_key: YOUR_KEY ``` -------------------------------- ### Verify Printer API Endpoints and Register by IP Source: https://kiln3d.com/docs Verify printer API endpoints using curl and register printers directly by IP address if discovery fails. Kiln works over Ethernet and Wi-Fi. ```bash # Verify endpoint from your host: curl http://192.168.1.44/api/v1/status # Prusa Link curl http://192.168.1.50:7125/server/info # Moonraker curl http://192.168.1.55:7125/server/info # Creality when local Moonraker is reachable curl http://192.168.1.60/api/version # OctoPrint # Register directly by IP (no discovery required): kiln auth --name printer --host http://192.168.1.44 --type prusalink --api-key YOUR_KEY ``` -------------------------------- ### Printability Analysis Tools Source: https://kiln3d.com/docs Tools for analyzing the printability of 3D models, including detailed dimension analysis, adhesion settings recommendations, auto-orientation, and support estimation. ```APIDOC ## Printability Analysis Tools ### Description Provides a suite of tools to analyze the printability of 3D models (STL/OBJ). It offers a 7-dimension analysis for FDM printing readiness, generating a composite report with a score, grade, and actionable recommendations. It also includes tools for recommending adhesion settings, automatically orienting models, and estimating support material. ### Tools #### `analyze_printability` * **Description**: Performs a comprehensive 7-dimension analysis of a 3D mesh. * **Input**: `file_path` (string), `nozzle_diameter` (float, optional), `layer_height` (float, optional), `max_overhang_angle` (float, optional), `build_volume_*` (various, optional). * **Output**: A `PrintabilityReport` object containing a score, grade, per-dimension results, and recommendations. #### `recommend_adhesion_settings` * **Description**: Recommends brim or raft settings based on model geometry, material, and printer type. * **Input**: `file_path` (string), `material` (string), `printer_model` (string), `has_enclosure` (boolean). * **Output**: A dictionary of slicer overrides for brim/raft settings. #### `auto_orient_model` * **Description**: Automatically orients a 3D model to minimize overhangs and maximize bed contact. * **Input**: `file_path` (string), `output_path` (string). * **Output**: The auto-rotated mesh saved to the specified output path. #### `estimate_supports` * **Description**: Estimates the volume and weight of support material required for a given model. * **Input**: `file_path` (string). * **Output**: Support volume and weight estimates. ``` -------------------------------- ### Print Learning & Cross-Printer Intelligence (Pro Tier) Source: https://kiln3d.com/docs Tools for aggregating print insights, recommending settings, and predicting maintenance. ```APIDOC ## Print Learning & Cross-Printer Intelligence (Pro Tier) ### `get_print_learning_summary` #### Description Aggregates learning insights, including what works, what fails, and material success rates. ### `get_optimal_settings` #### Description Recommends optimal print settings based on historical outcomes for a given material and printer. ### `get_material_success_rates` #### Description Provides success and failure rates for each material across the entire fleet. ### `get_maintenance_prediction` #### Description Generates predictive maintenance alerts based on the analysis of failure patterns. ### `get_print_confidence` #### Description Calculates a confidence score for an upcoming print based on historical data. ### `record_print_outcome` #### Description Records the outcome of a print (success, failure, or partial) along with the settings used and a quality grade. ``` -------------------------------- ### Moonraker Configuration Source: https://kiln3d.com/docs Configure the Moonraker adapter with its type and host. No authentication is required by default. ```yaml type: moonraker host: http://voron.local:7125 ``` -------------------------------- ### Creality Configuration Source: https://kiln3d.com/docs Configure the Creality adapter for modern CrealityOS/Klipper printers. Specify the type, host, and printer model. ```yaml type: creality host: 192.168.1.55 printer_model: k1_max ``` -------------------------------- ### MCP Resources Source: https://kiln3d.com/docs Read-only resources for agent context. ```APIDOC ## MCP Resources ### `kiln://status` #### Description Provides a system-wide snapshot of the current status. ### `kiln://printers` #### Description Lists all printers in the fleet. ### `kiln://printers/{name}` #### Description Retrieves detailed information for a specific printer. #### Parameters - `name` (string) - Required - The name of the printer. ### `kiln://queue` #### Description Provides a summary of the job queue. ### `kiln://queue/{job_id}` #### Description Retrieves detailed information for a specific job in the queue. #### Parameters - `job_id` (string) - Required - The ID of the job. ### `kiln://events` #### Description Lists the most recent events (last 50). ``` -------------------------------- ### Job Queue Tools Source: https://kiln3d.com/docs Tools for managing print jobs in a queue. ```APIDOC ## Job Queue Tools ### `submit_job` **Description**: Submits a print job to the queue. If no printer is specified, it will be routed to the best-performing printer based on historical data. **Input**: `filename` (string), `printer` (string, optional), `priority` (integer, optional), `metadata` (object, optional) **Output**: The unique ID of the submitted job. ### `job_status` **Description**: Retrieves the current state and progress of a specific job. **Input**: `job_id` (string) ### `queue_summary` **Description**: Provides an overview of the current print job queue. ### `cancel_job` **Description**: Cancels a job from the queue. **Input**: `job_id` (string) ``` -------------------------------- ### Design Provenance & Version Intelligence (Pro Tier) Source: https://kiln3d.com/docs Tools for managing design versions, tracking provenance, and detecting regressions. ```APIDOC ## Design Provenance & Version Intelligence (Pro Tier) ### `save_design_version` #### Description Saves a design version with its parametric source and provenance metadata. ### `get_design_version` #### Description Retrieves a design version along with its full ancestry chain. ### `diff_design_versions` #### Description Calculates the geometric difference between two design versions. ### `compare_design_versions` #### Description Provides a side-by-side comparison of two design versions. ### `check_design_regression` #### Description Detects if a design change has caused a regression in print success. ### `record_design_version_outcome` #### Description Records the outcome of a print against a specific design version. ### `get_proven_recipe` #### Description Queries the provenance history to find the best-performing parameters for a given material and printer. ### `get_regression_alerts` #### Description Retrieves active regression alerts for designs that have stopped printing successfully. ### `dismiss_regression_alert` #### Description Dismisses a regression alert after it has been investigated. ### `best_design_version` #### Description Identifies the best-performing design version for a specific material and printer combination. ``` -------------------------------- ### Prusa Link Configuration Source: https://kiln3d.com/docs Configure the Prusa Link adapter with its type, host, and API key. Uses the Prusa Link REST API. ```yaml type: prusalink host: http://prusa-mk4.local api_key: YOUR_KEY ``` -------------------------------- ### Material Tracking Tools Source: https://kiln3d.com/docs Tools for tracking and managing filament materials loaded onto printers. ```APIDOC ## Material Tracking Tools ### `set_material` **Description**: Sets the currently loaded material information for a specific printer and tool. **Input**: `printer_name` (string), `material` (string), `color` (string), `spool_id` (string), `tool_index` (integer) ### `get_material` **Description**: Retrieves the currently loaded material information for a printer. **Input**: `printer_name` (string) ### `check_material_match` **Description**: Checks if the loaded material matches the expected material. **Input**: `printer_name` (string), `expected_material` (string) **Output**: Match result or warning. ### `list_spools` **Description**: Lists all spools in the inventory. ### `add_spool` **Description**: Adds a new spool to the inventory. **Input**: `material` (string), `color` (string), `brand` (string), `weight` (number), `cost` (number) **Output**: Details of the added spool. ### `remove_spool` **Description**: Removes a spool from the inventory. **Input**: `spool_id` (string) ``` -------------------------------- ### Multi-Part Assembly & Job Splitting Tools Source: https://kiln3d.com/docs Tools for splitting large models or multi-part assemblies across multiple printers for parallel printing, with options for build volume overflow, multi-copy distribution, and assembly splitting. ```APIDOC ## Multi-Part Assembly & Job Splitting Tools ### Description These tools enable the splitting of large models or multi-part assemblies to be printed in parallel across multiple printers. Supported splitting modes include managing build volume overflow, distributing multiple copies of a model, and splitting assemblies with reassembly instructions. ### Tools #### `plan_multi_copy_split` * **Description**: Plans the distribution of multiple copies of a model across a fleet of printers. * **Input**: `file_path` (string), `copies` (integer), `material` (string). * **Output**: A `SplitPlan` object detailing per-printer assignments and estimated time savings. #### `plan_assembly_split` * **Description**: Plans the distribution of parts from a multi-STL assembly across printers, including reassembly instructions. * **Input**: `file_paths` (list of strings), `material` (string). * **Output**: A `SplitPlan` object with part-to-printer mapping and assembly instructions. #### `split_plan_status` * **Description**: Retrieves the current status of an ongoing split plan, including per-part progress and estimated remaining time. * **Input**: `plan_id` (string). * **Output**: A `SplitProgress` object with status details. #### `cancel_split_plan` * **Description**: Cancels an active split plan. * **Input**: `plan_id` (string). * **Output**: Confirmation of cancellation. ``` -------------------------------- ### Consumer Workflow Source: https://kiln3d.com/docs Tools for a consumer-facing workflow that does not require a printer. ```APIDOC ## consumer_onboarding ### Description Provides a step-by-step guide from idea conception to product delivery. ### Input - None ### Output - Step-by-step guide. ``` ```APIDOC ## validate_shipping_address ### Description Validates and normalizes shipping addresses. ### Input - `street` (string) - The street address. - `city` (string) - The city. - `country` (string) - The country. - `state` (string) - The state or province. - `postal_code` (string) - The postal code. ### Output - Validated and normalized address. ``` ```APIDOC ## suggest_material_for_order ### Description Recommends materials for an order based on use case, budget, and constraints. ### Input - `use_case` (string) - The intended use of the product. - `budget` (float) - The budget for the material. - `constraints` (object) - Any specific constraints. ### Output - Ranked material recommendations with reasoning. ``` ```APIDOC ## estimate_price ### Description Provides an instant price range for a given technology, volume, or dimensions. This does not involve an API call. ### Input - `technology` (string) - The printing technology. - `volume_cm3` (float) or `dimensions` (object) - The volume in cubic centimeters or object dimensions. ### Output - Estimated price range. ``` ```APIDOC ## estimate_timeline ### Description Estimates the order-to-delivery timeline, including a breakdown of stages. ### Input - `technology` (string) - The printing technology. - `quantity` (integer) - The number of items. - `country` (string) - The destination country. ### Output - Estimated timeline with stage breakdown. ``` ```APIDOC ## supported_shipping_countries ### Description Lists the countries supported for shipping. ### Input - None ### Output - List of supported shipping countries. ``` -------------------------------- ### Add Printers to Kiln3D Source: https://kiln3d.com/docs Authenticate and add printers to Kiln3D. Supports various printer types and connection methods, including direct USB. ```bash # OctoPrint kiln auth --name ender3 --host http://octopi.local --type octoprint --api-key YOUR_KEY # Moonraker kiln auth --name voron --host http://voron.local:7125 --type moonraker # Creality K1/K2/Hi-class local Moonraker kiln doctor-creality --host 192.168.1.55 --model k1_max kiln auth --name k1max --host 192.168.1.55 --type creality --printer-model k1_max # Prusa Link kiln auth --name prusa-mini --host http://192.168.1.44 --type prusalink --api-key YOUR_KEY # Bambu Lab kiln auth --name x1c --host 192.168.1.100 --type bambu --access-code 12345678 --serial 01P00A000000001 # Elegoo SDCP kiln auth --name saturn --host 192.168.1.50 --type elegoo # Direct USB / Serial kiln auth --name ender3-usb --host /dev/tty.usbserial-0001 --type serial ``` -------------------------------- ### Cost Estimation Tools Source: https://kiln3d.com/docs Tools for estimating the cost of printing a model. ```APIDOC ## Cost Estimation Tools ### `estimate_cost` **Description**: Estimates the filament and electricity costs for printing a given file. **Input**: `file_path` (string), `material` (string), `electricity_rate` (number), `printer_wattage` (number) **Output**: Total estimated cost including filament and electricity. ### `list_materials` **Description**: Lists available material profiles, including brand-specific filament details, densities, and costs. ``` -------------------------------- ### Adaptive Slicing Tools Source: https://kiln3d.com/docs Tools for analyzing model geometry and generating per-region layer height optimizations for adaptive slicing. ```APIDOC ## Adaptive Slicing Tools ### Description Tools to analyze model geometry and generate optimized adaptive slicing plans, which involve per-region layer height adjustments. This can lead to significant print time savings compared to uniform layer heights. ### Tools #### `generate_adaptive_slicing_plan` * **Description**: Analyzes model geometry to create a detailed adaptive slicing plan with per-region layer height optimizations. * **Input**: Model geometry data. * **Output**: An adaptive slicing plan. #### `quick_adaptive_plan` * **Description**: An all-in-one function to analyze a model and generate an adaptive slicing plan quickly. * **Input**: Model geometry data. * **Output**: An adaptive slicing plan. #### `export_adaptive_slicer_config` * **Description**: Exports a generated adaptive slicing plan into a configuration format compatible with popular slicers like PrusaSlicer, OrcaSlicer, or Cura. * **Input**: Adaptive slicing plan, target slicer format. * **Output**: Slicer configuration file. #### `estimate_adaptive_time_savings` * **Description**: Estimates the potential print time savings achieved by using an adaptive slicing plan compared to a standard uniform layer height approach. * **Input**: Adaptive slicing plan, model data. * **Output**: Estimated time savings (e.g., percentage or duration). #### `get_adaptive_plan_summary` * **Description**: Generates a human-readable summary of an adaptive slicing plan, detailing the optimizations and expected outcomes. * **Input**: Adaptive slicing plan. * **Output**: A textual summary of the plan. ``` -------------------------------- ### File Management Tools Source: https://kiln3d.com/docs Tools for managing files on the printer or connected storage. ```APIDOC ## File Management Tools ### `printer_files` **Description**: Lists all files available on the printer, including their sizes and dates. ### `upload_file` **Description**: Uploads a file from the local system to the printer. **Input**: `local_path` (string) ``` -------------------------------- ### Monitoring Tools Source: https://kiln3d.com/docs Tools for monitoring print jobs, capturing snapshots, and reporting status. ```APIDOC ## Monitoring Tools ### `printer_snapshot` **Description**: Captures a snapshot of the printer's current state. **Input**: `save_path` (string, optional) **Output**: Image bytes or base64 encoded string. ### `monitor_print` **Description**: Provides a detailed report of the ongoing print job, including status, temperatures, speed, camera feed, and comments. **Input**: `printer_name` (string), `include_snapshot` (boolean, optional) ### `multi_copy_print` **Description**: Arranges multiple copies of a model on the print bed, slices them, and initiates printing. **Input**: `model_path` (string), `copies` (integer), `spacing_mm` (number) ``` -------------------------------- ### Slicing Tools Source: https://kiln3d.com/docs Tools for slicing 3D models into G-code and managing slicer configurations. ```APIDOC ## Slicing Tools ### `slice_model` **Description**: Slices a 3D model into G-code using specified parameters. **Input**: `input_path` (string), `profile` (string), `output_dir` (string) **Output**: Path to the generated G-code file and slicer information. ### `find_slicer` **Description**: Detects the path and version of the installed slicer. ### `slice_and_print` **Description**: Slices a model and immediately initiates printing the resulting G-code. **Input**: `input_path` (string), `profile` (string) ``` -------------------------------- ### Fleet Management Tools Source: https://kiln3d.com/docs Tools for managing multiple printers within a fleet. ```APIDOC ## Fleet Management Tools ### `fleet_status` **Description**: Retrieves the status of all printers in the fleet. ### `register_printer` **Description**: Registers a new printer with the fleet management system. **Input**: `name` (string), `type` (string), `host` (string), ... (additional parameters may be required) ``` -------------------------------- ### Elegoo Environment Variables Source: https://kiln3d.com/docs Set environment variables for the Elegoo adapter configuration. These can override settings in the configuration file. ```bash export KILN_PRINTER_HOST=192.168.1.50 export KILN_PRINTER_TYPE=elegoo export KILN_PRINTER_MAINBOARD_ID=ABCD1234 # optional ``` -------------------------------- ### Model Discovery Tools Source: https://kiln3d.com/docs Tools for searching, retrieving, and managing 3D models from various marketplaces. ```APIDOC ## Model Discovery Tools ### `search_all_models` **Description**: Searches for models across all connected marketplaces, returning interleaved results. **Input**: `query` (string), `page` (integer, optional), `sources` (array of strings, optional) ### `marketplace_info` **Description**: Retrieves information about connected model marketplaces and setup hints. ### `search_models` **Description**: Searches for models within a specific marketplace (e.g., Thingiverse - deprecated). **Input**: `query` (string), `page` (integer, optional) ### `model_details` **Description**: Fetches detailed metadata for a specific model. **Input**: `thing_id` (string) ### `model_files` **Description**: Lists the files associated with a specific model. **Input**: `thing_id` (string) ### `download_model` **Description**: Downloads a model to the local system. **Input**: `thing_id` (string), `file_id` (string) **Output**: The local path to the downloaded file. ### `download_and_upload` **Description**: Downloads a model file and uploads it directly to a specified printer. **Input**: `file_id` (string), `source` (string), `printer_name` (string) ### `browse_models` **Description**: Browses models based on sorting criteria and category. **Input**: `sort` (string, optional), `category` (string, optional) ### `list_model_categories` **Description**: Lists available model categories. ``` -------------------------------- ### Mid-Print Modification & Resume (Pro Tier) Source: https://kiln3d.com/docs Tools for modifying and resuming prints in progress. ```APIDOC ## Mid-Print Modification & Resume (Pro Tier) ### `plan_mid_print_decoration` #### Description Plans a decoration injection on a paused or running print. ### `apply_mid_print_decoration_plan` #### Description Executes a planned mid-print decoration with atomic dual-artifact revert. ### `resume_interrupted_print` #### Description Resumes an interrupted print from the exact layer it stopped. Compatible with various printer firmwares and systems. ### `analyze_mid_print_impact` #### Description Performs a structural impact analysis of a proposed mid-print modification. ### `preview_mid_print_session` #### Description Previews the visual outcome of a mid-print modification before committing. ### `cancel_print_recovery` #### Description Cancels an ongoing print recovery session. ### `generate_recovery_gcode` #### Description Generates safe resume G-code with a loaded-bed preamble. ```