Skip to main content
Glama

Update form

form_update

Update form metadata or appearance. Does not update form content (use editor tools). null clears folderId/emoji. cover and logo are OBJECTS keyed by a discriminated type — never a bare string. cover = {type:"image",url,offsetY?} | {type:"color",color} | {type:"none"}; logo = {type:"icon",name} | {type:"image",url} | {type:"none"}. Set an image only from a durable http(s) or data:image URL the user explicitly provided. AI chat file-attachment proxy URLs are temporary and must never be stored in form fields. Examples: cover:{type:"image",url:"https://…",offsetY:50}; cover:{type:"color",color:"#0ea5e9"}; logo:{type:"none"}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
logoNoSet or remove the form logo. Discriminated by `type`. Per-variant fields validated server-side: type=icon requires name; type=image requires url; type=none takes no other fields. For type=image, never invent or guess a URL — use a URL the user provided or an uploaded image; if you have neither, ask the user instead.
nameNo
coverNoSet or remove the form cover. Discriminated by `type`. Per-variant fields validated server-side: type=color requires color; type=image requires url; type=none takes no other fields. For type=image, never invent or guess a URL (no stock, placeholder, or Unsplash links) — use a URL the user provided or an uploaded image; if you have neither, ask the user instead.
emojiNo
formIdYes
folderIdNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior3/5

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

Annotations declare readOnlyHint=false, destructiveHint=false, openWorldHint=false, so the safety profile is already covered. The description adds genuinely useful non-annotation behavior — that null actively clears folderId/emoji, and that temporary AI chat attachment-proxy URLs must never be persisted — but says nothing about permissions or what the call returns.

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

Conciseness4/5

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

Front-loaded with purpose and the content exclusion, then rules, then compact inline examples. The discriminated-union explanation and the never-store-temporary-URL rule partially restate the schema descriptions, which is minor redundancy rather than filler.

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 mutation tool with no output schema and complex nested parameters, the description covers the essentials: scope, clearing semantics, and URL-safety constraints. Remaining gaps (permission requirements, whether the updated form is echoed back) are modest and partly mitigated by the annotations.

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 only 33% and the tool has 6 params including two nested discriminated objects, so the description must compensate. It does: it spells out that cover/logo are objects keyed by type (never bare strings), enumerates each variant shape, and states the null-clearing semantics for folderId/emoji. It overlaps the schema's own per-variant descriptions rather than adding entirely new detail, and name/formId go unexplained.

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?

States a specific verb+resource (update form metadata/appearance) and immediately scopes it against the sibling family that handles content: 'Does not update form content (use editor tools).' An agent can distinguish this from editor_* tools without opening the schema.

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?

Gives an explicit when-not with a named alternative (editor tools for content), plus the 'null clears folderId/emoji' rule that tells the agent how to remove values. It does not, however, differentiate this from overlapping siblings like formSettings_update or formTheme_set, which also touch form-level configuration.

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.