# Which of your students can join a challenge group

`list_group_project_students`

- Read-only

Lists this teacher’s own students for one group challenge, each as an opaque student handle with their name and grade, whether their grade can take part (eligible) and the group they are already in, if any (in_group, with mine when it is one of this teacher’s groups). availability narrows it: available (the default) is the eligible students in no group yet, eligible every eligible one, in_group those already grouped, all everybody. grade_group_id narrows it to one grade group; search matches names only. Use the handles with add_project_group_members.

- **For**: Teachers
- **Needs**: Read access (`mcp:read`)
- **What it changes**: **Read-only.** It only reads. Nothing changes.

## Inputs

- `brand`string

  Which olympiad this is about. Required unless the connection covers exactly one, in which case that one is used.

  one of`coding``gmath``hilingua``neo``stem`
- `project_id`stringrequired

  The project_id from list_my_group_projects.

  pattern`^[a-f0-9]{24}$`min length`24`max length`24`
- `grade_group_id`string

  A grade_group_id from get_group_project_overview, to list only that grade group’s students.

  pattern`^[a-f0-9]{24}$`min length`24`max length`24`
- `availability`string

  available (the default): eligible and in no group yet; eligible: every eligible student; in_group: those already in a group; all: every one of this teacher’s students.

  one of`all``eligible``available``in_group`
- `search`string

  Show only students whose first or last name contains this text. Names only.

  min length`1`max length`64`
- `page`integer

  Which page to read, counting from 1. Read page 1 first; the result says whether there is another.

  min`1`max`200`
- `limit`integer

  How many rows to read, at most 50.

  min`1`max`50`

The server refuses a call that carries any field not listed here, and says which one.

## Answers instead of a result

What the tool says when it cannot do what was asked, and what to do about it.

- **`not_connected`**
- **`insufficient_scope`**
- **`rate_limited`**
- **`writes_disabled`**
- **`temporarily_unavailable`**
- **`upstream_error`**
- **`brand_not_allowed`**
- **`role_required`**
- **`tenant_account_missing`**
- **`not_found`**
