← Files PrintNexus ToolboxARCHIVED FILE
plugin.json
10.5 KB · Nov 3, 2026 · 19:01 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "printnexus-toolbox",
"version": "0.4.0",
"description": "3D printing tools from PrintNexus beside your ChatGPT conversation, starting with the Lithophane Maker.",
"author": {
"name": "Nexus Labs"
},
"extensions": {
"com.openai": {
"interface": {
"displayName": "PrintNexus Toolbox",
"shortDescription": "3D printing tools for ChatGPT",
"longDescription": "PrintNexus Toolbox brings 3D printing tools into ChatGPT for makers and 3D printing enthusiasts.\n\nWith Lithophane Maker, turn an image into a flat lithophane: a thin 3D printed plate that reveals the image when light shines through it. Set the width in millimeters, inspect the model in an interactive 3D preview, and compare lit and backlit views. Download your model as an STL or 3MF file.\n\nThe current release supports flat lithophanes printed in one color. More 3D printing tools are planned for future updates.",
"developerName": "Nexus Labs",
"websiteURL": "https://mcp.printnexus.io/",
"supportURL": "https://printnexus.io/contact",
"privacyPolicyURL": "https://printnexus.io/privacy-policy",
"termsOfServiceURL": "https://printnexus.io/terms-of-use",
"category": "Creativity",
"capabilities": [
"Interactive"
],
"defaultPrompt": "Make a lithophane from this image with PrintNexus Toolbox.",
"logo": "./assets/icon-concepts-modern/01-nexus-mark-3d-printed-borderless.png",
"composerIcon": "./assets/icon-concepts-modern/01-nexus-mark-3d-printed-borderless.png"
},
"review": {
"test_cases": {
"positive": [
{
"description": "Start a fresh chat, select PrintNexus Toolbox in the composer, and keep its mention when sending the prompt. Download dog.png from the attachment link and attach the actual PNG to the chat. It is a 1370 x 1148 image of a brown-and-white dog standing in grass. Open App if ChatGPT offers that button. Compare Lit and Backlit, rotate and zoom, then Reset view.",
"prompt": "Make a flat lithophane from this image.",
"tools_triggered": "make_lithophane; load_lithophane_image may be called by the panel if direct image retrieval is unavailable",
"expected_behavior": "make_lithophane receives the selected ChatGPT image reference, with widthMm omitted or 100. The panel shows the same dog as a flat, single-material lithophane at 100 mm overall width. Orientation and aspect ratio agree with the source. Lit/Backlit, rotation, zoom and Reset view operate on the preview. Opening the tool does not itself mean a download has been saved.",
"file_attachment_urls": [
"https://drive.google.com/file/d/1nzRpDSAXds4QhHoFMJHOzMM-lBEqCidp/view?usp=drivesdk"
]
},
{
"description": "Start a fresh chat, select PrintNexus Toolbox in the composer, and keep its mention when sending the prompt. Download dog.jpg from the attachment link and attach the actual JPEG to the chat. Open App if offered. Click Prepare STL, then Download STL, and open the saved file in a slicer.",
"prompt": "Turn this photo into a flat lithophane that is 80 mm wide. I want an STL file.",
"tools_triggered": "make_lithophane; load_lithophane_image may be called by the panel if direct image retrieval is unavailable; export_lithophane after Prepare STL when the host uses server downloads",
"expected_behavior": "make_lithophane receives the JPEG reference and widthMm 80. The panel shows 80 mm overall width. Prepare STL calls export_lithophane with format stl and settings.widthMm 80 on the hosted download path. Its result supplies fileName, downloadUrl and expiresInSeconds 600. Download STL saves the file; the slicer shows a flat closed model approximately 80 mm wide, with dimensions matching the preview. Preparation alone is not reported as a completed save. Visible errors allow retry.",
"file_attachment_urls": [
"https://drive.google.com/file/d/1TMGgEt86eYOp5k7bJkY97ltHOLYnvhuq/view?usp=drivesdk"
]
},
{
"description": "Start a fresh chat, select PrintNexus Toolbox in the composer, and keep its mention when sending the prompt. Start without an attachment. Download both linked dog files before the test. In the empty maker use Choose image to select dog.png. Open Choose another and cancel, then use Choose another to select dog.jpg. Finally click Remove. These two files depict the same dog; a replacement need not change its appearance.",
"prompt": "Open the lithophane maker so I can choose an image.",
"tools_triggered": "make_lithophane without image; local file selection does not require a model-visible tool call",
"expected_behavior": "The maker opens empty and offers Choose image; From library appears only when supported by the host. Picking dog.png loads its model. Cancelling Choose another leaves the model intact. Selecting dog.jpg succeeds and clears any previous prepared download. Remove clears the image, preview and ready downloads and restores the empty view. Local filesystem paths are not sent to the MCP server.",
"file_attachment_urls": [
"https://drive.google.com/file/d/1nzRpDSAXds4QhHoFMJHOzMM-lBEqCidp/view?usp=drivesdk",
"https://drive.google.com/file/d/1TMGgEt86eYOp5k7bJkY97ltHOLYnvhuq/view?usp=drivesdk"
]
},
{
"description": "In a fresh chat, first ask ChatGPT: Create a tall black-and-white image of a pine tree beneath a full moon, with no text. This setup uses ChatGPT image generation, not a PrintNexus capability. After the image is ready, select PrintNexus Toolbox, preserve its mention, and send the conversion prompt. Open App if offered. If the reference cannot be passed directly, select that same image using From library when offered, or save it and use Choose image.",
"prompt": "Turn the image you just generated into a flat lithophane at 100 mm wide.",
"tools_triggered": "make_lithophane; load_lithophane_image may be called by the panel if direct image retrieval is unavailable",
"expected_behavior": "make_lithophane uses the identified generated image reference and widthMm 100 when ChatGPT supplies it. The matching image appears as a flat model at 100 mm. If no reference is available, the maker opens empty and asks for image selection; selecting that same image then loads the preview. Conversion does not generate another picture, fabricate a reference, substitute an unrelated image, or claim a model exists while the panel is empty."
},
{
"description": "Start a fresh chat, select PrintNexus Toolbox in the composer, and keep its mention when sending the prompt. Download dog.png from the attachment link and attach it to the chat. Open App if offered. Change Width (mm) to 30, then 120, then restore 100. Briefly clear the width and leave the field to check validation, then restore 100. Click Prepare 3MF, then Download 3MF, and open the saved file in a slicer.",
"prompt": "Make a flat lithophane from this portrait at 100 mm wide so I can preview it and download a 3MF.",
"tools_triggered": "make_lithophane; load_lithophane_image may be called by the panel if direct image retrieval is unavailable; export_lithophane after Prepare 3MF when the host uses server downloads",
"expected_behavior": "make_lithophane receives the dog PNG reference and widthMm 100. Widths 30 and 120 are valid for this image and rebuild the model, clearing previous ready downloads. An empty width shows validation and prevents preparation until corrected. At restored width 100, the hosted path calls export_lithophane with format 3mf and settings.widthMm 100. Its download result expires after 600 seconds. The actual saved 3MF contains a flat single-material model in millimeter units, with closed geometry and dimensions matching the preview. No multicolor or AMS assignments are promised.",
"file_attachment_urls": [
"https://drive.google.com/file/d/1nzRpDSAXds4QhHoFMJHOzMM-lBEqCidp/view?usp=drivesdk"
]
}
],
"negative": [
{
"description": "Start a fresh chat, select PrintNexus Toolbox in the composer, and keep its mention when sending the prompt. Attach dog.png from the supplied link. Explain that only flat, single-color lithophanes are supported. Do not call make_lithophane, load_lithophane_image or export_lithophane, open a flat model as a fallback, or generate a replacement picture. An attached image and STL request do not authorize a flat alternative. Offer that alternative only in text and wait for explicit acceptance.",
"prompt": "Can PrintNexus Toolbox turn this attached image into a cylindrical lithophane for 3D printing and export it as an STL?",
"file_attachment_urls": [
"https://drive.google.com/file/d/1nzRpDSAXds4QhHoFMJHOzMM-lBEqCidp/view?usp=drivesdk"
]
},
{
"description": "Select PrintNexus Toolbox in the composer and preserve its mention when sending this ordinary chat request. Request unsupported color separation and filament assignments. Explain that this release produces flat lithophanes for one-color printing; do not invoke the maker or claim an AMS-ready multicolor export.",
"prompt": "Can PrintNexus create a four-color lithophane with separate filament colors and an AMS-ready 3MF?"
},
{
"description": "Select PrintNexus Toolbox in the composer and preserve its mention when sending this ordinary unrelated arithmetic question. Answer 391 without invoking make_lithophane, load_lithophane_image or export_lithophane.",
"prompt": "What is 17 multiplied by 23?"
}
]
},
"commerce": false,
"commerce_description": "PrintNexus Toolbox is free to use and offers no purchases or payments.",
"demo_recording_url": "https://drive.google.com/file/d/1cF9D26qY5w_ERA5lQlfHY59iyLuBMxpg/view?usp=drivesdk"
},
"publication": {
"countries": [],
"release_notes": "Initial release of PrintNexus Toolbox with Lithophane Maker. Turn an image into a flat lithophane, adjust its width, inspect Lit and Backlit 3D previews, and download STL or 3MF files."
},
"apps": "./.app.json"
}
}
}
SHA-256: 60e1a51faa6beb8c9c5a81e69ba1cbedd8bcf651cac2f5214377bbb53c26670f