Skip to main content
Glama

Update Clipform

clipform_update_form
DestructiveIdempotent

Update a form's title, publish status, settings, or tags. Only sends fields that are provided - omitted fields remain unchanged. AI-PROTECTED parameters have restrictions noted in their descriptions.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tagsNoReplace all tags on this form. Pass the full desired set (e.g. ['quiz', 'trivia', 'slug:elephants']). Omit to leave tags unchanged.
titleNoNew form title
authorNoAI-PROTECTED: Only set when the user explicitly provides an author name. Set null to clear.
contextYesDescribe the user's underlying goal in one sentence - not the tool you're calling.
form_idYesThe form UUID (returned by clipform_create_form, not the short share_id from the URL)
is_liveNoSetting true publishes/republishes the snapshot respondents see. Forms are live from creation, but edits and media attached AFTER creation are not visible until you re-send true - republishing is the expected final step of a build, never skip it after attaching media. Setting false takes the form offline (keeps the last published snapshot) - AI-PROTECTED: only take a form offline when the user explicitly asks.
logo_urlNoAI-PROTECTED: Only set when the user explicitly provides a logo URL. Set null to clear.
brand_nameNoAI-PROTECTED: Custom brand name shown in footer. Only set when user explicitly provides.
descriptionNoSEO description (meta description, og:description). Set null to clear.
font_familyNoAI-PROTECTED: Only set when the user explicitly requests a specific font.
total_stepsNoOverride the total step count shown in the step counter. Set null to auto-calculate.
primary_colorNoPrimary/brand color as 6-digit hex (e.g. '#FF5500'). Used for buttons and accents.
show_brandingNoShow Clipform branding. Set false to remove (Pro plan).
background_colorNoBackground color as 6-digit hex (e.g. '#1A1A2E').
show_step_counterNoShow step counter (e.g. '1/5'). Recommended for quizzes.
disable_back_navigationNoPrevent respondents from going back. Recommended for quizzes.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
form_idYesForm UUID
updated_fieldsYesNames of the fields that were changed by this call

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed11 schema fields changed
    • addedInput schema / properties / author / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / author / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedInput schema / properties / brand_name / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / brand_name / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedInput schema / properties / description / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / description / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedInput schema / properties / form_id / pattern
      Added value: +"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    • addedInput schema / properties / logo_url / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / logo_url / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedInput schema / properties / total_steps / anyOf
      Added value: +[
      +  {
      +    "type": "number"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / total_steps / type
      Removed value: -[
      -  "number",
      -  "null"
      -]
  2. Changed3 schema fields changed
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / context
      Added value: +{
      +  "description": "Describe the user's underlying goal in one sentence - not the tool you're calling.",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "form_id"
      -]New value: +[
      +  "form_id",
      +  "context"
      +]
  3. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "form_id": {
      +      "description": "Form UUID",
      +      "type": "string"
      +    },
      +    "updated_fields": {
      +      "description": "Names of the fields that were changed by this call",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "form_id",
      +    "updated_fields"
      +  ],
      +  "type": "object"
      +}
  4. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=true, so the safety profile is covered. The description adds genuine context beyond that: partial-update merge behavior and the existence of AI-PROTECTED parameters whose restrictions live in the schema. It does not warn about the tag-replacement overwrite, but the schema does.

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 compact sentences with zero filler; the patch-semantics rule is front-loaded immediately after the purpose statement, which is exactly what an agent needs before filling the 16-parameter schema.

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 16-parameter mutation with an output schema and fully documented parameters, the description covers the essential non-schema facts (partial update, protected fields). A note on how republishing interacts with prior edits would round it out, but the schema already carries that detail.

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

Parameters3/5

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

Schema description coverage is 100% and every parameter carries a detailed description (including AI-PROTECTED notes and publish semantics), so the baseline of 3 applies. The description adds only the high-level field categories, not syntax or meaning beyond the schema.

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

Purpose4/5

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

States a specific verb ('Update') plus resource ('a form') and enumerates the field families affected (title, publish status, settings, tags). An agent can separate it from clipform_create_form, clipform_delete_form, and clipform_update_node, though it does not name those siblings explicitly.

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

Usage Guidelines3/5

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

The patch semantics ('only sends fields that are provided - omitted fields remain unchanged') implies how to call it, but there is no explicit when-to-use guidance or comparison against alternatives such as clipform_update_node or clipform_set_logic. Usage must be inferred.

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.