MCP server
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 template | Holds |
|---|---|
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 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":{}}'{
"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 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"}}'{
"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.