Skip to main content
Glama

Update project

update_project
Idempotent

Change a project's login gate, extra hosts, target URL, name, narration or default device — typically after a run failed with error code login_failed ("Sign-in didn't go through") and the gate needs a selector or text instead of a URL fragment. Only the fields given are changed; passing all three gate fields empty is refused.

Input Schema

NameRequiredDescriptionDefault
fadeNoHalf-second fade in at the start and out at the end.
nameNoNew project name.
frameNoDefault frame for phone/tablet videos: portrait, landscape (widescreen 16:9) or none (full screen).
voiceNoNarration voice id from list_voices.
deviceNoDefault device for this project's videos: desktop, or a phone/tablet preset (desktop, iphone, iphone-max, android, android-large, ipad, ipad-pro, android-tablet).
backdropNoDefault backdrop behind the phone frame: neutral or brand.
cta_textNoCall to action on the ending for this project; empty uses the Brand one.
languageNoNarration language code from list_voices.
app_localeNoBCP-47 code of the app's interface language; empty string clears it.
project_idYesThe project to change (from list_projects).
target_urlNoNew login or home page URL (https). The host must be attested; create_project attests a new host.
title_lineNoWhat the narrator says over the opening, up to 100 characters of plain words; {title} is replaced by each guide's video title. Empty speaks the title.
allow_hostsNoReplaces the list of extra hosts the app talks to.
ending_styleNoEnding style. "clip" needs a clip uploaded in the app.
bookends_modeNoOpening and ending: "default" uses the workspace Brand settings, "custom" uses the values below (Pro and up).
narrate_titleNoThe narrator speaks a line over the opening (Pro and up); by default the video title.
opening_styleNoOpening style. "clip" needs a clip uploaded in the app.
ending_secondsNoEnding length, 3 to 10 seconds.
opening_secondsNoOpening length, 3 to 10 seconds.
login_success_textNoVisible text present only when signed in.
login_success_selectorNoCSS selector visible only when signed in.
login_success_url_containsNoURL fragment seen only after login.

Output Schema

NameRequiredDescriptionDefault
nameYes
outputYesDefault device settings after the change.
bookendsYesOpening and ending settings after the change (mode, opening, ending, cta_text, narrate_title, title_line, fade).
login_gateNourl_contains, text and/or selector now in force.
project_idYes
target_urlYes
allow_hostsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare that the mutation is non-destructive, idempotent, and closed-world. The description adds useful behavioral context beyond those annotations: only supplied fields are changed, and passing all three gate fields empty is refused. It omits auth requirements and return behavior, though an output schema exists.

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?

It is front-loaded with the core action and uses only two sentences with no wasted framing. The trigger scenario and key constraint both earn their place.

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

Completeness4/5

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

For a complex 22-parameter mutation, the annotations, full schema, and output schema reduce what the description must carry. The description supplies purpose, a typical failure-driven use case, partial-update behavior, and a refusal constraint, though it highlights only a subset of the updatable fields rather than the full scope.

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

Parameters4/5

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

Schema description coverage is 100% across all 22 parameters, so the schema already carries most parameter meaning. The description still adds a cross-field constraint not expressed in the schema: passing all three gate fields empty is refused, and it reinforces that the update is partial rather than replacement.

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 uses a specific verb, 'Change,' and resource, 'project,' then enumerates the kinds of settings being updated. It is clearly distinguishable from siblings such as create_project and list_projects because it focuses on modifying an existing project.

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

Usage Guidelines4/5

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

It gives a concrete trigger scenario: typically after a run failed with login_failed and the login gate needs a selector or text instead of a URL fragment. It does not explicitly say when not to use this tool or name alternative tools, so it falls short of full routing guidance.

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.