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/mcpConnect from Claude Code
claude mcp add --scope user --transport http glossi https://api.glossi.io/mcpThen 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
- Open Settings → Connectors and choose Add custom connector.
- Enter
https://api.glossi.io/mcpas the URL. Leave the client ID and client secret fields empty. - 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.
- Open Settings → Plugins → Advanced settings and turn on Developer mode.
- Choose Create, enter
https://api.glossi.io/mcpas the server URL, and select OAuth as the authentication type. Leave client ID and secret empty. - 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, andconfirm_material_uploadwhen 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 byexport_production_fileorrequest_production_viewsuse 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_offerand 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_itemsremoves 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_renderpoll 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
| Tool | Kind | What it does |
|---|---|---|
list_workspaces | read | Workspaces you can work in. The default is used when a call omits workspaceId. |
list_models | read | 3D models in the library, newest first. Only READY or APPROVED models can be placed. |
list_templates | read | Saved scene setups (lighting, backdrop, cameras), yours and Glossi's public ones. |
list_projects | read | Projects in the workspace, newest first. |
get_model_download | read | A one-hour link to a model's converted GLB, its USDZ derivative, or the original. |
get_model_uv_metrics | read | How well each part is UV-mapped: texel density, stretch, and spread across parts. |
update_library_item | write | Rename a model, prop, decal, material, or backplate, or move it into a folder. |
list_library_folders | read | List the folders for models, materials, decals, or backplates. |
delete_library_items | destructive | Permanently delete up to a batch of models, props, decals, or materials. |
Getting models in
| Tool | Kind | What it does |
|---|---|---|
upload_model | read | Shows an in-chat upload panel (Claude.ai and Claude Desktop) for one file, many, or a folder. |
import_model | write | Add a model from a public download link. Glossi fetches it server-side. |
create_model_upload | write | Start an upload from disk: returns a modelId and a presigned URL to PUT the file to. |
confirm_model_upload | write | Tell Glossi the file is uploaded; processing starts. |
wait_for_models | read | Wait until models are READY or APPROVED, or have failed. |
plan_material_import | read | Group a folder's texture images into PBR materials by name. |
create_library_uploads | write | Start a batch upload of 3D files as models or props, and images as decals. |
confirm_library_uploads | write | Confirm the batch is uploaded; models and props start converting. |
create_material_upload | write | Start one PBR material from its texture channel files. |
confirm_material_upload | write | Confirm the textures are uploaded; optionally generate missing maps (spends usage) or upscale. |
generate_material | write | Create a PBR material from a description, a reference photo, or both. Spends usage. |
upload_materials | read | Shows an in-chat upload panel for a folder of PBR textures, loose or zipped, with a review step. |
upload_material_reference | read | Shows an in-chat upload panel (Claude.ai and Claude Desktop) for one reference photo. |
create_material_reference_upload | write | Upload URL for a local reference photo to pass to generate_material. |
wait_for_props | read | Wait until props finish converting. |
wait_for_materials | read | Wait until materials are ready. |
Scenes and renders
| Tool | Kind | What it does |
|---|---|---|
create_project | write | Build a project from existing models, optionally applying a template's scene setup. |
render | write | Render one or more projects: every camera angle, clip, and variant unless narrowed, including to specific variants. Spends usage. |
get_render_status | read | Status of one render job; when complete, a URL per image or video. |
wait_for_render | read | Wait for every job in a render batch to finish. |
get_render_image | read | A finished render as an inline preview plus a one-hour full-resolution link. |
Materials
| Tool | Kind | What it does |
|---|---|---|
search_materials | read | Find materials by name, colour, or category, from your workspace or the Glossi catalog. |
swap_material | write | Replace materials on models by slot name, producing new model variants. Spends usage. |
get_material_swap_status | read | Progress of a swap batch and the variants it produced. |
Model prep
| Tool | Kind | What it does |
|---|---|---|
prepare_model | write | Split a model into parts, name its parts and finishes, check its UVs. Waits for review. Spends usage. |
get_model_prep | read | Progress of a run; when ready, what the agent changed and what it wasn't sure of. |
get_model_prep_offer | read | What a full prep of the model costs, the changes included and the free discards left. |
list_model_preps | read | A model's runs, newest first. |
retry_model_prep | write | Change one area of a result from your feedback and screenshots. May ask a question first. |
keep_model_prep | write | Make the result the model's current version. Pays for a full prep on your saved card. |
discard_model_prep | write | Throw the result away. |
Variants and logos
See Variants and logos for arguments, responses, and the matching REST endpoints.
| Tool | Kind | What it does |
|---|---|---|
list_model_variants | read | A model's variants, newest first, and the material slots a new variant can set. |
create_model_variant | write | Define a variant from material assignments, or copy another variant's materials and logos. |
request_variant_preview | write | Build a variant's 3D preview again: after a failure, or for a variant made before previews were automatic. |
add_variants_to_project | write | Add variants to the list a project works with. The first add narrows the project to that list. |
get_project_variant_choices | read | Which variant each model in a project wears. |
set_project_variant_choice | write | Choose the variant one model wears in one project, or clear the choice. |
get_decal_slots | read | A model's decal slots, their printed size, and which logo each variant has in each slot. |
set_decal_assignment | write | Put 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.
| Tool | Kind | What it does |
|---|---|---|
export_production_file | write | Export 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_export | read | Status of an export: CAPTURING, READY with the file and a one-hour download link, or FAILED with the reason. |
create_production_file | write | Build and store a production file now with the views that exist, without capturing. |
list_production_files | read | A model's production files, newest first, each with a one-hour download link. |
get_production_views_status | read | Which variants have captured production views, when, and whether they are out of date. |
request_production_views | write | Capture production views for variants without building a file. Spends usage. |
set_decoration_method | write | Set how the factory applies the logo in one decal slot on one variant, such as Screen print or Embroidery. |
set_decal_inks | write | Replace a library logo's ink list, from a list or from a spec line such as "2 color / white / red pms 200c". |
create_pantone_material | write | Add a flat-color library material that renders as a Pantone. |
set_material_pantone | write | Record 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.
Related
- Build with the Glossi API for the REST surface behind these tools
- Populate the library for the import formats and limits
- Complete workflow for what happens between upload and render
- Production files for factory top sheets, inks, decoration methods, and Pantones
Integrate VNTANA with Glossi
Connect a VNTANA workspace so tagged assets flow into Glossi for rendering and the finished renders return as a new asset version.
Build a product-page content system
Create consistent core views, useful detail frames, product video, and controlled configurations from one prepared product.