GlossiDocs
Open Glossi
API

Connect an AI agent

Let Claude, ChatGPT, or any MCP client drive Glossi: upload models, build scenes, render, and swap materials from a conversation.

Glossi is an MCP server. Connect it once and an agent can take a product from a 3D file to finished renders without you opening the app: import or upload models, pick a template, create a project, render every angle, swap materials into variants, and hand back the images. The same code that serves the REST API serves the agent, so anything you can automate with an API key you can ask for in plain language.

There is nothing to install and no key to copy. You sign in with your Glossi account, and the agent acts as you, in your workspace, under your plan.


Find and organize assets with properties

Ask “Show all models whose Season is Spring,” or “Archive the old Campaign property.” The connector can discover fields and options, search all supported asset types by property values, update values in bulk, and manage definitions with your workspace permissions. See Properties and asset search for the complete tool list and examples.

Before you connect

  • A Glossi account on a plan with API access (Starter, Team, Business, or Enterprise, or an active trial). This is the same gate as REST API keys.
  • A client that supports remote MCP servers over HTTP with OAuth. Claude Code, Claude.ai, Claude Desktop, and ChatGPT all do.

The server URL for every client is the same:

https://api.glossi.io/mcp

Connect from Claude Code

claude mcp add --scope user --transport http glossi https://api.glossi.io/mcp

Then in a Claude Code session run /mcp, select glossi, and choose Authenticate. Your browser opens the Glossi sign-in; allow access and return to the terminal. The tools are available from the next message.

Claude Code has a shell, so it can also bulk-import a whole folder of models, props, decals, and texture packs from your disk. See Populate the library for what the agent does under the hood.


Connect from Claude.ai and Claude Desktop

  1. Open Settings → Connectors and choose Add custom connector.
  2. Enter https://api.glossi.io/mcp as the URL. Leave the client ID and client secret fields empty.
  3. Click Add, then Connect and sign in to Glossi when prompted.

Connectors added in Claude.ai are available in Claude Desktop and the mobile apps under the same account. In these clients the agent can show an upload panel inside the chat, so "upload this model" lets you drop a file straight from your computer. The same goes for a photo of a surface you want a material made from, and for a folder of PBR texture packs, loose or zipped.


Connect from ChatGPT

Custom MCP servers in ChatGPT require Developer mode, which is available on Plus, Pro, Business, Enterprise, and Edu plans.

  1. Open Settings → Plugins → Advanced settings and turn on Developer mode.
  2. Choose Create, enter https://api.glossi.io/mcp as the server URL, and select OAuth as the authentication type. Leave client ID and secret empty.
  3. Save, then connect and sign in to Glossi when prompted.

On a Business or Enterprise workspace an admin has to enable custom connectors first, and the connector goes through a draft and publish step before members see it.


Other MCP clients

Any client that speaks streamable HTTP and OAuth 2.1 with dynamic client registration can connect. Point it at https://api.glossi.io/mcp with no pre-configured client credentials. The server advertises its authorization server through the standard protected-resource metadata document, so discovery is automatic. Glossi only issues tokens to known agent products and to clients using a loopback callback, so a client with an arbitrary redirect URL is refused at sign-in.


What to ask for

Three prompts that exercise the main workflows. The agent will ask before spending usage on renders or deleting anything.

Render a model from a link

Import the chair from https://cdn.example.com/chair.glb, set it up with the Studio White template, and render every angle. Show me the results when they're done.

Swap materials into variants

Take the Aurora Sofa project and make three colourways: swap every leather slot to cognac, then to black, then to oatmeal. Render the hero angle of each.

Make a material from a photo

Here's a photo of the leather we use on the Aurora Sofa. Make a material from it, a little warmer than the photo, and put it in the Leathers collection.

Upload your material library (Claude.ai and Claude Desktop)

Let me upload our fabric materials. I'll drop the folder; some of the packs are zipped.

The agent shows an upload panel. Drop the folder or choose it, and the panel opens any .zip files, groups the maps into materials, and lists what it found and anything it had to skip before you upload. Tick "Generate missing maps" to fill in maps a pack is missing; that uses usage.

Bulk-import a supplier drop (Claude Code or another client with a shell)

Import everything in ~/Downloads/spring-collection into the library, including the zipped packs. Group the textures into materials by name. Tell me when it's all ready and list anything that failed.


How the agent works

  • Workspace. Every tool acts in the workspace you signed in with. If you belong to more than one, say which, or the agent will use your default and tell you so.
  • Usage. render, swap_material, generate_material, prepare_model (label, UV and material passes), retry_model_prep, and confirm_material_upload when asked to generate missing maps spend your workspace's usage allowance exactly as they would from the app. The agent confirms before large batches. Production views captured by export_production_file or request_production_views use the same usage as image renders, one per variant captured.
  • Model prep purchases. A full prep of an uploaded model (one that splits it into parts) is a one-off purchase, charged to your workspace's saved card when the result is kept. The agent checks the price with get_model_prep_offer and confirms with you before keeping. If your bank asks to confirm the payment, finish it on the model page in Glossi.
  • Deletion is permanent. delete_library_items removes files for good. The agent names what it will delete and asks first.
  • Projects the agent creates are marked with an agent source in the app, so you can tell them apart from projects built in the studio.
  • Rate limit. 120 tool calls per minute per user. Waiting tools like wait_for_render poll on your behalf and count as one call each.

Tool reference

Tools marked read only fetch data. Tools marked write create or change things in your workspace. One tool is destructive.

Workspace and library

ToolKindWhat it does
list_workspacesreadWorkspaces you can work in. The default is used when a call omits workspaceId.
list_modelsread3D models in the library, newest first. Only READY or APPROVED models can be placed.
list_templatesreadSaved scene setups (lighting, backdrop, cameras), yours and Glossi's public ones.
list_projectsreadProjects in the workspace, newest first.
get_model_downloadreadA one-hour link to a model's converted GLB, its USDZ derivative, or the original.
get_model_uv_metricsreadHow well each part is UV-mapped: texel density, stretch, and spread across parts.
update_library_itemwriteRename a model, prop, decal, material, or backplate, or move it into a folder.
list_library_foldersreadList the folders for models, materials, decals, or backplates.
delete_library_itemsdestructivePermanently delete up to a batch of models, props, decals, or materials.

Getting models in

ToolKindWhat it does
upload_modelreadShows an in-chat upload panel (Claude.ai and Claude Desktop) for one file, many, or a folder.
import_modelwriteAdd a model from a public download link. Glossi fetches it server-side.
create_model_uploadwriteStart an upload from disk: returns a modelId and a presigned URL to PUT the file to.
confirm_model_uploadwriteTell Glossi the file is uploaded; processing starts.
wait_for_modelsreadWait until models are READY or APPROVED, or have failed.
plan_material_importreadGroup a folder's texture images into PBR materials by name.
create_library_uploadswriteStart a batch upload of 3D files as models or props, and images as decals.
confirm_library_uploadswriteConfirm the batch is uploaded; models and props start converting.
create_material_uploadwriteStart one PBR material from its texture channel files.
confirm_material_uploadwriteConfirm the textures are uploaded; optionally generate missing maps (spends usage) or upscale.
generate_materialwriteCreate a PBR material from a description, a reference photo, or both. Spends usage.
upload_materialsreadShows an in-chat upload panel for a folder of PBR textures, loose or zipped, with a review step.
upload_material_referencereadShows an in-chat upload panel (Claude.ai and Claude Desktop) for one reference photo.
create_material_reference_uploadwriteUpload URL for a local reference photo to pass to generate_material.
wait_for_propsreadWait until props finish converting.
wait_for_materialsreadWait until materials are ready.

Scenes and renders

ToolKindWhat it does
create_projectwriteBuild a project from existing models, optionally applying a template's scene setup.
renderwriteRender one or more projects: every camera angle, clip, and variant unless narrowed, including to specific variants. Spends usage.
get_render_statusreadStatus of one render job; when complete, a URL per image or video.
wait_for_renderreadWait for every job in a render batch to finish.
get_render_imagereadA finished render as an inline preview plus a one-hour full-resolution link.

Materials

ToolKindWhat it does
search_materialsreadFind materials by name, colour, or category, from your workspace or the Glossi catalog.
swap_materialwriteReplace materials on models by slot name, producing new model variants. Spends usage.
get_material_swap_statusreadProgress of a swap batch and the variants it produced.

Model prep

ToolKindWhat it does
prepare_modelwriteSplit a model into parts, name its parts and finishes, check its UVs. Waits for review. Spends usage.
get_model_prepreadProgress of a run; when ready, what the agent changed and what it wasn't sure of.
get_model_prep_offerreadWhat a full prep of the model costs, the changes included and the free discards left.
list_model_prepsreadA model's runs, newest first.
retry_model_prepwriteChange one area of a result from your feedback and screenshots. May ask a question first.
keep_model_prepwriteMake the result the model's current version. Pays for a full prep on your saved card.
discard_model_prepwriteThrow the result away.

Variants and logos

See Variants and logos for arguments, responses, and the matching REST endpoints.

ToolKindWhat it does
list_model_variantsreadA model's variants, newest first, and the material slots a new variant can set.
create_model_variantwriteDefine a variant from material assignments, or copy another variant's materials and logos.
request_variant_previewwriteBuild a variant's 3D preview again: after a failure, or for a variant made before previews were automatic.
add_variants_to_projectwriteAdd variants to the list a project works with. The first add narrows the project to that list.
get_project_variant_choicesreadWhich variant each model in a project wears.
set_project_variant_choicewriteChoose the variant one model wears in one project, or clear the choice.
get_decal_slotsreadA model's decal slots, their printed size, and which logo each variant has in each slot.
set_decal_assignmentwritePut a library logo in one slot for one variant, or clear the slot.

Production files

See Production files for arguments, responses, and the matching REST endpoints.

ToolKindWhat it does
export_production_filewriteExport a numbered factory production file for up to 50 variants of one model, capturing out-of-date views first. Capturing spends usage.
get_production_file_exportreadStatus of an export: CAPTURING, READY with the file and a one-hour download link, or FAILED with the reason.
create_production_filewriteBuild and store a production file now with the views that exist, without capturing.
list_production_filesreadA model's production files, newest first, each with a one-hour download link.
get_production_views_statusreadWhich variants have captured production views, when, and whether they are out of date.
request_production_viewswriteCapture production views for variants without building a file. Spends usage.
set_decoration_methodwriteSet how the factory applies the logo in one decal slot on one variant, such as Screen print or Embroidery.
set_decal_inkswriteReplace a library logo's ink list, from a list or from a spec line such as "2 color / white / red pms 200c".
create_pantone_materialwriteAdd a flat-color library material that renders as a Pantone.
set_material_pantonewriteRecord or clear the Pantone on any library material. Its look does not change.

Troubleshooting

Sign-in completes but the client says it isn't authorized. Your workspace plan doesn't include API access. Upgrade the plan or ask a workspace owner to.

"This application is not one Glossi supports for agent access." The client registered with a redirect URL Glossi doesn't recognise. Connect from a supported product, or from a client that uses a loopback (localhost) callback.

The connector shows under "Custom" after an update. Remove it and add it again from the same URL. Existing connections keep working in the meantime.

Uploads from the in-chat panel fail. The panel only exists in Claude.ai and Claude Desktop. In other clients, ask the agent to import from a URL, or use a client with a shell so it can upload from disk.


On this page