Skip to main content
Glama

publish_model

Destructive

Validates a 3D model and uploads it to marketplaces like Thingiverse with title, tags, license, and optional print certificate and print settings.

Instructions

Publish a 3D model to one or more marketplaces.

        Validates the model, optionally generates a print "birth
        certificate" from print history, and uploads to the specified
        marketplaces.

        Args:
            file_path: Path to the 3D model file (STL, 3MF, OBJ).
            title: Listing title for the model.
            description: Listing description (Markdown supported).
            tags: List of tags for discoverability.
            category: Model category (e.g. "tools", "art", "gadgets").
            license: License type — ``"cc-by"``, ``"cc-by-sa"``,
                ``"cc-by-nc"``, ``"gpl"``, or ``"public_domain"``.
            target_marketplaces: Marketplaces to publish to.
                Defaults to ``["thingiverse"]``.
            include_certificate: Attach print certificate if available.
            include_print_settings: Include recommended print settings.
        

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "file_path": "<file_path>",
      "title": "<title>",
      "description": "<description>",
      "tags": "<tags>",
      "category": "<category>"
    },
    "name": "publish_model"
  }
}

Input Schema

NameRequiredDescriptionDefault
tagsYesList of tags for discoverability.
titleYesListing title for the model.
licenseNoLicense type — ``"cc-by"``, ``"cc-by-sa"``, ``"cc-by-nc"``, ``"gpl"``, or ``"public_domain"``. Default: "cc-by".
categoryYesModel category (e.g. "tools", "art", "gadgets").
file_pathYesPath to the 3D model file (STL, 3MF, OBJ).
descriptionYesListing description (Markdown supported).
include_certificateNoAttach print certificate if available. Default: true.
target_marketplacesNoMarketplaces to publish to. Defaults to ``["thingiverse"]``.
include_print_settingsNoInclude recommended print settings. Default: true.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changedv1.5.1
    • addedInput schema / properties / category / description
      Added value: +"Model category (e.g. \"tools\", \"art\", \"gadgets\")."
    • addedInput schema / properties / description / description
      Added value: +"Listing description (Markdown supported)."
    • addedInput schema / properties / file_path / description
      Added value: +"Path to the 3D model file (STL, 3MF, OBJ)."
    • changedInput schema / properties / include_certificate / description
      Previous value: -"Default: true."New value: +"Attach print certificate if available. Default: true."
    • changedInput schema / properties / include_print_settings / description
      Previous value: -"Default: true."New value: +"Include recommended print settings. Default: true."
    • changedInput schema / properties / license / description
      Previous value: -"Default: \"cc-by\"."New value: +"License type — ``\"cc-by\"``, ``\"cc-by-sa\"``, ``\"cc-by-nc\"``, ``\"gpl\"``, or ``\"public_domain\"``. Default: \"cc-by\"."
    • addedInput schema / properties / tags / description
      Added value: +"List of tags for discoverability."
    • addedInput schema / properties / target_marketplaces / description
      Added value: +"Marketplaces to publish to. Defaults to ``[\"thingiverse\"]``."
    • addedInput schema / properties / title / description
      Added value: +"Listing title for the model."
  2. Changed7 schema fields changedv1.5.0
    • removedInput schema / properties / include_certificate / default
      Removed value: -true
    • addedInput schema / properties / include_certificate / description
      Added value: +"Default: true."
    • removedInput schema / properties / include_print_settings / default
      Removed value: -true
    • addedInput schema / properties / include_print_settings / description
      Added value: +"Default: true."
    • removedInput schema / properties / license / default
      Removed value: -"cc-by"
    • addedInput schema / properties / license / description
      Added value: +"Default: \"cc-by\"."
    • removedInput schema / properties / target_marketplaces / default
      Removed value: -null
  3. First observedv0.1.0

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=true, and openWorldHint=true. The description adds process context—validation, optional certificate generation from print history, and marketplace upload—but does not explain failure behavior, credential requirements, public visibility, or whether existing listings are overwritten.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The opening sentence is front-loaded and clear, but the Args block largely duplicates the input schema, which is redundant in an MCP definition. It remains readable but could be shortened without losing agent-relevant meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the mutation complexity, nine parameters, and no output schema, the description covers the core process but omits authentication requirements, validation failure handling, and return behavior. Annotations mitigate some safety concerns, but an agent still lacks guidance on prerequisites and outcomes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all nine parameters. The description's Args block repeats the same information without adding meaningful semantics such as license interactions, marketplace-specific constraints, or tag limits.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: "Publish a 3D model to one or more marketplaces," and adds validation and optional certificate generation. It is clear what the tool does, though it does not distinguish itself from siblings like upload_file or list_published_models.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides no explicit when-to-use or when-not-to-use guidance. It does not mention alternatives such as upload_file or generate_print_certificate, nor does it state prerequisites like marketplace credentials or completed print history.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools