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 "Login gate failed" 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

TableJSON 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

TableJSON 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 readOnlyHint=false, idempotentHint=true, destructiveHint=false. The description adds valuable behavior: only fields given are changed (partial update) and the refusal condition when all gate fields are empty. It does not disclose any side effects beyond that, but none are expected beyond the schema. This complements the annotations well without contradicting them.

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?

Two sentences, front-loaded with the action, then the typical use case, then a critical constraint. No wasted words. Every clause adds information that the agent needs, and the structure is easy to parse.

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 tool with 22 parameters and an output schema, the description does not need to enumerate every field; the schema covers that. It does mention the key gate constraint and the typical failure recovery context. It omits none of the essential call-time behavior or prerequisites beyond what the schema already states. A slightly higher score is withheld because it doesn't hint at any side effects on video or narration beyond what the parameters imply, but that's minor.

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 coverage is 100%, so each parameter already has a description. The tool description adds cross-parameter meaning: it groups 'login gate' (three fields) and 'extra hosts' (allow_hosts) and clarifies that the gate fields cannot all be empty. This is beyond what the schema individually provides and helps understand the intent of those parameters.

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 names a specific verb ('Change'), a resource ('a project'), and a concrete list of what changes (login gate, extra hosts, target URL, name, narration, default device). It also gives a motivating scenario that distinguishes it from create_project and other tools. This is clear and unambiguous.

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 provides a strong usage context ('typically after a run failed with "Login gate failed"') and a constraint ('passing all three gate fields empty is refused'). It does not explicitly name an alternative tool, but the scenario effectively tells when to call this tool. No exclusions are given, but the guidance is adequate for an agent.

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.