# Context notes

Stored notes on where a text sits in its work: what happened before, what happens here (never a translation), the people, gods and places named, what comes next, and a few lines about the work.

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

`tools/call get_context`

Hand-written for graded passages. For library sections they exist only once a reader has opened Context in Interlinea; otherwise section is null. Never generated here.

## Input

| Field | Type | Description |
|---|---|---|
| `ref` | string | What to read: an Interlinea URL (https://interlinea.aeterna-institute.org/library/latin/virgil/aeneid/1.46, or /read/latin/virgil-aeneid for a graded passage), a CTS URN (urn:cts:latinLit:phi0690.phi003.perseus-lat2:1.46) or a citation ("Virgil, Aeneid 1.46", "Iliad 1.1"). Up to 500 characters. |

## Output

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

| Field | Type | Description |
|---|---|---|
| `kind` | string | One of `section`, `passage`. |
| `lang` | string | Language code: la (Latin) or grc (Ancient Greek). One of `la`, `grc`. |
| `language` | string |  |
| `citation` | string |  |
| `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). |
| `url` | string | Absolute URL. |
| `api` | string | Absolute URL. |
| `prev` | object or null |  |
| `prev.citation` | string | "Aeneid 1.12-33" |
| `prev.label` | string | "Book 1, lines 12-33" |
| `prev.url` | string | Absolute URL. |
| `prev.api` | string | The same resource as JSON. |
| `next` | object or null |  |
| `next.citation` | string | "Aeneid 1.12-33" |
| `next.label` | string | "Book 1, lines 12-33" |
| `next.url` | string | Absolute URL. |
| `next.api` | string | The same resource as JSON. |
| `credit` | object |  |
| `credit.text` | string | Credit line for the edition: author, work, editor, source, licence and changes. Quote it when you reuse the text. |
| `credit.license` | string | CC BY-SA 4.0, CC BY 3.0, Used with permission (The Latin Library), or a public-domain note. |
| `credit.licenseUrl` | string or null |  |
| `credit.source` | string | Where the edition comes from. |
| `credit.quality` | string | ocr: an unproofread scan. One of `proofread`, `ocr`. |
| `machineWritten` | boolean | False for the graded passages' hand-written notes. |
| `section` | object or null | Null until someone has opened Context for this part in the reader. |
| `section.soFar` | string or null | What has happened in the work before this part. |
| `section.here` | string or null | What happens in this part, never a translation. |
| `section.people` | array of object | People, gods and places named here. |
| `section.people[].name` | string |  |
| `section.people[].note` | string |  |
| `section.people[].forms` | array of string | The words in the text that name them. |
| `section.people[].wikipedia` | string or null | English Wikipedia article title, when certain. |
| `section.next` | string or null | What comes next. |
| `work` | object or null | A few lines about the work. |
| `work.intro` | string or null |  |
| `work.note` | string or null |  |

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

## Example call

Arguments:

```json
{
  "ref": "/read/latin/virgil-aeneid"
}
```

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":"get_context","arguments":{"ref":"/read/latin/virgil-aeneid"}}}'
```

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: "get_context", arguments: { "ref": "/read/latin/virgil-aeneid" } })
console.log(result.structuredContent)
```

## Example output

structuredContent:

```json
{
  "kind": "passage",
  "lang": "la",
  "language": "Latin",
  "citation": "Virgil, Aeneid 1.1–11",
  "urn": "urn:cts:latinLit:phi0690.phi003.perseus-lat2:1.1-1.11",
  "url": "https://interlinea.aeterna-institute.org/read/latin/virgil-aeneid",
  "api": "https://interlinea.aeterna-institute.org/api/v1/passages/latin/virgil-aeneid",
  "prev": {
    "citation": "Metamorphoses 1.1–9",
    "label": "Bodies Changed",
    "url": "https://interlinea.aeterna-institute.org/read/latin/ovid-metamorphoses",
    "api": "https://interlinea.aeterna-institute.org/api/v1/passages/latin/ovid-metamorphoses"
  },
  "next": {
    "citation": "Odes 1.11",
    "label": "Seize the Day",
    "url": "https://interlinea.aeterna-institute.org/read/latin/horace-carpe-diem",
    "api": "https://interlinea.aeterna-institute.org/api/v1/passages/latin/horace-carpe-diem"
  },
  "credit": {
    "text": "Virgil, Aeneid 1.1–11. CC BY-SA 4.0. Perseus Digital Library (Tufts University), PerseusDL/canonical-latinLit; edition: J. B. Greenough, Gin…",
    "license": "CC BY-SA 4.0",
    "licenseUrl": "https://creativecommons.org/licenses/by-sa/4.0/",
    "source": "https://scaife.perseus.org/reader/urn:cts:latinLit:phi0690.phi003.perseus-lat2:1.1-1.11/",
    "quality": "proofread"
  },
  "machineWritten": false,
  "section": {
    "soFar": null,
    "here": "The opening lines announce the subject: a man driven by fate from Troy to Italy, battered on land and sea by Juno’s anger, who must fight a…",
    "people": [
      {
        "name": "Troy",
        "note": "The city in Asia Minor destroyed by the Greeks, where Aeneas comes from.",
        "forms": [
          "Troiae"
        ],
        "wikipedia": "Troy"
      },
      {
        "name": "Italy",
        "note": "Where fate is sending Aeneas.",
        "forms": [
          "Italiam"
        ],
        "wikipedia": null
      },
      {
        "name": "Lavinium",
        "note": "The town Aeneas will found in Latium, named after his future wife Lavinia.",
        "forms": [
          "Lavinia"
        ],
        "wikipedia": "Lavinium"
      },
      // 5 more
    ],
    "next": "Virgil names Carthage, the city Juno loves, and the old grudges behind her anger. Then the story opens at sea, with the Trojans sailing from…"
  },
  "work": {
    "intro": "Virgil’s epic in twelve books follows Aeneas, a Trojan prince, from the fall of Troy to Italy, where his descendants will found Rome. The fi…",
    "note": "Written in Augustus’ Rome in dactylic hexameter, the metre of Homer, it answers the Iliad and the Odyssey in Latin. It became the central po…"
  }
}
```

---

Previous: [Look up a word](https://interlinea.aeterna-institute.org/docs/mcp/lookup_word.md)
Next: [The graded path](https://interlinea.aeterna-institute.org/docs/mcp/list_passages.md)
