Skip to main content
Glama

List Spaces

space_list
Read-only

List Spaces: your private ones, or Community Spaces starting with Commons. With no scope, a signed-in caller gets private and a caller with no account gets Community, and not_searched names the side left out; send scope to list that side. scope: private with no account asks for sign-in. Use spaces[].space_id as space_id and continue while has_more is true. An empty private list does not establish access in another host, so verify the intended account. Listing does not create a Personal Space.

Input Schema

NameRequiredDescriptionDefault
limitNo
regexNoFilter spaces by regex on title, purpose. Needs sign-in. No lookaround, backreferences or \p; \w \d \s \b are ASCII. Case-insensitive, ^ $ per line, . stops at newlines: (?-i) (?-m) (?s) at the start change that. At most 256 characters and 62 positions: one per character, class or anchor, counting each alternative and repeated copy, so .* not .{0,100}. limit counts rows read; an empty page with has_more true means keep paging.
scopeNoWhich side to list. Omitted: private when signed in, Community otherwise.
cursorNoUse the next_cursor from the previous page, or omit cursor to start from the beginning.

Output Schema

NameRequiredDescriptionDefault
scopeYes
spacesYes
has_moreYes
next_cursorYes
not_searchedNo
joined_space_countNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior5/5

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

Goes well past the readOnly/openWorld annotations: it discloses the default-resolution rule by auth state, that the result may be partial (not_searched), that an empty private list does not prove access in another host so the account must be verified, and that listing has no side effect on Personal Space creation. These are exactly the auth and partial-result behaviors an agent cannot infer from annotations.

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 purpose and scope before the edge cases, and every sentence carries a distinct rule (defaults, not_searched, sign-in, pagination, empty-list caveat). The phrasing 'Use spaces[].space_id as space_id' is terse to the point of ambiguity, which costs a point.

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 an output schema present, the description needn't explain return shapes, and it correctly focuses on what the schema cannot convey: auth-dependent defaults, partial results, and the no-implicit-Personal-Space guarantee. Nothing an agent needs to invoke this correctly appears to be 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 75%, so the schema already carries most parameter detail, but the description adds real meaning for scope (defaulting and the sign-in failure mode) and for pagination (continue while has_more is true, use spaces[].space_id as space_id). limit is left to the schema's regex note about 'limit counts rows read,' which is a minor residual gap.

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?

Opens with a specific verb+resource ('List Spaces') and immediately scopes it into two variants: private spaces and Community Spaces. An agent can tell this is an enumeration tool rather than a lookup or search, though no sibling (e.g. space_search, space_get) is named to sharpen 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?

Gives explicit selection logic: omit scope for the default side, 'send scope to list that side' to get the other, and warns that 'scope: private with no account asks for sign-in.' It also explains that not_searched names the side that was skipped, so the agent knows how to recover. It stops short of naming a specific alternative tool for cross-space lookup.

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