Skip to content
MCP serverResourcesDocs menu

Resources

Graded passages, works and sections as MCP resources, listed with resources/list and read with resources/read.

Besides its tools, the server offers the library as resources. A client can list the graded passages and the best-known works, and read any work or section by its URI. A resource holds the same JSON as the matching tool answer.

Templates

URI templateHolds
interlinea://read/{lang}/{slug}Graded passage: A graded passage's text, citation and credit as JSON.
interlinea://library/{lang}/{author}/{work}Work: A work's editions, credit and contents (the first 200 sections) as JSON.
interlinea://library/{lang}/{author}/{work}/{ref}Section: A section's text, citation and credit as JSON.

{lang} is latin or greek, and the other parts are the slugs in Interlinea's URLs, so /library/latin/virgil/aeneid/1.46 is interlinea://library/latin/virgil/aeneid/1.46.

Listing

resources/list returns the graded passages and the works on the library shelf:

curl
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":"resources/list","params":{}}'
Response
{
  "result": {
    "resources": [
      {
        "title": "Let There Be Light (Vulgate (Jerome), Genesis 1.1–5)",
        "description": "Graded passage, level 1. Creation’s first day in plain, rhythmic Church Latin.",
        "mimeType": "application/json",
        "uri": "interlinea://read/latin/genesis-creation",
        "name": "genesis-creation"
      },
      {
        "title": "The Ark on the Sea (Francis Ritchie, Fabulae Faciles, Perseus 1)",
        "description": "Graded passage, level 1. A baby hero, a fearful grandfather, a chest cast adrift.",
        "mimeType": "application/json",
        "uri": "interlinea://read/latin/ritchie-perseus-ark",
        "name": "ritchie-perseus-ark"
      },
      {
        "title": "The Wolf and the Lamb (Phaedrus, Fabulae 1.1)",
        "description": "Graded passage, level 2. Aesop’s grimmest fable. The strong always find an excuse.",
        "mimeType": "application/json",
        "uri": "interlinea://read/latin/phaedrus-wolf-lamb",
        "name": "phaedrus-wolf-lamb"
      },
      // 56 more
    ]
  },
  "jsonrpc": "2.0",
  "id": 1
}

Reading

curl
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":"resources/read","params":{"uri":"interlinea://read/latin/virgil-aeneid"}}'
Response
{
  "result": {
    "contents": [
      {
        "uri": "interlinea://read/latin/virgil-aeneid",
        "mimeType": "application/json",
        "text": "{\"kind\":\"passage\",\"lang\":\"la\",\"language\":\"Latin\",\"title\":\"Arms and the Man\",\"citation\":\"Virgil, Aeneid 1.1–11\",\"ref\":null,\"level\":4,\"urn\":\"u…"
      }
    ]
  },
  "jsonrpc": "2.0",
  "id": 1
}

The text of each item is JSON: here, the same object get_text returns.