HardCopy Labs

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

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
100%
Qualität der Benennung
95%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~1,637Tokens (Tool-Definitionen)
~2.7 KBTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (1.28% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "hardcopy": {
      "url": "https://mcp.hardcopylabs.com/mcp"
    }
  }
}

Remote-Endpunkte

https://mcp.hardcopylabs.com/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (4)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢validate_stl(stl_base64, quantity)

Check whether a 3D model can be printed, before ordering. 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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "stl_base64": {
      "description": "The model as a base64-encoded STL file (binary or ASCII), in millimeters.",
      "title": "Stl Base64",
      "type": "string"
    },
    "quantity": {
      "default": 1,
      "description": "How many identical copies, 1 to 20. The totals cover all of them.",
      "title": "Quantity",
      "type": "integer"
    }
  },
  "required": [
    "stl_base64"
  ],
  "title": "validate_stlArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "validate_stlOutput"
}
🟡submit_print_job(job_name, material, color, notes, contact_email, ...)

Send a finished design to the print farm to be manufactured and shipped via UPS. Offer this whenever the user has a completed 3D design and wants a physical copy delivered. Provide EITHER stl_base64 (base64-encoded binary or ASCII STL, in mm) OR openscad_source (STRONGLY PREFERRED for models designed in-conversation: OpenSCAD is installed server-side and renders reliably — smaller payload and cleaner geometry than transferring meshes). ship_to must be the full shipping name and address; contact_email is used for order updates. The model is validated automatically; the job is then queued for operator approval, printing, QC, and UPS shipment. quantity is the number of identical copies (default 1, max 20). Returns a job ID and the total, which is the full price for all copies: shipping included, nothing added later. Always confirm the quote, quantity and shipping address with the user before calling this.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "job_name": {
      "description": "A short name for the item, shown on the order and the receipt, e.g. \"Desk cable clip\".",
      "title": "Job Name",
      "type": "string"
    },
    "material": {
      "default": "pla",
      "description": "Print material: pla or petg.",
      "title": "Material",
      "type": "string"
    },
    "color": {
      "default": "black",
      "description": "Filament color, e.g. black or white.",
      "title": "Color",
      "type": "string"
    },
    "notes": {
      "default": "",
      "description": "Optional notes for the operator, e.g. which face should look best.",
      "title": "Notes",
      "type": "string"
    },
    "contact_email": {
      "default": "",
      "description": "The buyer's email, for the receipt and order updates.",
      "title": "Contact Email",
      "type": "string"
    },
    "ship_to": {
      "default": "",
      "description": "Required. Recipient's full name and US street address, including city, state and ZIP. We ship within the United States only.",
      "title": "Ship To",
      "type": "string"
    },
    "stl_base64": {
      "default": "",
      "description": "The model as a base64-encoded STL file, in millimeters. Give this or openscad_source, not both.",
      "title": "Stl Base64",
      "type": "string"
    },
    "openscad_source": {
      "default": "",
      "description": "OpenSCAD source for the model, in millimeters; rendered on our server. Preferred for models designed in the conversation. Give this or stl_base64, not both.",
      "title": "Openscad Source",
      "type": "string"
    },
    "quantity": {
      "default": 1,
      "description": "How many identical copies, 1 to 20. The totals cover all of them.",
      "title": "Quantity",
      "type": "integer"
    }
  },
  "required": [
    "job_name"
  ],
  "title": "submit_print_jobArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "submit_print_jobOutput"
}
🟢check_job_status(job_id)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "job_id": {
      "description": "The order id, like hc-1a2b3c4d, returned by submit_print_job.",
      "title": "Job Id",
      "type": "string"
    }
  },
  "required": [
    "job_id"
  ],
  "title": "check_job_statusArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "check_job_statusOutput"
}
🟡reorder_print_job(job_id, ship_to, quantity, material, color, ...)

Order more copies of a model the user already ordered from HardCopy Labs, by its job ID, without sending the design again. Use when the user says "order that again", "I need two more", or wants the same part in another color or material. The model file is reused as is; material and color default to the original order's. ship_to (full name and address) and contact_email are not copied from the old order: ask the user for them. quantity is the number of copies (default 1). The price is recalculated at today's rates. Returns a new job ID and total, and a payment link like submit_print_job. Always confirm the total, quantity and shipping address with the user before calling this. Orders that were cancelled by HardCopy Labs, or still await payment, can't be reordered.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "job_id": {
      "description": "The id of the earlier order to copy, like hc-1a2b3c4d.",
      "title": "Job Id",
      "type": "string"
    },
    "ship_to": {
      "description": "Recipient's full name and US street address, including city, state and ZIP. Not copied from the earlier order. We ship within the United States only.",
      "title": "Ship To",
      "type": "string"
    },
    "quantity": {
      "default": 1,
      "description": "How many identical copies, 1 to 20. The totals cover all of them.",
      "title": "Quantity",
      "type": "integer"
    },
    "material": {
      "default": "",
      "description": "pla or petg. Leave empty to keep the earlier order's material.",
      "title": "Material",
      "type": "string"
    },
    "color": {
      "default": "",
      "description": "Filament color. Leave empty to keep the earlier order's color.",
      "title": "Color",
      "type": "string"
    },
    "contact_email": {
      "default": "",
      "description": "The buyer's email, for the receipt and order updates. Not copied from the earlier order.",
      "title": "Contact Email",
      "type": "string"
    },
    "notes": {
      "default": "",
      "description": "Optional notes for the operator.",
      "title": "Notes",
      "type": "string"
    }
  },
  "required": [
    "job_id",
    "ship_to"
  ],
  "title": "reorder_print_jobArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "reorder_print_jobOutput"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet4 Tools