Skip to main content
Glama
Spacepal MCP Server

Spacepal MCP Server

Rename Space

rename_space
Idempotent

Set or change the name Spacepal displays for a macOS Space in the menu bar, overview, and Mission Control; use an empty name to restore the default “Desktop N” label.

Instructions

Set the name Spacepal shows for a Space in its menu bar, overview and Mission Control. Replaces the old name; an empty name goes back to "Desktop N". The name stays with the Space even if desktops are reordered. Reversible: call again with the old name (get it from list_spaces first). Fails if the Space does not exist.

Input Schema

NameRequiredDescriptionDefault
nameYesNew name, up to 60 characters. Empty text ("") restores the default "Desktop N".
spaceNoWhich Space: desktop number or name from list_spaces. Leave it out for the Space the user is on now.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.2.3
    • removedInput schema / additionalProperties
      Removed value: -false
    • changedInput schema / properties / space / anyOf
      Previous value: -[
      -  {
      -    "exclusiveMinimum": 0,
      -    "type": "integer"
      -  },
      -  {
      -    "minLength": 1,
      -    "type": "string"
      -  }
      -]New value: +[
      +  {
      +    "exclusiveMinimum": 0,
      +    "maximum": 9007199254740991,
      +    "type": "integer"
      +  },
      +  {
      +    "minLength": 1,
      +    "type": "string"
      +  }
      +]
  2. Changed2 schema fields changedv0.2.2
    • changedInput schema / properties / name / description
      Previous value: -"New name. Empty text restores \"Desktop N\"."New value: +"New name, up to 60 characters. Empty text (\"\") restores the default \"Desktop N\"."
    • changedInput schema / properties / space / description
      Previous value: -"Desktop number (1, 2, ...) or Space name, e.g. \"Mail\"."New value: +"Which Space: desktop number or name from list_spaces. Leave it out for the Space the user is on now."
  3. First observedv0.1.0

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the annotations (readOnly=false, idempotent=true, destructive=false), the description discloses the overwrite semantics (replaces the old name), the reset behavior for an empty name, the persistence of a name across desktop reordering, reversibility, and the failure condition. That is exactly the kind of context annotations cannot carry.

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?

Five short sentences, each carrying distinct information with no repetition, ordered from what the tool does to how it behaves to how it fails. The overwrite/reversibility facts are front-loaded where an agent needs them.

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?

With only two parameters, no output schema, and full schema coverage, the description covers everything material: what changes, what happens to the old value, how to undo, and the error condition. Nothing an agent needs in order to call this correctly is missing.

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%, so both parameters are already documented in the schema, including the 60-char limit and the empty-string reset. The description adds only the pointer to list_spaces for retrieving the prior value; the baseline 3 applies when the schema does the heavy lifting.

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?

The first sentence gives a specific verb and resource ("Set the name Spacepal shows for a Space") and even names the UI surfaces affected. It distinguishes clearly from siblings like set_space_note, switch_space or list_spaces, so the agent can route without opening a 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?

It states the precondition for a revert ("call again with the old name (get it from list_spaces first)") and the failure case ("Fails if the Space does not exist"). It does not explicitly route to siblings for other Space operations, but the usage context is clear enough for correct selection.

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