Library of Alexandria MCP
A read-only MCP server providing access to the Library of Alexandria Press catalogue, including titles, authors, covers, print editions, summaries, samples, and study guides for classic books in 25 languages. It supports search, browsing free shelves, and obtaining print quotes without requiring user authentication or holding book text.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://mcp.libraryofalexandria.com/mcpWhat you can do with it
- Search for classic books by title, author, or topic
- Retrieve book facts, summaries, and sample pages
- Browse the free shelf or specific collections
- Get print edition options and quotes
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- library-of-alexandria-press 0.2.0
- MCP protocol
- 2025-06-18
- Tools
- 26 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
26 advertised
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.
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 8,
"minimum": 1,
"description": "Number of titles to return, 1 to 8. Default 8."
},
"query": {
"type": "string",
"maxLength": 200,
"description": "Words from a title or an author's name, or a topic word, in any language. Example: 'Moby Dick', 'Dostoevsky', 'war strategy'."
},
"language": {
"enum": [
"en",
"es",
"de",
"nl",
"fr",
"it",
"pt-BR",
"ru",
"zh-CN",
"zh-TW",
"ja",
"ko",
"pl",
"ar",
"hi",
"id",
"ca"
],
"type": "string",
"description": "Language of the person asking, as a code: en English, es Spanish, de German, nl Dutch, fr French, it Italian, pt-BR Portuguese, ru Russian, zh-CN Chinese, zh-TW Chinese in traditional characters, ja Japanese, ko Korean, pl Polish, ar Arabic, hi Hindi, id Indonesian, ca Catalan. Titles, subtitles, authors and page addresses come back in this language. Default: the language of the query, else English."
}
},
"additionalProperties": false
}{
"title": "Search books",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Title id as found in a search result, for example top3500-00013 or forbidden-00004. A plain number is read as a number of the main list."
},
"language": {
"enum": [
"en",
"es",
"de",
"nl",
"fr",
"it",
"pt-BR",
"ru",
"zh-CN",
"zh-TW",
"ja",
"ko",
"pl",
"ar",
"hi",
"id",
"ca"
],
"type": "string",
"description": "Language of the person asking, as a code: en English, es Spanish, de German, nl Dutch, fr French, it Italian, pt-BR Portuguese, ru Russian, zh-CN Chinese, zh-TW Chinese in traditional characters, ja Japanese, ko Korean, pl Polish, ar Arabic, hi Hindi, id Indonesian, ca Catalan. Titles, subtitles, authors and page addresses come back in this language. Default: the language of the query, else English."
}
},
"additionalProperties": false
}{
"title": "Get book facts",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Title id as found in a search result, for example top3500-00013 or forbidden-00004. A plain number is read as a number of the main list."
},
"part": {
"type": "integer",
"minimum": 1,
"description": "Number of the key idea, starting at 1. Default 1. Only the first key idea is given in full."
},
"language": {
"enum": [
"en",
"es",
"de",
"nl",
"fr",
"it",
"pt-BR",
"ru",
"zh-CN",
"zh-TW",
"ja",
"ko",
"pl",
"ar",
"hi",
"id",
"ca"
],
"type": "string",
"description": "Language of the person asking, as a code: en English, es Spanish, de German, nl Dutch, fr French, it Italian, pt-BR Portuguese, ru Russian, zh-CN Chinese, zh-TW Chinese in traditional characters, ja Japanese, ko Korean, pl Polish, ar Arabic, hi Hindi, id Indonesian, ca Catalan. Titles, subtitles, authors and page addresses come back in this language. Default: the language of the query, else English."
}
},
"additionalProperties": false
}{
"title": "Get summary",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Title id as found in a search result, for example top3500-00013 or forbidden-00004. A plain number is read as a number of the main list."
},
"page": {
"type": "integer",
"minimum": 1,
"description": "Page of the sample, starting at 1. Default 1. Each page has at most 400 words."
},
"language": {
"enum": [
"en",
"es",
"de",
"nl",
"fr",
"it",
"pt-BR",
"ru",
"zh-CN",
"zh-TW",
"ja",
"ko",
"pl",
"ar",
"hi",
"id",
"ca"
],
"type": "string",
"description": "Language of the person asking, as a code: en English, es Spanish, de German, nl Dutch, fr French, it Italian, pt-BR Portuguese, ru Russian, zh-CN Chinese, zh-TW Chinese in traditional characters, ja Japanese, ko Korean, pl Polish, ar Arabic, hi Hindi, id Indonesian, ca Catalan. Titles, subtitles, authors and page addresses come back in this language. Default: the language of the query, else English."
}
},
"additionalProperties": false
}{
"title": "Get sample pages",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"maximum": 8,
"minimum": 1,
"description": "Number of titles to return, 1 to 8. Default 8."
},
"subject": {
"type": "string",
"maxLength": 100,
"description": "A subject word, for example 'philosophy' or 'poetry'."
},
"language": {
"enum": [
"en",
"es",
"de",
"nl",
"fr",
"it",
"pt-BR",
"ru",
"zh-CN",
"zh-TW",
"ja",
"ko",
"pl",
"ar",
"hi",
"id",
"ca"
],
"type": "string",
"description": "Language of the person asking, as a code: en English, es Spanish, de German, nl Dutch, fr French, it Italian, pt-BR Portuguese, ru Russian, zh-CN Chinese, zh-TW Chinese in traditional characters, ja Japanese, ko Korean, pl Polish, ar Arabic, hi Hindi, id Indonesian, ca Catalan. Titles, subtitles, authors and page addresses come back in this language. Default: the language of the query, else English."
}
},
"additionalProperties": false
}{
"title": "List the free shelf",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Title id as found in a search result, for example top3500-00013 or forbidden-00004. A plain number is read as a number of the main list."
},
"page": {
"type": "integer",
"minimum": 1,
"description": "Page of the chapter, starting at 1. Default 1. Each page has at most 400 words."
},
"chapter": {
"type": "integer",
"minimum": 1,
"description": "Chapter number as in the reader's contents list, starting at 1. Default: the first chapter of the text."
},
"language": {
"enum": [
"en",
"es",
"de",
"nl",
"fr",
"it",
"pt-BR",
"ru",
"zh-CN",
"zh-TW",
"ja",
"ko",
"pl",
"ar",
"hi",
"id",
"ca"
],
"type": "string",
"description": "Language of the person asking, as a code: en English, es Spanish, de German, nl Dutch, fr French, it Italian, pt-BR Portuguese, ru Russian, zh-CN Chinese, zh-TW Chinese in traditional characters, ja Japanese, ko Korean, pl Polish, ar Arabic, hi Hindi, id Indonesian, ca Catalan. Titles, subtitles, authors and page addresses come back in this language. Default: the language of the query, else English."
}
},
"additionalProperties": false
}{
"title": "Read a free chapter",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Title id as found in a search result, for example top3500-00013 or forbidden-00004. A plain number is read as a number of the main list."
},
"language": {
"enum": [
"en",
"es",
"de",
"nl",
"fr",
"it",
"pt-BR",
"ru",
"zh-CN",
"zh-TW",
"ja",
"ko",
"pl",
"ar",
"hi",
"id",
"ca"
],
"type": "string",
"description": "Language of the person asking, as a code: en English, es Spanish, de German, nl Dutch, fr French, it Italian, pt-BR Portuguese, ru Russian, zh-CN Chinese, zh-TW Chinese in traditional characters, ja Japanese, ko Korean, pl Polish, ar Arabic, hi Hindi, id Indonesian, ca Catalan. Titles, subtitles, authors and page addresses come back in this language. Default: the language of the query, else English."
}
},
"additionalProperties": false
}{
"title": "Get print options",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_publisher_info — Get publisher info
Get the publisher's standard description, the languages of the catalogue and the address of the terms page.
{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"title": "Get publisher info",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"required": [
"collection"
],
"properties": {
"limit": {
"type": "integer",
"default": 8,
"maximum": 8,
"minimum": 1,
"description": "Number of titles to return, 1 to 8. Default 8."
},
"cursor": {
"type": "integer",
"minimum": 0,
"description": "Where the page starts: the next_cursor of the previous answer. Default 0."
},
"language": {
"enum": [
"en",
"es",
"de",
"nl",
"fr",
"it",
"pt-BR",
"ru",
"zh-CN",
"zh-TW",
"ja",
"ko",
"pl",
"ar",
"hi",
"id",
"ca"
],
"type": "string",
"description": "Language of the person asking, as a code: en English, es Spanish, de German, nl Dutch, fr French, it Italian, pt-BR Portuguese, ru Russian, zh-CN Chinese, zh-TW Chinese in traditional characters, ja Japanese, ko Korean, pl Polish, ar Arabic, hi Hindi, id Indonesian, ca Catalan. Titles, subtitles, authors and page addresses come back in this language. Default: the language of the query, else English."
},
"collection": {
"enum": [
"free-books",
"easy",
"medium",
"challenging",
"lost-books",
"with-summary",
"popular"
],
"type": "string",
"description": "Which shelf to browse."
}
},
"additionalProperties": false
}{
"title": "Browse a collection",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Title id as found in a search result, for example top3500-00013 or forbidden-00004. A plain number is read as a number of the main list."
},
"language": {
"enum": [
"en",
"es",
"de",
"nl",
"fr",
"it",
"pt-BR",
"ru",
"zh-CN",
"zh-TW",
"ja",
"ko",
"pl",
"ar",
"hi",
"id",
"ca"
],
"type": "string",
"description": "Language of the person asking, as a code: en English, es Spanish, de German, nl Dutch, fr French, it Italian, pt-BR Portuguese, ru Russian, zh-CN Chinese, zh-TW Chinese in traditional characters, ja Japanese, ko Korean, pl Polish, ar Arabic, hi Hindi, id Indonesian, ca Catalan. Titles, subtitles, authors and page addresses come back in this language. Default: the language of the query, else English."
}
},
"additionalProperties": false
}{
"title": "Get reading facts",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Title id as found in a search result, for example top3500-00013 or forbidden-00004. A plain number is read as a number of the main list."
},
"language": {
"enum": [
"en",
"es",
"de",
"nl",
"fr",
"it",
"pt-BR",
"ru",
"zh-CN",
"zh-TW",
"ja",
"ko",
"pl",
"ar",
"hi",
"id",
"ca"
],
"type": "string",
"description": "Language of the person asking, as a code: en English, es Spanish, de German, nl Dutch, fr French, it Italian, pt-BR Portuguese, ru Russian, zh-CN Chinese, zh-TW Chinese in traditional characters, ja Japanese, ko Korean, pl Polish, ar Arabic, hi Hindi, id Indonesian, ca Catalan. Titles, subtitles, authors and page addresses come back in this language. Default: the language of the query, else English."
}
},
"additionalProperties": false
}{
"title": "Get the study guide",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Title id as found in a search result, for example top3500-00013 or forbidden-00004. A plain number is read as a number of the main list."
},
"chapter": {
"type": "integer",
"minimum": 1,
"description": "Number of the chapter, act or section, starting at 1. Leave it out to get the list of chapters."
},
"language": {
"enum": [
"en",
"es",
"de",
"nl",
"fr",
"it",
"pt-BR",
"ru",
"zh-CN",
"zh-TW",
"ja",
"ko",
"pl",
"ar",
"hi",
"id",
"ca"
],
"type": "string",
"description": "Language of the person asking, as a code: en English, es Spanish, de German, nl Dutch, fr French, it Italian, pt-BR Portuguese, ru Russian, zh-CN Chinese, zh-TW Chinese in traditional characters, ja Japanese, ko Korean, pl Polish, ar Arabic, hi Hindi, id Indonesian, ca Catalan. Titles, subtitles, authors and page addresses come back in this language. Default: the language of the query, else English."
}
},
"additionalProperties": false
}{
"title": "Get a chapter summary",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"required": [
"quote"
],
"properties": {
"quote": {
"type": "string",
"maxLength": 600,
"description": "At least six words of the quotation, as exact as you know them. Capitals, punctuation and accents do not matter."
},
"language": {
"enum": [
"en",
"es",
"de",
"nl",
"fr",
"it",
"pt-BR",
"ru",
"zh-CN",
"zh-TW",
"ja",
"ko",
"pl",
"ar",
"hi",
"id",
"ca"
],
"type": "string",
"description": "Language of the person asking, as a code: en English, es Spanish, de German, nl Dutch, fr French, it Italian, pt-BR Portuguese, ru Russian, zh-CN Chinese, zh-TW Chinese in traditional characters, ja Japanese, ko Korean, pl Polish, ar Arabic, hi Hindi, id Indonesian, ca Catalan. Titles, subtitles, authors and page addresses come back in this language. Default: the language of the query, else English."
}
},
"additionalProperties": false
}{
"title": "Find where a quotation comes from",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"required": [
"phrase"
],
"properties": {
"phrase": {
"type": "string",
"maxLength": 200,
"description": "The saying or idiom, for example 'break the ice'."
},
"language": {
"enum": [
"en",
"es",
"de",
"nl",
"fr",
"it",
"pt-BR",
"ru",
"zh-CN",
"zh-TW",
"ja",
"ko",
"pl",
"ar",
"hi",
"id",
"ca"
],
"type": "string",
"description": "Language of the person asking, as a code: en English, es Spanish, de German, nl Dutch, fr French, it Italian, pt-BR Portuguese, ru Russian, zh-CN Chinese, zh-TW Chinese in traditional characters, ja Japanese, ko Korean, pl Polish, ar Arabic, hi Hindi, id Indonesian, ca Catalan. Titles, subtitles, authors and page addresses come back in this language. Default: the language of the query, else English."
}
},
"additionalProperties": false
}{
"title": "Explain a phrase",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"required": [
"query"
],
"properties": {
"level": {
"enum": [
"easy",
"medium",
"challenging"
],
"type": "string",
"description": "Only titles of this reading level."
},
"limit": {
"type": "integer",
"default": 5,
"maximum": 8,
"minimum": 1,
"description": "Number of titles to return, 1 to 8. Default 5."
},
"query": {
"type": "string",
"maxLength": 200,
"description": "A title or title id (for readers-also-enjoyed), or a topic or mood in a few words, for example 'sea adventure'."
},
"language": {
"enum": [
"en",
"es",
"de",
"nl",
"fr",
"it",
"pt-BR",
"ru",
"zh-CN",
"zh-TW",
"ja",
"ko",
"pl",
"ar",
"hi",
"id",
"ca"
],
"type": "string",
"description": "Language of the person asking, as a code: en English, es Spanish, de German, nl Dutch, fr French, it Italian, pt-BR Portuguese, ru Russian, zh-CN Chinese, zh-TW Chinese in traditional characters, ja Japanese, ko Korean, pl Polish, ar Arabic, hi Hindi, id Indonesian, ca Catalan. Titles, subtitles, authors and page addresses come back in this language. Default: the language of the query, else English."
},
"free_only": {
"type": "boolean",
"description": "Only titles on the free shelf of the language."
}
},
"additionalProperties": false
}{
"title": "Recommend classics",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Title id as found in a search result, for example top3500-00013 or forbidden-00004. A plain number is read as a number of the main list."
},
"gift": {
"type": "object",
"properties": {
"note": {
"type": "string",
"maxLength": 300
},
"is_gift": {
"type": "boolean"
},
"recipient_name": {
"type": "string",
"maxLength": 80
}
},
"description": "Whether the copy is a gift. The names are not kept.",
"additionalProperties": false
},
"cover": {
"type": "object",
"properties": {
"mode": {
"enum": [
"house",
"upload"
],
"type": "string",
"description": "house is the cover of the edition; upload is your own picture."
}
},
"additionalProperties": false
},
"country": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "Two-letter country code of the delivery address, for example NL."
},
"edition": {
"enum": [
"paperback",
"hardcover",
"large_print"
],
"type": "string",
"description": "Which edition. Default paperback."
},
"language": {
"enum": [
"en",
"es",
"de",
"nl",
"fr",
"it",
"pt-BR",
"ru",
"zh-CN",
"zh-TW",
"ja",
"ko",
"pl",
"ar",
"hi",
"id",
"ca"
],
"type": "string",
"description": "Language of the person asking, as a code: en English, es Spanish, de German, nl Dutch, fr French, it Italian, pt-BR Portuguese, ru Russian, zh-CN Chinese, zh-TW Chinese in traditional characters, ja Japanese, ko Korean, pl Polish, ar Arabic, hi Hindi, id Indonesian, ca Catalan. Titles, subtitles, authors and page addresses come back in this language. Default: the language of the query, else English."
},
"quantity": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Number of copies, 1 to 50. Default 1."
},
"dedication": {
"type": "object",
"properties": {
"text": {
"type": "string",
"maxLength": 2000,
"description": "The personal message printed on its own page."
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}{
"title": "Quote a personal print copy",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_cover_upload_link — Get the cover upload link
Get the page where a person can add their own cover picture to a printed copy. Uploading a cover opens here soon; until then the answer points to the page where the personal message is written.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Title id as found in a search result, for example top3500-00013 or forbidden-00004. A plain number is read as a number of the main list."
},
"language": {
"enum": [
"en",
"es",
"de",
"nl",
"fr",
"it",
"pt-BR",
"ru",
"zh-CN",
"zh-TW",
"ja",
"ko",
"pl",
"ar",
"hi",
"id",
"ca"
],
"type": "string",
"description": "Language of the person asking, as a code: en English, es Spanish, de German, nl Dutch, fr French, it Italian, pt-BR Portuguese, ru Russian, zh-CN Chinese, zh-TW Chinese in traditional characters, ja Japanese, ko Korean, pl Polish, ar Arabic, hi Hindi, id Indonesian, ca Catalan. Titles, subtitles, authors and page addresses come back in this language. Default: the language of the query, else English."
}
},
"additionalProperties": false
}{
"title": "Get the cover upload link",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"required": [
"quote_id"
],
"properties": {
"quote_id": {
"type": "string",
"maxLength": 600,
"description": "The quote_id of a quote. A quote is valid for 24 hours."
}
},
"additionalProperties": false
}{
"title": "Continue to the order",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"required": [
"order_ref",
"email"
],
"properties": {
"email": {
"type": "string",
"maxLength": 200,
"description": "The e-mail address of the order."
},
"language": {
"enum": [
"en",
"es",
"de",
"nl",
"fr",
"it",
"pt-BR",
"ru",
"zh-CN",
"zh-TW",
"ja",
"ko",
"pl",
"ar",
"hi",
"id",
"ca"
],
"type": "string",
"description": "Language of the person asking, as a code: en English, es Spanish, de German, nl Dutch, fr French, it Italian, pt-BR Portuguese, ru Russian, zh-CN Chinese, zh-TW Chinese in traditional characters, ja Japanese, ko Korean, pl Polish, ar Arabic, hi Hindi, id Indonesian, ca Catalan. Titles, subtitles, authors and page addresses come back in this language. Default: the language of the query, else English."
},
"order_ref": {
"type": "string",
"maxLength": 60,
"description": "The order number from the confirmation e-mail, for example #1234."
}
},
"additionalProperties": false
}{
"title": "Check an order",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"title": "Get my plan",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Number of books, default 20."
},
"offset": {
"type": "integer",
"maximum": 100000,
"minimum": 0,
"description": "Number of saved items to skip, default 0."
},
"status": {
"enum": [
"want",
"reading",
"finished",
"paused",
"dropped"
],
"type": "string",
"description": "Filter by saved reading status."
}
},
"additionalProperties": false
}{
"title": "List my library",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Title id as found in a search result, for example top3500-00013 or forbidden-00004. A plain number is read as a number of the main list."
},
"language": {
"enum": [
"en",
"es",
"de",
"nl",
"fr",
"it",
"pt-BR",
"ru",
"zh-CN",
"zh-TW",
"ja",
"ko",
"pl",
"ar",
"hi",
"id",
"ca"
],
"type": "string",
"description": "Language of the person asking, as a code: en English, es Spanish, de German, nl Dutch, fr French, it Italian, pt-BR Portuguese, ru Russian, zh-CN Chinese, zh-TW Chinese in traditional characters, ja Japanese, ko Korean, pl Polish, ar Arabic, hi Hindi, id Indonesian, ca Catalan. Titles, subtitles, authors and page addresses come back in this language. Default: the language of the query, else English."
}
},
"additionalProperties": false
}{
"title": "Get book outline",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"required": [
"id",
"query"
],
"properties": {
"id": {
"type": "string",
"description": "Title id as found in a search result, for example top3500-00013 or forbidden-00004. A plain number is read as a number of the main list."
},
"limit": {
"type": "integer",
"maximum": 5,
"minimum": 1,
"description": "Number of results, default 5."
},
"query": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "Two to 80 characters of keywords to find together in a paragraph."
},
"language": {
"enum": [
"en",
"es",
"de",
"nl",
"fr",
"it",
"pt-BR",
"ru",
"zh-CN",
"zh-TW",
"ja",
"ko",
"pl",
"ar",
"hi",
"id",
"ca"
],
"type": "string",
"description": "Language of the person asking, as a code: en English, es Spanish, de German, nl Dutch, fr French, it Italian, pt-BR Portuguese, ru Russian, zh-CN Chinese, zh-TW Chinese in traditional characters, ja Japanese, ko Korean, pl Polish, ar Arabic, hi Hindi, id Indonesian, ca Catalan. Titles, subtitles, authors and page addresses come back in this language. Default: the language of the query, else English."
}
},
"additionalProperties": false
}{
"title": "Search in book",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"required": [
"locator"
],
"properties": {
"after": {
"type": "integer",
"maximum": 2,
"minimum": 0,
"description": "Paragraphs after the located paragraph, default 0."
},
"before": {
"type": "integer",
"maximum": 2,
"minimum": 0,
"description": "Paragraphs before the located paragraph, default 0."
},
"locator": {
"type": "string",
"maxLength": 400,
"description": "Signed locator returned by search_in_book, valid for 24 hours."
}
},
"additionalProperties": false
}{
"title": "Get passage",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_listen_link — Get listen link
Get the listen page address of an open title for the signed-in member. No audio is returned, and access is checked by the listen page.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Title id as found in a search result, for example top3500-00013 or forbidden-00004. A plain number is read as a number of the main list."
},
"chapter": {
"type": "integer",
"minimum": 1,
"description": "Optional chapter number, starting at 1."
},
"language": {
"enum": [
"en",
"es",
"de",
"nl",
"fr",
"it",
"pt-BR",
"ru",
"zh-CN",
"zh-TW",
"ja",
"ko",
"pl",
"ar",
"hi",
"id",
"ca"
],
"type": "string",
"description": "Language of the person asking, as a code: en English, es Spanish, de German, nl Dutch, fr French, it Italian, pt-BR Portuguese, ru Russian, zh-CN Chinese, zh-TW Chinese in traditional characters, ja Japanese, ko Korean, pl Polish, ar Arabic, hi Hindi, id Indonesian, ca Catalan. Titles, subtitles, authors and page addresses come back in this language. Default: the language of the query, else English."
}
},
"additionalProperties": false
}{
"title": "Get listen link",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Title id as found in a search result, for example top3500-00013 or forbidden-00004. A plain number is read as a number of the main list."
},
"chapter": {
"type": "integer",
"minimum": 1,
"description": "Chapter number, default 1."
},
"language": {
"enum": [
"en",
"es",
"de",
"nl",
"fr",
"it",
"pt-BR",
"ru",
"zh-CN",
"zh-TW",
"ja",
"ko",
"pl",
"ar",
"hi",
"id",
"ca"
],
"type": "string",
"description": "Language of the person asking, as a code: en English, es Spanish, de German, nl Dutch, fr French, it Italian, pt-BR Portuguese, ru Russian, zh-CN Chinese, zh-TW Chinese in traditional characters, ja Japanese, ko Korean, pl Polish, ar Arabic, hi Hindi, id Indonesian, ca Catalan. Titles, subtitles, authors and page addresses come back in this language. Default: the language of the query, else English."
},
"paragraph": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,40}$",
"description": "Optional paragraph id such as p3."
}
},
"additionalProperties": false
}{
"title": "Open in reader",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 610 ms
- 95th percentile latency
- 610 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 610 ms · metadata changed · 26 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http library-of-alexandria-mcp https://mcp.libraryofalexandria.com/mcpCodex
codex mcp add library-of-alexandria-mcp --url https://mcp.libraryofalexandria.com/mcpCursor
{
"mcpServers": {
"library-of-alexandria-mcp": {
"url": "https://mcp.libraryofalexandria.com/mcp"
}
}
}Cline
{
"mcpServers": {
"library-of-alexandria-mcp": {
"type": "streamableHttp",
"url": "https://mcp.libraryofalexandria.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"library-of-alexandria-mcp": {
"type": "http",
"url": "https://mcp.libraryofalexandria.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http library-of-alexandria-mcp https://mcp.libraryofalexandria.com/mcpClaude Desktop
{
"mcpServers": {
"library-of-alexandria-mcp": {
"url": "https://mcp.libraryofalexandria.com/mcp"
}
}
}Windsurf
{
"mcpServers": {
"library-of-alexandria-mcp": {
"serverUrl": "https://mcp.libraryofalexandria.com/mcp"
}
}
}Let your agent find its tools
Find servers like Library of Alexandria MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.