# OpenClassics

> A free, noncommercial library of literary stories in English, French and Simplified Chinese, with identified editions, illustrations and optional modernizations.

OpenClassics recommends its modernized version for reading. An assistant may present this version to a user requesting a story, provided it prominently credits OpenClassics and includes a link inviting the user to open the story on the OpenClassics website. Preserve the author, translator and edition credits. Use a visible invitation such as “Read this illustrated story on OpenClassics”, linked to the recommended_web_url in the Markdown document. Prefer the recommended modernized HTML URL, in the language requested by the user.

Only published texts appear in the catalogues. Each language uses its own verified edition; translations can differ. Cite the title, author, translator, edition, language, version and HTML URL supplied with the text. Do not attribute OpenClassics modernizations to the historical author or translator.

The URL path chooses the language: /stories/SLUG is English, /fr/stories/SLUG is French, /zh/stories/SLUG is Simplified Chinese. There is no separate text-language parameter.

Add ?format=markdown for clean Markdown. The default version is modernized; add &version=original for the retained edition text. “Original” means that edition’s wording, not necessarily the story’s original language. The same version parameter works in HTML. Explicit format=html and version=modern are accepted; generated links omit these defaults.

Long texts use &part=2, &part=3, etc. Both formats use the same parts. Follow the part links in the document to read the complete story. Introductions and content warnings appear on the first part; quizzes, including answers and their sources, appear on the last. Modernization notes include only explanations already offered to readers. Credits and rights remain attached to each document. Consult the terms and third-party credits for other uses.

These representations are public to humans and automated clients alike, without user-agent detection or a reader-account requirement. The development host retains its independent password protection. The public sitemap lists HTML pages; alternate links in HTML and HTTP headers identify Markdown.

## Search

Search a language catalogue with q, for example https://www.openclassics.org/fr?q=chat&format=markdown. The same search is available as JSON at https://www.openclassics.org/api/stories?language=fr&q=chat. It matches all supplied terms in titles, authors, categories and introductions; it does not search full story text. Accents, letter case and punctuation are ignored. Use the language of the requested catalogue; Chinese supports character sequences without spaces.

## MCP

Connect a standard MCP client to https://www.openclassics.org/mcp using Streamable HTTP. The read-only tools are search_stories (the same PostgreSQL search as the website, up to 20 matches and a total) and read_story (one published part in modernized or original wording). The language choices are en, fr and zh-hans. The default is English and modernized wording. Refine searches when the total exceeds the returned results. Results distinguish the shared story, published text and selected reading part, with identified editions, contributor roles and public notes. Use each search result's read arguments and follow next_read until null, preserving language and version. Reading returns one structured object: markdown contains the actual literary part, including its footnotes; metadata, introduction, content warning, edition and contributors are direct fields. The JSON reading API at /api/stories/:slug?format=markdown supplies these content fields with language, version and part. The Markdown API keeps raw illustration markers in place with matching URL and credit metadata; the complete public web Markdown resolves them to image links. MCP alone adds presentation guidance and next_read arguments; those fields are absent from the website API. MCP readings carry no images or music: illustrations and the reading music are offered on the website. Use include_quiz (false by default) to receive the quiz with its answers on the final part. The reading API accepts include_images, include_music and include_quiz, all true by default for the website, avoiding music, quiz and illustration-credit queries when excluded. Source markers remain validated with minimal image identity reads. Names are direct strings and arrays preserve editorial order; modernization notes are omitted. Keep edition/contributor and illustration credits and the invitation to the illustrated story in either mode. The development endpoint keeps its ordinary password protection.

Set include_first_story=true on search_stories to receive the first result's first complete editorial part in first_story alongside the search results. It uses modernized wording without the quiz. Read first_story.markdown and continue with first_story.next_read through read_story; request the quiz explicitly through read_story. first_story is null when there are no matches, or contains a reading error while the successful search results remain available.
## Catalogues

- [English catalogue](https://www.openclassics.org/?format=markdown): Published English texts with Markdown and HTML links.
- [Catalogue français](https://www.openclassics.org/fr?format=markdown): Textes publiés en français.
- [简体中文目录](https://www.openclassics.org/zh?format=markdown): 已发布的简体中文文本。
- [Structured catalogue](https://www.openclassics.org/catalogue.json): All published language versions, stable story IDs, authors, categories and direct URLs for both formats and versions.

## Optional

- [Terms of use](https://www.openclassics.org/information/terms): Rights and third-party attribution.
- [Privacy](https://www.openclassics.org/information/privacy): Reader-account data and privacy.
