# `list_groups`

Lists the groups you belong to.

Annotations: `readOnlyHint: true` · `destructiveHint: false` · `idempotentHint: true` · `openWorldHint: false`

## When to use it

- To turn a group's name into its `publicId`. If a name matches more than one group, ask which one is meant.
- To show which groups a goal could be shared with.

It doesn't list anyone's contacts.

## Inputs

No inputs.

## Returns

`{ "myGroups": [...] }`, sorted by name. Each group has:

| Field | Type | Description |
| --- | --- | --- |
| `publicId` | string | The group's ID for other tools |
| `name` | string | Group name |
| `description` | string or null | Group description |
| `memberCount` | number | Current members |
| `hasActiveGoal` | boolean | You have an active goal shared with this group |
| `isModerator` | boolean | You moderate this group |

## Example

```json list_groups
{}
```

Result (synthetic data):

```json result:list_groups
{
  "myGroups": [
    {
      "publicId": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
      "name": "Synthetic founders",
      "description": null,
      "memberCount": 2,
      "hasActiveGoal": true,
      "isModerator": false
    }
  ]
}
```

## Related

- [`get_group_details`](/docs/mcp/tools/get_group_details) reads one group's roster and shared goals.
- [Goals and audiences](/docs/mcp/concepts/goals) explains how groups decide who reads a goal.
