Skip to main content
Glama

update_workspace

Destructive

Update the workspace's identity (name, website, logo), its settings, or its accounts' posting rules.

Only the fields passed change. The result's workspace is the workspace as saved, settings included; accountPosting the accounts' rules as saved.

Args: name: The workspace / brand name (60 characters max). website: Brand website URL. logo_url: URL to the brand logo image. timezone: IANA timezone for scheduling, e.g. "Europe/Madrid". preferred_times: Preferred posting times as HH:MM, e.g. ["09:00", "18:00"]. tag_outbound_links: Append UTM parameters to links on the workspace's own website when a post publishes, so clicks stop reading as "direct" traffic. Needs website set; no other site's links are touched. account_posting: Per account id, the user's own posting rules, only when the user asks; a limit they state for posting ("at most 4 a day", "30 minutes apart") lives here, held on every send rather than counted by hand: {maxPostsPerDay, minGapMinutes, timezone, slots: [{day: 1-7 (Monday=1), time: "HH:MM"}]}; null removes one. Enforced like the platform caps (account_limit_reached); slots are what schedule_post(scheduled_for="next_slot") fills. workspace_id: Workspace ID or name. Optional if user has only one workspace.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "update_workspace"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNo
contextNoThe user's underlying goal for this call, in one sentence without personal details. Used for product analytics only.
websiteNo
logo_urlNo
timezoneNo
llm_modelNoThe model identifier of the calling assistant, or "unknown". Used for product analytics only.
workspace_idNo
account_postingNo
conversation_idNoPass the exact conversation_id from the server's previous response, unchanged. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it. Keep passing the same conversation_id for the rest of the conversation, including after later user messages or on a different task; do not reset it when the user starts a new request.
preferred_timesNo
tag_outbound_linksNo

Output Schema

NameRequiredDescriptionDefault
_mcp_instructionsNoServer-issued metadata for this conversation.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / account_posting
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": {
      +        "additionalProperties": true,
      +        "type": "object"
      +      },
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Account Posting"
      +}
  2. Changed1 schema field changed
    • changedInput schema / required
      Previous value: -[
      -  "context",
      -  "llm_model"
      -]New value: +[]
  3. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, and the description adds meaningful behavior beyond them: partial-update semantics, the website→tag_outbound_links dependency, that null removes an account rule, that rules are enforced like platform caps (`account_limit_reached`), and how slots interact with schedule_post(next_slot). It does not warn about what overwriting a name/logo or clearing rules destroys, which is the main residual gap given the destructive hint.

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 summary followed by a scannable Args block; nearly every sentence carries new information (formats, dependencies, enforcement). The one piece of dead weight is the sentence describing the returned `workspace`/`accountPosting` keys, which duplicates the existing output schema.

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 an 11-parameter mutation tool with nested rule objects, the description covers partial-update behavior, cross-parameter dependencies, format examples, null semantics, and downstream enforcement. With an output schema present, its only redundancy is describing the return payload, not a missing piece.

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

Parameters5/5

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

Schema coverage is only 27%, but the Args section compensates fully for the business parameters: character limit on name, IANA format and an example for timezone, HH:MM example for preferred_times, a concrete shape for account_posting including day numbering (Monday=1) and slot semantics. The three undocumented-in-description params (context, llm_model, conversation_id) carry their own schema descriptions, so nothing is left opaque.

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?

The opening sentence names a specific verb and enumerates the three resource scopes it touches: workspace identity (name, website, logo), settings, and accounts' posting rules. It is far more precise than a tautology, but it never explicitly contrasts itself with siblings like create_workspace or set_default_workspace, so an agent must infer the boundary.

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 gives real conditional guidance: 'Only the fields passed change' (partial-update semantics), account_posting is to be set 'only when the user asks,' tag_outbound_links 'Needs `website` set,' and workspace_id is 'Optional if user has only one workspace.' It stops short of naming an alternative tool or stating when not to use this one.

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.