Library of Alexandria

io.github.ltvspotPublished by GitHub account ltvspotv0.1.0Updated Oct 29, 2026

Classic books in 25 languages: search, print editions, the free shelf. Read-only, no sign-in.

VerifiedStreamable HTTPWeb executableKnowledge & MemoryBusiness & CommerceMedia & Design

Overview

AI-generated overview

Read-only MCP access to a publisher's catalogue of classic books in many languages: search titles, read summaries and free samples, and find print editions.

What you can do
  • Search the catalogue by title, author or topic, and browse ready-made shelves such as free books, reading levels or popular titles
  • Get a book's facts, cover, themes, chapter list and chapter summaries, and its print editions with prices
  • Read the first key idea of a 15-minute summary, the free opening of a title, or a chapter from the free shelf, in pages of at most 400 words
  • Find where a quotation comes from, explain an idiom, and get recommendations from a book, topic or mood
  • Prepare a custom print quote and get the page where a person writes a message and pays
  • For signed-in members: read the plan and daily words left, list saved books, search inside open chapters, read passages and get…
When to use it
Useful when an assistant should answer questions about classic literature, recommend titles, quote or locate passages, or point someone to a free reading page or a print edition. It is a catalogue and reading aid, not a general web search or bookstore checkout.
Requirements
A remote Streamable HTTP endpoint; no key, account or sign-up is needed for the catalogue tools. Member tools act for a signed-in member. Text tools apply per-client word budgets (72,000 a day and 48,000 an hour).
Before you install
The tools are read-only and never take payments or sign anyone in; orders and payment happen only on the publisher's site via a link. Text tools return book excerpts and count them against a word budget. Some summaries, samples and chapters are not open yet and answer that they open soon. Keep requests to a few per second and send a User-Agent naming your program.

Installation

In SourceWeft

  1. Open Library of Alexandria in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.ltvspot%2Flibrary-of-alexandria/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "library-of-alexandria": {
      "type": "http",
      "url": "https://mcp.libraryofalexandria.com/mcp"
    }
  }
}

README

Library of Alexandria for developers

The library's catalogue, its free shelf and its print editions, as one small set of read-only tools that any program, assistant or model can call. There is no key and nothing to sign up for. The tools never sign anyone in, take a payment or change anything; every title they return carries the address of its page on libraryofalexandria.com, where a person reads, listens, prints or starts.

Three doors lead to the same eight tools:

DoorAddressFor
MCP (Streamable HTTP)https://mcp.libraryofalexandria.com/mcpClaude, ChatGPT, Gemini, Grok, Copilot, Perplexity, Le Chat, LM Studio, Open WebUI, Cursor, VS Code, Goose and every other MCP client
REST + OpenAPI 3.1POST https://api.libraryofalexandria.com/v1/<tool> and GET .../v1/openapi.jsonscripts, automation tools (n8n, Zapier, Make, Dify, Flowise), Open WebUI tool servers, Copilot Studio
Tool files for model makers`GET .../v1/tools?format=openaiopenai-chat

The eight tools

ToolWhat it does
search_booksfind titles by words from a title, an author or a topic, in any language of the catalogue
get_bookthe facts of one title: author, original title, cover, print editions, its page in each language
get_summarythe first key idea of the 15-minute summary of one title in full, and the headings of the others (part chooses one)
get_samplethe free opening of one title, in pages of at most 400 words (page chooses one)
list_free_shelfthe titles on the free shelf, by language and subject
read_free_chapterone chapter of a free-shelf title, in pages of at most 400 words
get_print_optionsthe print editions of one title (standard and large print; paperback or hardcover) with the list price in US dollars
get_publisher_infowho publishes the library, the languages, the terms and privacy pages

A summary, a sample page or a free-shelf chapter that is not open yet (a title, a language, or all texts before they go online) answers plainly that it "opens here soon"; the tools then fill in without any change on your side. The text tools count the words they hand out for each client (72,000 a day and 48,000 an hour) and show what is left in budget.

Try it in a minute

bash
curl -s https://api.libraryofalexandria.com/v1/search_books \  -H 'content-type: application/json' -d '{"query":"moby dick","limit":3}'

The answer is {"ok": true, "data": {...}, "source": "Library of Alexandria, libraryofalexandria.com"}. A problem comes back as application/problem+json (RFC 9457) with a stable code; see openapi/loa-api.openapi.json.

What is in this folder

PathWhat
openapi/loa-api.openapi.jsonthe OpenAPI 3.1 file (also served live at /v1/openapi.json)
function-tools/*.jsonthe eight tools in the shapes of OpenAI (Responses and Chat Completions), Anthropic, Gemini, Ollama and MCP
cli/loa.mjsthe command line loa (Node 18 or newer, no dependencies)
sdk/typescript/loa.mjs, loa.d.tsthe JavaScript and TypeScript client (no dependencies; browsers, Node, Deno, Bun, Workers)
sdk/python/loa_library.pythe Python client (standard library only)
sdk/python/loa_tools.pyone plain Python function per tool, for Ollama and any framework that builds tool schemas from type hints
mcp-bridge/loa-mcp.mjsa stdio bridge for MCP clients that cannot reach a remote server
quickstarts/how to connect LM Studio, Open WebUI, Ollama, Goose, Claude, ChatGPT, Cursor, VS Code, LangChain and the OpenAI Agents SDK
AGENTS.md, SKILL.mdinstructions for coding agents and for assistants that help a person with the library
tests/the tests of this kit (node --test tests/*.test.mjs and python3 tests/test_python.py)

The generated files (openapi/, function-tools/) are made from the service's own code; a test in the service fails when they are out of date.

Rules of the library, for everyone who quotes it

  • Say what the answer says; use the url of a title as given; never invent a price or an offer.
  • The library is not the ancient library of Alexandria and not the Bibliotheca Alexandrina.
  • Payments and sign-up happen on libraryofalexandria.com only; a tool can hand over a link, never take a payment.
  • Please keep to a few requests a second and send a User-Agent that names your program.

Versions

The API version is a date, sent back in the LOA-Version header (2026-10-25). Changes are announced on the developer page.

Licence

MIT, see LICENSE. The library's tools return catalogue facts, short summaries and free parts as the service allows; the licence covers this code and these documents, not the books.

Registry entry

The description of the server for the official MCP Registry is in server.json.

Source: README.md at commit 53c8b98

Tools

26

search_books

Search books

Search the catalogue of Library of Alexandria Press by words from a title or an author's name, or by a topic word, in any language of the catalogue (Chinese in simplified and traditional characters). Returns up to 8 titles with id, title, subtitle, author, language, whether print editions are available, and the address of the title page on libraryofalexandria.com. Pass the asker's language so titles and authors come back in it.

Parameterslimitqueryrequiredlanguage

get_book

Get book facts

Get the catalogue facts of one title: title, subtitle, author and original title in the chosen language, the cover picture address, the print editions, and the title page address in each language in which libraryofalexandria.com has the page (a language without a page there is not listed, so the list can be shorter than the languages of the catalogue). `url_language` says when `url` is in another language than the one asked.

Parametersidrequiredlanguage

get_summary

Get summary

Read the 15-minute summary of one title: the first key idea in full, with its heading, and the headings of the other key ideas, which open in the library. Choose a key idea with 'part'. A title or a language whose summary is not open yet answers that it opens here soon.

Parametersidrequiredpartlanguage

get_sample

Get sample pages

Read the free opening of one title: the first chapter of its text, in pages of at most 400 words. Pass 'page' for the next page; every answer says how many pages there are and where the text continues. Until the text is open the answer says that it opens here soon.

Parametersidrequiredpagelanguage

list_free_shelf

List the free shelf

List the titles on the free shelf, optionally for one language and one subject, with the address of each reading page.

Parameterslimitsubjectlanguage

read_free_chapter

Read a free chapter

Read one chapter of a title on the free shelf, in pages of at most 400 words. Chapter numbers are those of the reader's contents list; without 'chapter' the first chapter of the text is read. Every answer points to the next page. Until the text is open the answer says that it opens here soon.

Parametersidrequiredpagechapterlanguage

get_print_options

Get print options

Get the print editions of one title (standard and large print; paperback or hardcover) with the normal price in US dollars where it exists, ISBN-13 and page count where known, and the address of each product page.

Parametersidrequiredlanguage

get_publisher_info

Get publisher info

Get the publisher's standard description, the languages of the catalogue and the address of the terms page.

Takes no parameters.

browse_collection

Browse a collection

Browse a ready-made shelf of the library: the free books, the easy, medium or challenging reading levels, the lost books, the titles with a 15-minute summary, or the most popular titles. Returns up to 8 titles at a time, with a cursor for the next page.

Parameterslimitcursorlanguagecollectionrequired

get_book_facts

Get reading facts

Get the reading facts of one title: its reading level, word count, estimated reading time at three paces, page counts of the print editions, audio length, number of chapters, year of first publication, and whether a 15-minute summary is open. Facts that are not known yet are listed as not available yet.

Parametersidrequiredlanguage

get_themes

Get the study guide

Get the study guide of one title: its main themes, symbols, setting and recurring motifs, each in a few sentences, with the address of the full study guide. A title or language whose guide is not open yet says that it opens here soon.

Parametersidrequiredlanguage

get_chapter_summary

Get a chapter summary

Get the summary of one chapter, act or section of a title, or, without a number, the list of its chapters with their titles. Each summary is a few hundred words at most and points to the next one. A title whose chapter summaries are not open yet says that they open here soon.

Parametersidrequiredchapterlanguage

find_quote_source

Find where a quotation comes from

Find where a quotation comes from: give at least six words of it and get the title, chapter and paragraph of the open texts of the library that contain it, with the address to read it there. It answers only for texts that are open and never returns the words of the book.

Parametersquoterequiredlanguage

explain_phrase

Explain a phrase

Explain a saying or idiom: what it means, where it comes from, and which titles of the library use it. A phrase that is not in the collection gets the closest phrases that are.

Parametersphraserequiredlanguage

recommend_classics

Recommend classics

Recommend classics: give the title of a book you liked, or its id, and get the books its readers also enjoyed; or give a topic or a mood and get titles that match it. Filter by reading level or by the free shelf.

Parameterslevellimitqueryrequiredlanguagefree_only

quote_custom_print

Quote a personal print copy

Prepare a printed copy of one title with a personal message page, as a gift or for yourself: get the normal price of the paperback, hardcover or large print edition, the total for the number of copies, and the address of the page on libraryofalexandria.com where the message is written and the order is placed. Shipping and tax are shown at checkout.

Parametersidrequiredgiftcovercountryeditionlanguagequantitydedication

create_custom_print_order

Continue to the order

Continue from a quote: get the address of the page on libraryofalexandria.com where the person writes the message, sees the proof and pays. Nothing is ordered or paid through the assistant, and no card or address is asked for here.

Parametersquote_idrequired

get_order_status

Check an order

Check where a printed order stands. Today the answer points to the e-mail of the order and to the account on libraryofalexandria.com; tracking through an assistant opens here soon.

Parametersemailrequiredlanguageorder_refrequired

get_my_plan

Get my plan

Read the plan and daily words left for the signed-in member. Passages come only from titles open to you, within a daily word limit.

Takes no parameters.

list_my_library

List my library

List the saved books of the signed-in member with their reader addresses. Returns at most 50 books at a time and never returns book text.

Parameterslimitoffsetstatus

get_book_outline

Get book outline

List the chapters and their access for the signed-in member. Only open titles are shown, and no chapter text is returned.

Parametersidrequiredlanguage

search_in_book

Search in book

Find paragraphs by keywords in chapters open to the signed-in member. Returns at most five short snippets, within word and reading limits.

Parametersidrequiredlimitqueryrequiredlanguage

get_passage

Get passage

Read a located paragraph with nearby paragraphs for the signed-in member. Access is checked again and each passage is limited to 400 words.

Parametersafterbeforelocatorrequired

open_in_reader

Open in reader

Get a chapter address for the signed-in member to open in the reader. Only open titles are linked, and the reader checks chapter access.

Parametersidrequiredchapterlanguageparagraph

Version history

1
  1. v0.1.0LatestOct 29, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts