# The graded path

The graded path: short Latin and Greek passages chosen for learners, from level 1 (Genesis, Aesop) to level 5 (Tacitus, Thucydides, Sappho), each analysed word by word ahead of time.

Canonical: https://interlinea.aeterna-institute.org/docs/mcp/list_passages

`tools/call list_passages`

Read one with get_text and get_analysis.

## Input

| Field | Type | Description |
|---|---|---|
| `lang` | string | Optional. la for Latin, grc for Ancient Greek. One of `la`, `grc`. |
| `level` | integer | Optional. Only this level, 1 (easiest) to 5. From 1 to 5. |

## Output

`structuredContent` has these fields, and `content` repeats the same JSON as one text item.

| Field | Type | Description |
|---|---|---|
| `note` | string |  |
| `passages` | array of object | The graded path, easiest first within each language. |
| `passages[].slug` | string |  |
| `passages[].lang` | string | Language code: la (Latin) or grc (Ancient Greek). One of `la`, `grc`. |
| `passages[].level` | integer | 1 (easiest) to 5. |
| `passages[].title` | string |  |
| `passages[].citation` | string |  |
| `passages[].verse` | boolean |  |
| `passages[].words` | integer |  |
| `passages[].blurb` | string |  |
| `passages[].urn` | string or null | CTS URN, e.g. urn:cts:latinLit:phi0690.phi003.perseus-lat2:1.1-1.11. Null when the edition has none (The Latin Library's own numbering). |
| `passages[].url` | string | Absolute URL. |
| `passages[].api` | string | Absolute URL. |

The same reads as [`GET /api/v1/passages`](https://interlinea.aeterna-institute.org/docs/api/passages.md), with the same shape.

## Example call

Arguments:

```json
{
  "lang": "la",
  "level": 1
}
```

curl:

```sh
curl https://interlinea.aeterna-institute.org/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_passages","arguments":{"lang":"la","level":1}}}'
```

TypeScript:

```js
import { Client, StreamableHTTPClientTransport } from "@modelcontextprotocol/client"

const client = new Client({ name: "my-app", version: "1.0.0" })
await client.connect(new StreamableHTTPClientTransport(new URL("https://interlinea.aeterna-institute.org/mcp")))

const result = await client.callTool({ name: "list_passages", arguments: { "lang": "la", "level": 1 } })
console.log(result.structuredContent)
```

## Example output

structuredContent:

```json
{
  "note": "The graded path: short passages chosen and ordered for learners, each analysed ahead of time. Read them in order within a language.",
  "passages": [
    {
      "slug": "genesis-creation",
      "lang": "la",
      "level": 1,
      "title": "Let There Be Light",
      "citation": "Vulgate (Jerome), Genesis 1.1–5",
      "verse": false,
      "words": 58,
      "blurb": "Creation’s first day in plain, rhythmic Church Latin.",
      "urn": null,
      "url": "https://interlinea.aeterna-institute.org/read/latin/genesis-creation",
      "api": "https://interlinea.aeterna-institute.org/api/v1/passages/latin/genesis-creation"
    },
    {
      "slug": "ritchie-perseus-ark",
      "lang": "la",
      "level": 1,
      "title": "The Ark on the Sea",
      "citation": "Francis Ritchie, Fabulae Faciles, Perseus 1",
      "verse": false,
      "words": 62,
      "blurb": "A baby hero, a fearful grandfather, a chest cast adrift.",
      "urn": null,
      "url": "https://interlinea.aeterna-institute.org/read/latin/ritchie-perseus-ark",
      "api": "https://interlinea.aeterna-institute.org/api/v1/passages/latin/ritchie-perseus-ark"
    }
  ]
}
```

---

Previous: [Context notes](https://interlinea.aeterna-institute.org/docs/mcp/get_context.md)
Next: [Resources](https://interlinea.aeterna-institute.org/docs/mcp/resources.md)
