Skip to main content
Glama

list_groups

Read-onlyIdempotent

Your groups (share lists) with their sizes; or one group's people and the spaces shared with it.

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": "list_groups"
  }
}

Input Schema

NameRequiredDescriptionDefault
afterNoWhere to start: the last answer's `next`. From the start when left out. (text)
groupNoOne group, to see its people and the spaces shared with it. Every group, with its size, when left out. (group name)
limitNoHow many at most; 50 when left out, for every list. (integer; 1 to 200)
group_idNo`group` by its id, instead of its name. (group id)

Output Schema

NameRequiredDescriptionDefault
pageNo
groupsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changed
    • removedInput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / after
      Added value: +{
      +  "description": "Where to start: the last answer's `next`. From the start when left out. (text)",
      +  "type": "string"
      +}
    • changedInput schema / properties / group / description
      Previous value: -"One group's name (any case) or id, to show its addresses and the spaces shared with it. Omit to list every group with its size."New value: +"One group, to see its people and the spaces shared with it. Every group, with its size, when left out. (group name)"
    • removedInput schema / properties / group / maxLength
      Removed value: -80
    • addedInput schema / properties / group_id
      Added value: +{
      +  "description": "`group` by its id, instead of its name. (group id)",
      +  "type": "string"
      +}
    • addedInput schema / properties / limit
      Added value: +{
      +  "description": "How many at most; 50 when left out, for every list. (integer; 1 to 200)",
      +  "maximum": 200,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / required
      Added value: +[]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "groups": {
      +      "items": {
      +        "properties": {
      +          "id": {
      +            "type": "string"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "people": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "size": {
      +            "type": "integer"
      +          },
      +          "spaces": {
      +            "items": {
      +              "properties": {
      +                "id": {
      +                  "type": "string"
      +                },
      +                "name": {
      +                  "type": "string"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "title": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "page": {
      +      "properties": {
      +        "next": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Added

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds the dual-shape behavior (summary list vs. per-group expansion), which is useful context, but says nothing about pagination semantics or how many groups are typically returned.

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?

A single compact sentence with no filler, and the primary capability is front-loaded. The ellipsis and semicolon construction is slightly telegraphic, but it efficiently conveys both modes without wasted words.

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 rich annotations, a complete input schema, and an output schema, the description needn't explain safety or return structure, and it covers both invocation modes. Only the disambiguation against sibling listing tools is missing, which is a minor gap for this complexity level.

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 all four parameters (after, group, limit, group_id) are documented in structured data and the baseline is 3. The description only restates the group-vs-all distinction already present in the `group` field description, adding no new meaning about formats or defaults.

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?

States a specific verb+resource (list groups) and clarifies the domain term with '(share lists)', plus notes the two result shapes: sizes for all groups, people and shared spaces for one. An agent understands what comes back without opening the schema. It does not, however, distinguish itself from related siblings like list_teams or list_spaces.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied through the two-mode phrasing; the actual selection rule (omit `group` for all, supply it for one) is spelled out in the schema, not the description itself. There is no guidance on when to pick this over list_spaces, list_teams, or get_space, nor any prerequisite or scope note.

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