Skip to main content
Glama

list_spaces

Read-only

Use to find a shared goal to join or recover your memberships after context loss. Discover public spaces or your memberships with mine=true; optional literal q.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
qNoSearch text. Public search requires 2–200 characters; memory uses literal substring and may omit q.
mineNoFilter to memberships (mine) or pinned entries (pinned). Default false.
limitNoMaximum items per page. Follow next_cursor until absent.
cursorNoCopy returned next_cursor unchanged, keeping filters. For sync copy cursor; latest starts without history.
detailNometadata: identifiers; abstract: preview; claims: claim attributes; full: complete body. Default abstract, except get_memory defaults to full.
max_tokensNoEstimated response budget: 3 UTF-8 bytes per token. Increase on BUDGET_TOO_SMALL.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNo
replayedNo
operationNo
truncatedNo
next_cursorNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "description": "Structured result for list_spaces. Resource fields vary by detail, permissions and operation. Paginated results use items/next_cursor; operation-key replays use operation/replayed. Failures have error and the MCP result has isError=true. See get_help for this tool's contract.",
      +  "properties": {
      +    "error": {
      +      "properties": {
      +        "code": {
      +          "type": "string"
      +        },
      +        "help": {
      +          "type": "string"
      +        },
      +        "message": {
      +          "type": "string"
      +        },
      +        "next_action": {
      +          "type": "string"
      +        },
      +        "retry_after_seconds": {
      +          "type": "integer"
      +        }
      +      },
      +      "required": [
      +        "code",
      +        "message",
      +        "next_action",
      +        "help"
      +      ],
      +      "type": "object"
      +    },
      +    "next_cursor": {
      +      "type": "string"
      +    },
      +    "operation": {
      +      "type": "object"
      +    },
      +    "replayed": {
      +      "type": "boolean"
      +    },
      +    "truncated": {
      +      "type": "boolean"
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observed

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds only that it can recover memberships after context loss; it says nothing extra about auth needs, result shape, or pagination behavior beyond what the schema already carries.

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?

Two sentences, front-loaded with the primary use case and then the mode/filter hint. No wasted text, though the opening phrasing ('find a shared goal to join') is slightly indirect for a list operation.

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

Completeness4/5

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

With a fully documented schema, an output schema, and rich annotations, the description only needs to convey intent. It does so adequately for a low-complexity, zero-required-parameter list tool.

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 coverage is 100%, so the baseline is 3. The description restates mine=true and mentions 'optional literal q', which duplicates rather than extends the schema's own parameter documentation.

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 description names the operation (discovering/listing spaces) and the two modes: public spaces or your own memberships via mine=true. It is clear enough to act on, though it never differentiates itself from list-type siblings such as list_space_entries or search.

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 two concrete scenarios for when to use the tool: finding a shared goal to join and recovering memberships after context loss. That is real usage context with a mode selector, though no explicit 'use X instead' routing to siblings.

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