Skip to main content
Glama
Spacepal MCP Server

Spacepal MCP Server

List profiles

list_profiles
Read-onlyIdempotent

Retrieves the names of your saved Spacepal profiles, such as Work or Home, so you can select a valid profile name to apply. Read-only.

Instructions

List the names of the user's saved Spacepal profiles. A profile is a saved set of Space names, colours, notes and automations, such as "Work" and "Home". Read-only. Use it to get a valid name for apply_profile.

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault
profilesYesSaved profile names

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.2.2
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "profiles": {
      +      "description": "Saved profile names",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "profiles"
      +  ],
      +  "type": "object"
      +}
  2. Addedv0.2.0

TDQS

A4.3/5.0
Behavior3/5

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

Annotations already carry readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so "Read-only" largely repeats structured data. What the description does add is the domain meaning of a profile and its role as a name source for apply_profile. It discloses nothing about ordering, empty-profile cases, or how many profiles might return, though an output schema exists to cover the shape of the response.

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?

Three short sentences, front-loaded with the action and resource, then the domain definition, then the read-only/safety note and the downstream use. Every sentence carries information an agent needs and none are filler.

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 zero-parameter, read-only list tool with full annotation coverage and an output schema, the description supplies everything missing: the domain concept, the example values, and the reason an agent would call it. No behavioral or safety gap is left for the agent to infer.

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?

There are zero parameters, so the baseline is 4 and the schema has nothing to document. The description still adds useful semantics about the returned values — the names are consumable as an argument to apply_profile — which is meaning beyond any input schema.

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?

Specific verb plus resource ("List the names of the user's saved Spacepal profiles") and it goes further to define what a profile is, with concrete examples ("Work" and "Home"). This distinguishes it from list_spaces and the other siblings without requiring the schema to be opened.

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?

Explicitly states the use case: "Use it to get a valid name for apply_profile." That routes the agent toward the correct downstream sibling. It lacks an explicit when-not or a contrast with list_spaces, which keeps it just short of a 5.

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