HardCopy Labs

com.hardcopylabsPublished by hardcopylabs.comOfficial publisherv1.0.0Updated Oct 24, 2026

Order real 3D prints from chat: send an STL or OpenSCAD model, see one price, get it by UPS.

VerifiedStreamable HTTPWeb executableBusiness & CommerceMedia & Design

Overview

AI-generated overview

Lets an assistant validate a 3D model, preview a print quote with images, submit a real print order, track it, and reorder it.

What you can do
Validate an STL or OpenSCAD model to check whether it can be printed, with a text validation quote that is not an order approval. Preview a print order to render exact geometry, part images, dimensions, material and color, quantity and total price. Submit a print job after the preview and explicit buyer confirmation, using the preview ID and version. Check the status of a placed print job through submitted, approved, printing, QC and shipped, with a UPS tracking number once shipped. Reorder a previous job, which requires a fresh preview and confirmation first.
When to use it
Useful when someone has an STL or OpenSCAD model and wants to know if it is printable, see a priced quote with images, place a real 3D print order, follow its status, or repeat an earlier order.
Requirements
A remote endpoint at mcp.hardcopylabs.com over streamable HTTP; no packages, environment variables or headers are declared. Models are supplied as base64-encoded STL data. Orders ship by UPS.
Before you install
This places real, paid print orders: submit_print_job and reorder_print_job create orders only after a preview and explicit buyer confirmation, and a validation quote is not approval to order. Review every preview image, option and price before confirming. Order status and UPS tracking data come from HardCopy Labs.

Installation

In SourceWeft

  1. Open HardCopy Labs in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.hardcopylabs%2Fhardcopy/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "hardcopy-labs": {
      "type": "http",
      "url": "https://mcp.hardcopylabs.com/mcp"
    }
  }
}

Tools

5

preview_print_order

Preview the exact parts before ordering

MANDATORY before creating any order or checkout, including reorders. Render exact validated geometry and quote the whole order. Display EVERY returned part image with name, dimensions, material/color, quantity, notes and total to the buyer. The in-chat card shows images where supported; otherwise embed image_url values or give viewer_url and ask the buyer to review there. Never substitute an AI illustration, or describe unshown images as reviewed. Ask for explicit buyer confirmation of this version only after presenting the preview. Changes require a new preview and new confirmation; pass replaces_preview_id to revoke the old preview. Preview failure blocks ordering. After confirmation call submit_print_job (or reorder_print_job) using preview_id, preview_version, buyer_confirmed=true and shipping/contact details; do not resend models or option overrides. Preview generation and viewing never create an order. Separate parts are displayed individually, not as an inferred assembly.

Parameterscolornotespartsjob_namematerialquantityreorder_ofstl_base64openscad_sourcereplaces_preview_id

validate_stl

Check a 3D model and get a price

Check whether a 3D model can be printed, before ordering. A text validation quote is NOT approval to order. Call preview_print_order next, show its exact model images/options/price to the buyer, then obtain confirmation. Use this when the user has an STL file (base64-encoded) and wants to know if it is printable, or as a pre-check before submit_print_job. Returns printability (watertight/manifold status), dimensions, which printers it fits on, and the total for each material: what submit_print_job will charge for this file, shipping included. If the user is designing an object in this conversation, generate the STL, then call this to confirm it can be manufactured. Pass quantity (default 1) when the user wants several copies, so the totals cover all of them. For multiple parts, pass the WHOLE order in parts with each material/color/quantity. Never add separate quotes: totals already include shipping and handling once. To keep payloads small, validate each STL first and reuse its model_id (24 hours). PLA and PETG are the only materials offered.

Parameterspartsquantitystl_base64

submit_print_job

Order a 3D print

Create an order ONLY AFTER preview_print_order, image display and buyer confirmation. First present every preview image (or the viewer fallback), dimensions, material/color, quantity and quote. Obtain explicit buyer confirmation for that preview version. Then send preview_id, preview_version, buyer_confirmed=true, job_name and shipping details ONLY; omit model/options fields. Any relevant change needs a new preview. Legacy model inputs without a preview return a preview and NEVER create an order. Set geometry, material, color, quantities and operator notes in preview_print_order. OpenSCAD is preferred for designs made in conversation; uploaded STL and cached model IDs are also supported there. One preview covers the whole multi-part order. Confirm the shipping address with the buyer. ship_to requires their full name and US address; contact_email is used for updates. This returns a job ID and total, plus a payment link when payment is required. The buyer pays in their own browser.

Parameterscolornotespartsship_tojob_namerequiredmaterialquantitypreview_idstl_base64contact_emailbuyer_confirmedopenscad_source+1 more

check_job_status

Check an order's status

Look up the current status of a print job (submitted, approved, printing, QC, shipped) and its UPS tracking number once shipped. Use when the user asks about an order they placed with HardCopy Labs.

Parametersjob_idrequired

reorder_print_job

Reorder a past print

A REORDER ALSO REQUIRES A NEW VISUAL PREVIEW AND BUYER CONFIRMATION. First call preview_print_order with reorder_of and any desired changes, show every image/options/price to the buyer, and obtain confirmation. Then call this with preview_id, preview_version and buyer_confirmed=true, without option overrides. Without a preview this returns a preview only; it never creates an order. In preview_print_order, quantity means complete sets for multi-part reorders; material/color overrides apply to every part. Omit overrides to preserve choices. Prices are recalculated. The previous order's geometry is reused without requesting a new upload. Shipping/contact details are never copied from the previous order; confirm the new address with the buyer. Orders cancelled by HardCopy Labs or still awaiting payment cannot be reordered. Returns a new job ID, total and payment link when payment is required, only after the new preview is confirmed.

Parameterscolornotesjob_idrequiredship_torequiredmaterialquantitypreview_idcontact_emailbuyer_confirmedpreview_version

Version history

1
  1. v1.0.0LatestSep 25, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.