Skip to main content
Glama

Update a saved project

update_project
Idempotent

Use when the user wants an existing project changed without opening the studio: its title, whether it is public (a public project has a share page and, for meshes, a public GLB URL), and on logo and coin projects the style: material, lighting room, background, motion, depth, font, the wordmark on text projects; on coins also the look, coin and mark colours, and the blank edge. Only the fields given change. Making a project public needs a saved render. Style changes render the next time the project is opened and saved. Do not use for a share link that keeps the project private (create_share_link) or to make something new (create_text_logo_project, duplicate_project).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYes
fontNo
lookNoCoin projects
textNoNew wordmark; text projects only (coins: 24 characters)
blankNoCoin projects: the edge
depthNoExtrusion depth; logo projects
titleNoNew project title
motionNo
publicNoTurn the public page on or off; owner only
materialNoMaterial id from list_materials; logo projects
backgroundNoHex colour, e.g. #1a1a1a
coin_colorNoCoin projects: the coin body
logo_colorNoCoin projects: the struck mark
environmentNoLighting room

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYes
urlYesOpens the project in its studio
kindYes
noteYes
titleYes
changedYes
isPublicYes
modelUrlYesPublic GLB, for published meshes
shareUrlYesPublic page, when published
inputTypeYes
kindLabelYes
updatedAtYesISO 8601
thumbnailUrlYesSaved thumbnail; needs the owner's browser session

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Added

TDQS

A5/5.0
Behavior5/5

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

Beyond the annotations, it discloses partial-update semantics ('Only the fields given change'), the saved-render prerequisite for public visibility, deferred rendering of style changes, and what public means (share page and public GLB URL for meshes). None of this contradicts the annotations.

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

Conciseness5/5

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

The description is long because the tool has 14 parameters, but every sentence carries information and the operative 'Use when...' clause is front-loaded. The later exclusions and constraints are grouped logically and not redundant with the schema.

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

Completeness5/5

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

For a high-complexity update tool, it covers prerequisites, side-effect timing, alternatives, and field applicability. Since an output schema exists, the absence of return-value detail is acceptable; nothing needed to call it correctly is missing.

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

Parameters5/5

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

With 79% schema coverage, the description still adds project-type scoping: which fields apply to logo/coin vs text projects, and it labels coin-only fields (look, coin/mark colours, blank edge). It also clarifies that only provided fields change, giving the parameter set a meaningful update model.

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

Purpose5/5

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

The description opens with a specific verb and resource — changing an existing project without opening the studio — and enumerates the updateable fields (title, public flag, style, text, coin options). It also names sibling tools it is not (create_share_link, create_text_logo_project, duplicate_project), so an agent can distinguish it clearly.

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

Usage Guidelines5/5

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

It explicitly states the condition for use ('when the user wants an existing project changed without opening the studio') and gives exclusions with named alternatives. It also adds task-specific prerequisites: making a project public needs a saved render and style changes render only on next open-and-save.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.8/5.0
Disambiguation3/5

Most tools target distinct resources, but several overlapping pairs exist: search/list_projects both find projects by title, fetch/get_project both return project details, and upload_logo_image/request_logo_image_upload are two upload paths. The descriptions help clarify boundaries, but an agent could still misselect.

Naming Consistency4/5

Tool names overwhelmingly follow a clear verb_noun snake_case pattern (create_, list_, get_, update_, delete_). Minor deviations like bare 'fetch' and 'search', plus the mixed '3d' in generate_3d_model vs '3D' in descriptions, keep it from being perfectly consistent.

Tool Count2/5

At 31 tools, this exceeds the 25+ threshold where agent tool selection becomes cognitively heavy. While the server covers a broad platform, several tools are near-redundant and could be consolidated, making the count feel inflated.

Completeness4/5

The surface covers project lifecycle, sharing/publishing, AI generation, uploads, materials, and account/plan management quite thoroughly. Minor gaps exist, such as no direct create_coin_project tool and no deletion for generation runs, but these are workable.

Resources