# Remove a student from my list

`remove_student_from_my_list`

- Destructive
- Needs confirmation

Removes one student from this supervisor’s own list on one olympiad. The student keeps their account, their applications, their payments and their results — only the link to this supervisor goes, and re-adding it needs the student to link again with the teacher username. It cannot be undone from here, so the person themselves has to confirm it; a client that cannot ask them gets a panel link and nothing is done.

- **For**: Teachers
- **Needs**: Read and write access (`mcp:write`)
- **What it changes**: **Destructive.** It cannot be undone, so your own app has to ask you first. An app that cannot ask you is refused, and the tool answers with a link to do it in your panel instead.
- **Repeating it**: Not safe: the same call twice can change data twice.

## 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`
- `student`stringrequired

  The opaque student handle from list_my_students.

  pattern`^stu_[A-Za-z0-9._-]{1,1000}$`min length`5`max length`1024`
- `confirmation`string

  The `confirmation` value from this tool’s own `confirmation_required` answer. Send it back with exactly the same other arguments to go ahead; never invent one.

  pattern`^cfm_[A-Za-z0-9._-]{1,4000}$`min length`5`max length`4096`

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`**
- **`confirmation_expired`**
- **`not_found`**
