Skip to main content
Glama

Update Space

update_space
Destructive

Update Circle space settings and community state, including visibility, tabs, notifications, and course options. Set confirm=true only when the user explicitly requests the change.

Instructions

Update Space. Changes community state and requires confirm=true for the user-requested action.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNo
emojiNoSimple emoji string for the space
topicsNo
accountNoNamed private Circle account; selects credentials, not a remote community ID.
confirmNoSet true only when the user asked for exactly this action.
payloadNoComplete JSON request body instead of body flags. Supports nested Tiptap, maps and nullable values.
is_draftNoOnly valid for course spaces; set to false to publish a course
space_idYesSpace ID
is_hiddenNo
is_privateNo
cover_imageNosigned_id of the cover image
default_tabNoDefault tab to show when entering the space
custom_emojiNo
default_sortNo
display_viewNoDefault display view for the space
hide_sortingNo
payload_fileNoRegular local JSON body file, at most 5 MB. Cannot be mixed with body flags or payload.
show_tab_barNoShow the tab bar navigation
visible_tabsNo
space_group_idNo
show_next_eventNoShow next event information for event spaces
thumbnail_imageNosigned_id of the thumbnail image for event spaces
is_post_disabledNo
hide_from_sidebarNoHide space from sidebar navigation
locked_button_urlNo
hide_members_countNoHide the member count display
hide_post_settingsNoHide post settings
hide_right_sidebarNoHide right sidebar in space
pinned_posts_labelNoCustom label for pinned posts
cover_image_visibleNo
default_member_sortNoDefault sort order for members
locked_button_labelNo
locked_page_headingNo
meta_tag_attributesNo
default_comment_sortNoDefault sort order for comments
chat_room_descriptionNoDescription for the chat room in chat spaces
chat_room_show_historyNoShow chat history to new members in chat spaces
event_auto_rsvp_enabledNoOnly for event spaces
locked_page_descriptionNo
require_topic_selectionNoRequire topic selection when posting
hide_from_featured_areasNoHide space from featured areas
course_setting_attributesNo
cover_image_display_styleNo
disable_member_post_coversNoDisable cover images on member posts
is_hidden_from_non_membersNo
default_notification_settingNoMembers will receive an email notification when new events are posted
show_lock_icon_for_non_membersNoShow lock icon for non-members
prevent_members_from_adding_othersNoPrevent members from adding other members to the space
default_in_app_notification_settingNoMembers will see an in-app notification when new events are posted
default_mobile_notification_settingNoMembers will see a mobile notification when new events are posted
default_mention_in_app_notification_settingNoMembers will see an in-app notification when mentioned
default_mention_mobile_notification_settingNoMembers will see a mobile notification when mentioned

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed26 schema fields changedv3.0.1
    • addedInput schema / $defs
      Added value: +{
      +  "course_setting_attributes": {
      +    "description": "Course space configuration",
      +    "properties": {
      +      "course_type": {
      +        "enum": [
      +          "self_paced",
      +          "scheduled",
      +          "structured"
      +        ],
      +        "type": "string"
      +      },
      +      "custom_lesson_label": {
      +        "enum": [
      +          "activity",
      +          "assignment",
      +          "challenge",
      +          "class",
      +          "day",
      +          "exercise",
      +          "lecture",
      +          "lesson",
      +          "practice",
      +          "session",
      +          "topic",
      +          "tutorial",
      +          "workshop"
      +        ],
      +        "type": "string"
      +      },
      +      "custom_section_label": {
      +        "enum": [
      +          "chapter",
      +          "level",
      +          "module",
      +          "part",
      +          "path",
      +          "phase",
      +          "section",
      +          "stage",
      +          "track",
      +          "unit",
      +          "week"
      +        ],
      +        "type": "string"
      +      },
      +      "enforce_lessons_order": {
      +        "type": "boolean"
      +      },
      +      "lesson_thumbnails_visible": {
      +        "type": "boolean"
      +      },
      +      "new_comment_notification_enabled": {
      +        "type": "boolean"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  "meta_tag_attributes": {
      +    "description": "SEO meta tag attributes",
      +    "properties": {
      +      "meta_description": {
      +        "type": "string"
      +      },
      +      "meta_title": {
      +        "type": "string"
      +      },
      +      "opengraph_description": {
      +        "type": "string"
      +      },
      +      "opengraph_image": {
      +        "type": "string"
      +      },
      +      "opengraph_title": {
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  "visible_tabs": {
      +    "description": "Visible tabs configuration for the space",
      +    "properties": {
      +      "members": {
      +        "description": "Show members tab",
      +        "type": "boolean"
      +      },
      +      "past": {
      +        "description": "Show past events tab",
      +        "type": "boolean"
      +      },
      +      "posts": {
      +        "description": "Show posts tab",
      +        "type": "boolean"
      +      },
      +      "upcoming": {
      +        "description": "Show upcoming events tab",
      +        "type": "boolean"
      +      }
      +    },
      +    "type": "object"
      +  }
      +}
    • changedInput schema / properties / confirm / description
      Previous value: -"Must be true for the specific user-requested write."New value: +"Set true only when the user asked for exactly this action."
    • addedInput schema / properties / course_setting_attributes / $ref
      Added value: +"#/$defs/course_setting_attributes"
    • removedInput schema / properties / course_setting_attributes / description
      Removed value: -"Course space configuration"
    • removedInput schema / properties / course_setting_attributes / properties
      Removed value: -{
      -  "course_type": {
      -    "enum": [
      -      "self_paced",
      -      "scheduled",
      -      "structured"
      -    ],
      -    "type": "string"
      -  },
      -  "custom_lesson_label": {
      -    "enum": [
      -      "activity",
      -      "assignment",
      -      "challenge",
      -      "class",
      -      "day",
      -      "exercise",
      -      "lecture",
      -      "lesson",
      -      "practice",
      -      "session",
      -      "topic",
      -      "tutorial",
      -      "workshop"
      -    ],
      -    "type": "string"
      -  },
      -  "custom_section_label": {
      -    "enum": [
      -      "chapter",
      -      "level",
      -      "module",
      -      "part",
      -      "path",
      -      "phase",
      -      "section",
      -      "stage",
      -      "track",
      -      "unit",
      -      "week"
      -    ],
      -    "type": "string"
      -  },
      -  "enforce_lessons_order": {
      -    "type": "boolean"
      -  },
      -  "lesson_thumbnails_visible": {
      -    "type": "boolean"
      -  },
      -  "new_comment_notification_enabled": {
      -    "type": "boolean"
      -  }
      -}
    • removedInput schema / properties / course_setting_attributes / type
      Removed value: -"object"
    • addedInput schema / properties / meta_tag_attributes / $ref
      Added value: +"#/$defs/meta_tag_attributes"
    • removedInput schema / properties / meta_tag_attributes / description
      Removed value: -"SEO meta tag attributes"
    • removedInput schema / properties / meta_tag_attributes / properties
      Removed value: -{
      -  "meta_description": {
      -    "type": "string"
      -  },
      -  "meta_title": {
      -    "type": "string"
      -  },
      -  "opengraph_description": {
      -    "type": "string"
      -  },
      -  "opengraph_image": {
      -    "type": "string"
      -  },
      -  "opengraph_title": {
      -    "type": "string"
      -  }
      -}
    • removedInput schema / properties / meta_tag_attributes / type
      Removed value: -"object"
    • addedInput schema / properties / payload / properties / course_setting_attributes / $ref
      Added value: +"#/$defs/course_setting_attributes"
    • removedInput schema / properties / payload / properties / course_setting_attributes / description
      Removed value: -"Course space configuration"
    • removedInput schema / properties / payload / properties / course_setting_attributes / properties
      Removed value: -{
      -  "course_type": {
      -    "enum": [
      -      "self_paced",
      -      "scheduled",
      -      "structured"
      -    ],
      -    "type": "string"
      -  },
      -  "custom_lesson_label": {
      -    "enum": [
      -      "activity",
      -      "assignment",
      -      "challenge",
      -      "class",
      -      "day",
      -      "exercise",
      -      "lecture",
      -      "lesson",
      -      "practice",
      -      "session",
      -      "topic",
      -      "tutorial",
      -      "workshop"
      -    ],
      -    "type": "string"
      -  },
      -  "custom_section_label": {
      -    "enum": [
      -      "chapter",
      -      "level",
      -      "module",
      -      "part",
      -      "path",
      -      "phase",
      -      "section",
      -      "stage",
      -      "track",
      -      "unit",
      -      "week"
      -    ],
      -    "type": "string"
      -  },
      -  "enforce_lessons_order": {
      -    "type": "boolean"
      -  },
      -  "lesson_thumbnails_visible": {
      -    "type": "boolean"
      -  },
      -  "new_comment_notification_enabled": {
      -    "type": "boolean"
      -  }
      -}
    • removedInput schema / properties / payload / properties / course_setting_attributes / type
      Removed value: -"object"
    • addedInput schema / properties / payload / properties / meta_tag_attributes / $ref
      Added value: +"#/$defs/meta_tag_attributes"
    • removedInput schema / properties / payload / properties / meta_tag_attributes / description
      Removed value: -"SEO meta tag attributes"
    • removedInput schema / properties / payload / properties / meta_tag_attributes / properties
      Removed value: -{
      -  "meta_description": {
      -    "type": "string"
      -  },
      -  "meta_title": {
      -    "type": "string"
      -  },
      -  "opengraph_description": {
      -    "type": "string"
      -  },
      -  "opengraph_image": {
      -    "type": "string"
      -  },
      -  "opengraph_title": {
      -    "type": "string"
      -  }
      -}
    • removedInput schema / properties / payload / properties / meta_tag_attributes / type
      Removed value: -"object"
    • addedInput schema / properties / payload / properties / visible_tabs / $ref
      Added value: +"#/$defs/visible_tabs"
    • removedInput schema / properties / payload / properties / visible_tabs / description
      Removed value: -"Visible tabs configuration for the space"
    • removedInput schema / properties / payload / properties / visible_tabs / properties
      Removed value: -{
      -  "members": {
      -    "description": "Show members tab",
      -    "type": "boolean"
      -  },
      -  "past": {
      -    "description": "Show past events tab",
      -    "type": "boolean"
      -  },
      -  "posts": {
      -    "description": "Show posts tab",
      -    "type": "boolean"
      -  },
      -  "upcoming": {
      -    "description": "Show upcoming events tab",
      -    "type": "boolean"
      -  }
      -}
    • removedInput schema / properties / payload / properties / visible_tabs / type
      Removed value: -"object"
    • addedInput schema / properties / visible_tabs / $ref
      Added value: +"#/$defs/visible_tabs"
    • removedInput schema / properties / visible_tabs / description
      Removed value: -"Visible tabs configuration for the space"
    • removedInput schema / properties / visible_tabs / properties
      Removed value: -{
      -  "members": {
      -    "description": "Show members tab",
      -    "type": "boolean"
      -  },
      -  "past": {
      -    "description": "Show past events tab",
      -    "type": "boolean"
      -  },
      -  "posts": {
      -    "description": "Show posts tab",
      -    "type": "boolean"
      -  },
      -  "upcoming": {
      -    "description": "Show upcoming events tab",
      -    "type": "boolean"
      -  }
      -}
    • removedInput schema / properties / visible_tabs / type
      Removed value: -"object"
  2. First observedv2.0.0

TDQS

C2.3/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false, so the safety profile is partly known. The description adds one genuinely new behavioral fact - that the call is gated behind confirm=true - which is useful context beyond the annotations. It does not, however, disclose what state is destroyed or what happens on partial updates.

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

Conciseness3/5

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

Two short sentences that are front-loaded and free of filler, which is structurally sound. However, at this brevity for a 52-parameter destructive tool, the terseness reads as under-specification rather than disciplined concision.

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

Completeness2/5

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

For a destructive, non-idempotent mutation with 52 parameters, nested objects, no output schema, and only 63% description coverage, the description is far too thin. It surfaces the confirm requirement but omits which space fields are mutable, side effects, and prerequisite permission context.

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

Parameters2/5

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

With 52 parameters and only 63% schema description coverage, roughly a third of the parameters are undocumented in both schema and description, and the description should compensate but does not. The single parameter it references (confirm) is already fully described in the schema, so it adds no meaning.

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

Purpose2/5

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

The first sentence is a verbatim restatement of the tool name/title ('Update Space'), which is the definition of tautology. 'Changes community state' is vague - it does not say which aspects of the space are updated and does nothing to distinguish this from siblings such as update_community or update_space_group.

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

Usage Guidelines2/5

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

The only guidance is the confirm=true gating, which the schema already states ('Set true only when the user asked for exactly this action'). There is no when-to-use vs. when-not-to-use framing and no routing to alternative update_* tools despite the dense sibling set.

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

Deploy Server

Other Tools