Skip to main content
Glama

Update workspace settings

update_workspace
DestructiveIdempotent

Change the workspace's settings as a PATCH: every input is optional and only the settings you pass are touched — unsent settings keep their stored value, and a value that already matches is a no-op. Covers timezone (IANA), date_format, default_currency (refused while any manual exchange rate exists — remove them with set_exchange_rates first), currency_display, logo_url, deal_value_metric, auto_create_contacts, the meeting recorder (recorder_enabled + recorder_auto_scope; enabling connects every member's calendar), recorder_notice_enabled, allow_domain_join and flags.automation_enabled. The workspace NAME and qualification FRAMEWORK are not here: they are set through finalize_workspace_setup. The three posture switches — recorder_enabled, recorder_notice_enabled, allow_domain_join — need confirm:true whether turning on or off; without it the call returns a preview of every change and writes nothing. An invalid value or a refused change writes nothing and names the problem. Admin-only. Returns the full settings block (name, framework, timezone, date_format, default_currency, currency_display, logo_url, deal_value_metric, auto_create_contacts, recorder_enabled, recorder_auto_scope, recorder_notice_enabled, allow_domain_join, flags) plus changed, the settings that actually moved.

When to use: When an admin wants to change a workspace setting from the conversation — the time zone, date or money format, the default currency, the logo, how deal values normalize, whether ingestion mints contacts, the meeting recorder and its notice, domain join, or the automation flag. A patch: only what you pass changes; the posture switches ask for confirm:true.

Example: Set our timezone to Europe/Stockholm and the date format to DD/MM/YYYY.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
flagsNoWorkspace capability flags, currently { automation_enabled }.
confirmNotrue carries out a change to recorder_enabled, recorder_notice_enabled or allow_domain_join; omitted or false returns the preview and writes nothing.
logo_urlNoWorkspace logo as an http(s) URL; null clears it.
timezoneNoIANA time zone name, e.g. Europe/Stockholm or America/New_York; an unknown zone is refused.
date_formatNoWorkspace-wide numeric date format; null restores Automatic (the pinned MM/DD/YYYY canon).
currency_displayNoMoney read style — symbol ($1,200) or code (USD 1,200); null restores the default symbol rendering.
default_currencyNoISO 4217 code (USD, EUR, GBP, SEK, DKK, NOK, JPY, KWD, BHD). Locked while any manual exchange rate exists because stored rates are denominated in it.
recorder_enabledNoThe meeting recorder's one admin switch; on connects every member's calendar to the recorder. Posture change: needs confirm:true.
allow_domain_joinNoLet colleagues on the workspace's organisational email domain join without an invite. Access posture: needs confirm:true.
deal_value_metricNoHow product-derived deal values normalize onto a time basis; existing amounts are never rewritten.
recorder_auto_scopeNoWhich meetings the recorder joins by itself: external (customer calls, the default) or off (only a human's record_meeting).
auto_create_contactsNoWhether mail and calendar ingestion may mint NEW contacts; false stops minting while existing contacts keep getting activity.
recorder_notice_enabledNoEmail external attendees about an hour before a recorded meeting with a one-click opt-out. Consent posture: needs confirm:true.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteNo
changedNo
changesNo
updatedNo
problemsNo
settingsNo
requires_confirmNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations declare destructive/idempotent/readOnly=false, and the description adds substantial context beyond them: pure PATCH semantics (unsent settings untouched, matching values are no-ops), the confirm:true preview gate on the three posture switches that writes nothing without it, atomic refusal on invalid/refused values, and admin-only authorization. This is exactly the behavioral detail an agent needs for a destructive mutation.

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 the PATCH rule and the confirm gate, which are the highest-value facts. It runs long and the 'When to use' paragraph partially restates the opening enumeration, but the example and grouping are useful rather than padding.

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

Completeness5/5

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

For a 13-parameter destructive mutation with nested objects, the description covers semantics, gating, authorization, error behavior, and even the return shape plus `changed`. With an output schema present it needn't detail returns, yet does so briefly; nothing an agent needs to call it correctly is missing.

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 baseline is 3. The description exceeds that by adding cross-tool workflow meaning the schema lacks: default_currency is refused while manual exchange rates exist (routed to set_exchange_rates), and enabling recorder_enabled connects every member's calendar. It also names the confirm-gated trio as a group, clarifying which single parameter gates which settings.

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 (change/PATCH workspace settings) and enumerates exactly which settings are covered, then explicitly carves out what is NOT here (name and qualification framework go through finalize_workspace_setup). An agent can distinguish it from its siblings 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 Guidelines5/5

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

The 'When to use' section gives explicit conditions (admin changing a setting from the conversation) and names the alternative for the excluded fields (finalize_workspace_setup). It also states the prerequisite for default_currency changes: remove manual rates with set_exchange_rates first.

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.

Resources