Przejdź do treści
Biblioteka
Aleksandryjska

Dla programistów

Katalog biblioteki, jej darmowa półka i wydania drukowane są dostępne dla programów, asystentów i modeli za pośrednictwem dziewiętnastu publicznych narzędzi tylko do odczytu. Nie potrzeba klucza ani rejestracji. Siedem kolejnych narzędzi odczytuje własną bibliotekę użytkownika, gdy połączy on swoje konto z asystentem (zobacz Własna biblioteka). Narzędzia nigdy nikogo nie logują, nie pobierają płatności ani niczego nie zmieniają: każdy tytuł jest zwracany z adresem jego strony w libraryofalexandria.com, gdzie można czytać, słuchać, drukować lub rozpocząć korzystanie.

Trzy sposoby dostępu

  • MCP (Streamable HTTP) pod adresem https://mcp.libraryofalexandria.com/mcp: dla Claude, ChatGPT, Gemini, Grok, Copilot, Perplexity, Le Chat, LM Studio, Open WebUI, Cursor, VS Code, Goose i każdego innego klienta MCP.
  • REST i OpenAPI 3.1: POST https://api.libraryofalexandria.com/v1/<tool> oraz plik OpenAPI pod adresem https://api.libraryofalexandria.com/v1/openapi.json: dla skryptów, narzędzi automatyzacji (n8n, Zapier, Make, Dify, Flowise), serwerów narzędzi Open WebUI i Copilot Studio.
  • Pliki narzędzi dla twórców modeli: GET https://api.libraryofalexandria.com/v1/tools?format=openai: dla każdego programu, który przekazuje modelowi definicje narzędzi. Dostępne formaty to openai, openai-chat, anthropic, gemini, ollama i mcp.

Wypróbuj w minutę

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

Odpowiedź ma postać {"ok": true, "data": {...}, "source": "Library of Alexandria, libraryofalexandria.com"}. Każdy tytuł w data.results ma pola id, title, author oraz url swojej strony.

Dziewiętnaście narzędzi

Osiem wyszukuje tytuł, jedno pokazuje wydania drukowane, cztery przygotowują własny egzemplarz do druku, a sześć pomaga w nauce i wyborze. Wybierz narzędzia widoczne dla asystenta za pomocą ?toolset= w adresie MCP; krótka lista sprawdza się przy małych modelach lokalnych:

  • https://api.libraryofalexandria.com/mcp: dziewiętnaście publicznych narzędzi, bez logowania (adres podawany w katalogach).
  • https://mcp.libraryofalexandria.com/mcp?toolset=catalogue,study,orders: te same dziewiętnaście publicznych narzędzi.
  • ?toolset=catalogue,orders: trzynaście narzędzi, które wyszukują tytuł, pokazują jego wydania drukowane i przygotowują własny egzemplarz do druku.
  • ?toolset=study: sześć narzędzi do nauki.
  • https://mcp.libraryofalexandria.com/mcp bez parametru toolset: dziewiętnaście publicznych narzędzi i siedem narzędzi własnej biblioteki użytkownika, łącznie dwadzieścia sześć; tych siedem odpowiada tylko za zgodą użytkownika.
  • search_books (query, language, limit): znajdź tytuły według słów z tytułu, autora lub tematu, w dowolnym języku katalogu.
  • get_book (id, language): dane jednego tytułu: autor, tytuł oryginalny, okładka, wydania drukowane i jego strona w każdym języku.
  • get_summary (id, language, part): pierwsza główna myśl z 15-minutowego streszczenia jednego tytułu w całości oraz nagłówki pozostałych.
  • get_sample (id, language, page): darmowy początkowy fragment jednego tytułu, na stronach liczących najwyżej 400 słów.
  • list_free_shelf (language, subject, limit): tytuły na darmowej półce, według języka i tematu.
  • read_free_chapter (id, chapter, page, language): jeden rozdział tytułu z darmowej półki, na stronach liczących najwyżej 400 słów.
  • get_print_options (id, language): wydania drukowane jednego tytułu (druk standardowy i duży druk, miękka oprawa lub twarda oprawa) z ceną każdego z nich w dolarach amerykańskich.
  • quote_custom_print (id, language, edition, quantity, dedication, gift, cover, country): cena drukowanego egzemplarza jednego tytułu ze stroną na osobistą wiadomość, łączna kwota za wybraną liczbę egzemplarzy oraz strona, na której wpisujesz wiadomość i składasz zamówienie.
  • get_cover_upload_link (id, language): strona, na której dodajesz własny obraz na okładkę drukowanego egzemplarza.
  • create_custom_print_order (quote_id): strona, na której wpisujesz wiadomość, oglądasz podgląd do druku i płacisz. Przez asystenta niczego nie zamawiasz ani za nic nie płacisz.
  • get_order_status (order_ref, email, language): stan zamówienia drukowanych książek.
  • get_publisher_info: informacje o tym, kto wydaje bibliotekę, o jej językach, regulaminie i stronie dotyczącej prywatności.
  • browse_collection (collection, language, limit, cursor): gotowa półka, po osiem tytułów naraz: darmowe książki, poziom łatwy, średni lub trudny, zaginione książki, tytuły ze streszczeniem, najpopularniejsze.
  • get_book_facts (id, language): informacje o lekturze jednego tytułu: poziom, długość, czas czytania w trzech tempach, liczba stron, długość nagrania i rok pierwszego wydania.
  • get_themes (id, language): opracowanie jednego tytułu: tematy, symbole, czas i miejsce akcji oraz motywy, wraz z adresem pełnego opracowania.
  • get_chapter_summary (id, language, chapter): streszczenie jednego rozdziału, aktu lub sceny albo lista rozdziałów, gdy nie wskazano rozdziału.
  • find_quote_source (quote, language): dostępny tekst, rozdział i akapit, z których pochodzi cytat liczący co najmniej sześć słów. Wskazuje miejsca i nigdy nie zwraca treści książki.
  • explain_phrase (phrase, language): znaczenie powiedzenia lub idiomu, jego pochodzenie i tytuły, w których występuje.
  • recommend_classics (query, language, level, free_only, limit): propozycje kolejnych lektur na podstawie tytułu, który przypadł do gustu, albo tematu lub nastroju.

Streszczenie, przykładowa strona lub rozdział z darmowej półki, które nie są jeszcze dostępne (dany tytuł, język lub wszystkie teksty przed publikacją w internecie), zwracają jasną odpowiedź, że wkrótce będą tu dostępne. Później treść pojawia się bez żadnych zmian po twojej stronie. Żadne narzędzie nie zwraca całej książki: narzędzia zwracają krótkie fragmenty o ograniczonej długości i liczą słowa udostępniane każdemu klientowi (72,000 dziennie i 48,000 na godzinę; odpowiedź pokazuje pozostały limit).

Podłącz asystenta

Wszystkie dwadzieścia sześć narzędzi służy wyłącznie do odczytu, więc każdy klient może zezwolić na ich użycie bez pytania za każdym razem. Adres to https://mcp.libraryofalexandria.com/mcp (dodaj ?toolset=catalogue,study,orders lub użyj https://api.libraryofalexandria.com/mcp, aby korzystać tylko z dziewiętnastu narzędzi dostępnych dla wszystkich).

  • Claude: Ustawienia, Łączniki, Dodaj własny łącznik. W Claude Code: claude mcp add --transport http library-of-alexandria https://mcp.libraryofalexandria.com/mcp
  • ChatGPT: otwórz chatgpt.com/plugins, wybierz przycisk plus i Dodaj własny serwer MCP, wpisz adres i utwórz wtyczkę.
  • Cursor: dodaj "library-of-alexandria": {"url": "https://mcp.libraryofalexandria.com/mcp"} w sekcji mcpServers w pliku ~/.cursor/mcp.json.
  • VS Code: uruchom MCP: Dodaj serwer z palety poleceń, wybierz HTTP i wpisz adres.
  • LM Studio (0.3.17 lub nowszy): karta Program, Zainstaluj, Edytuj mcp.json, a następnie dodaj ten sam wpis url w sekcji mcpServers.
  • Open WebUI (0.6.31 lub nowszy): Ustawienia, Administrator, Integracje, Zewnętrzne serwery narzędzi, Dodaj połączenie, typ MCP (Streamable HTTP), adres, bez uwierzytelniania. Możesz też wybrać typ OpenAPI i wpisać adres pliku OpenAPI.
  • OpenAI Responses API: przekaż {"type": "mcp", "server_label": "library", "server_url": "https://mcp.libraryofalexandria.com/mcp", "allowed_tools": ["search_books", "get_book"], "require_approval": "never"} w tools.

Małe modele lokalne działają najlepiej z krótką listą narzędzi: podłącz tylko narzędzia potrzebne do zadania.

Twoja biblioteka (siedem narzędzi, za Twoją zgodą)

Osoba z kontem w libraryofalexandria.com może pozwolić swojemu asystentowi zajrzeć do swojej biblioteki i rozmawiać o czytanej książce. Asystent prosi o zgodę raz; osoba zatwierdza dostęp w libraryofalexandria.com i może go w każdej chwili odłączyć na stronie połączonych asystentów.

  • get_my_plan: plan, jego status i liczba słów tekstu pozostałych na dziś.
  • list_my_library: książki w bibliotece według statusu (do przeczytania, w trakcie czytania, przeczytane, wstrzymane, porzucone).
  • get_book_outline: rozdziały książki z informacją, które są darmowe, otwarte lub zablokowane. Bez tekstu.
  • get_listen_link: adres strony do słuchania książki lub rozdziału.
  • open_in_reader: adres rozdziału (i akapitu) w czytniku.
  • search_in_book: wyszukiwanie słów kluczowych w otwartych rozdziałach jednej książki: krótkie fragmenty z oznaczeniem lokalizacji.
  • get_passage: jeden fragment według oznaczenia lokalizacji, najwyżej 400 słów, z opisem bibliograficznym i adresem.

Tekst pochodzi tylko z książek, których tekst jest otwarty, oraz z rozdziałów, które dana osoba może czytać, najwyżej 400 słów naraz. Połączenie wykorzystuje OAuth 2.1 z PKCE: dokumenty znajdują się pod adresami /.well-known/oauth-protected-resource/mcp i /.well-known/oauth-authorization-server; wywołanie bez tokenu zwraca odpowiedź 401 z nagłówkiem WWW-Authenticate, który wskazuje te adresy. Asystent rejestruje się za pomocą Client ID Metadata Document lub POST /oauth/register (pięciu nowych klientów na godzinę z jednego adresu).

Wywołaj interfejs REST API

Każde narzędzie to jedna operacja, POST /v1/<tool>, z argumentami narzędzia jako obiektem JSON, bez klucza.

// JavaScript (Node 18 lub nowszy, przeglądarki, Deno, Bun, Workers)
const res = await fetch("https://api.libraryofalexandria.com/v1/get_book", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({ id: "top3500-00002", language: "en" }),
});
const { ok, data } = await res.json();
console.log(data.title, data.url);
# Python, tylko biblioteka standardowa
import json, urllib.request

req = urllib.request.Request(
    "https://api.libraryofalexandria.com/v1/list_free_shelf",
    data=json.dumps({"language": "es", "limit": 5}).encode(),
    headers={"content-type": "application/json"},
)
print(json.load(urllib.request.urlopen(req))["data"]["titles"])

Plik OpenAPI i pliki narzędzi

Plik OpenAPI 3.1 pod adresem /v1/openapi.json opisuje każdą operację, jej argumenty i strukturę odpowiedzi. Zaimportuj go do Open WebUI, Dify, Flowise, Copilot Studio lub dowolnego narzędzia obsługującego OpenAPI. W przypadku programów przekazujących definicje narzędzi do modelu GET /v1/tools?format= zwraca narzędzia w formacie wymaganym przez danego dostawcę (dodaj &toolset=catalogue,study,orders, aby uzyskać tylko dziewiętnaście publicznych narzędzi): openai (Responses API), openai-chat (Chat Completions), anthropic, gemini, ollama i mcp (lista wyświetlana przez serwer MCP). Odpowiadaj na wywołania modelu za pomocą powyższych operacji REST.

Błędy

Problem jest zwracany jako application/problem+json (RFC 9457) z polami type, title, status, detail i stałym polem code.

  • 400 invalid_json, invalid_request, unknown_format: treść żądania nie jest w formacie JSON, brakuje argumentu lub jest on nieprawidłowy (opis wskazuje który) albo format pliku narzędzi jest nieznany.
  • 404 unknown_tool, not_found: nie ma takiego narzędzia lub tytułu.
  • 405 method_not_allowed: narzędzia przyjmują POST, a dokumenty GET.
  • 413 payload_too_large: treść żądania przekracza 8 KB.
  • 415 unsupported_media_type: treść żądania musi być w formacie JSON.
  • 500 internal: biblioteka nie mogła teraz odpowiedzieć. Spróbuj ponownie za chwilę.

Korzystanie z odpowiedzi

  • Przekazuj informacje zgodne z odpowiedzią i używaj adresu url tytułu w podanej postaci. Nie wymyślaj cen ani ofert.
  • Biblioteka nie jest starożytną biblioteką aleksandryjską ani Bibliotheca Alexandrina.
  • Płatności i rejestracja odbywają się wyłącznie na libraryofalexandria.com. Narzędzie może przekazać link, ale nigdy nie przyjmuje płatności.
  • Klucz nie jest potrzebny. Ogranicz się do kilku żądań na sekundę i wysyłaj nagłówek User-Agent z nazwą swojego programu.

Warunki dla programistów

  • Z publicznych narzędzi można korzystać za darmo bez klucza, w granicach limitów podanych na tej stronie. Klucz programisty, utworzony przez osobę zalogowaną na libraryofalexandria.com, zwiększa limity i pozwala sprawdzić wykorzystanie; darmowy plan obejmuje 60 wywołań na minutę i 1,000 wywołań w miesiącu kalendarzowym na konto, niezależnie od liczby kluczy.
  • Korzystaj z odpowiedzi, aby pomagać w znajdowaniu, czytaniu i zamawianiu książek. Przekazuj informacje zgodne z odpowiedzią, zachowuj link do naszej strony i nie przedstawiaj naszych streszczeń, opracowań ani tekstów jako własnych.
  • Nie kopiuj masowo naszych tekstów, streszczeń ani opracowań, nie przechowuj ich jako bazy do udzielania odpowiedzi, nie odsprzedawaj ich ani nie trenuj na nich modelu. Wymaga to pisemnej licencji: zobacz Licencje na sztuczną inteligencję i dane.
  • Nie próbuj obchodzić limitów, udostępniać klucza ani wywoływać narzędzi w sposób, który spowalnia ich działanie dla innych. Możemy spowolnić, ograniczyć lub zakończyć dostęp dla klucza lub adresu, z którego odbywają się takie działania, a właściciel klucza może go w każdej chwili unieważnić.
  • Narzędzia są udostępniane w obecnej postaci. Dbamy o ich działanie i możemy je zmienić lub wycofać; zmiany ogłaszamy na tej stronie.

Prywatność

Usługa zlicza wywołania według nazwy narzędzia, statusu oraz nazwy i wersji klienta. Nie zapisuje treści zapytań i nie ustawia plików cookie. Obowiązują polityka prywatności i warunki korzystania z usługi.

Wersje

Wersja API to data zwracana w nagłówku LOA-Version (obecnie 2026-10-25). Zmiany ogłaszamy na tej stronie.