# One study paper

`get_study_material`

- Read-only

Fetches one past paper by the material handle list_study_materials gave, and returns it as an attached file next to the result. A student may only read a paper for their own grade; the platform checks that again on every call, so a handle is not a key. The file can be up to ten megabytes, so ask for one at a time and only when the person actually wants to work through it.

- **For**: Students, teachers and partners
- **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`
- `material`stringrequired

  The opaque material handle from list_study_materials. It is bound to this connection and this olympiad; never compose one and never edit one.

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

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`**
- **`not_allowed_here`**
