Semantic search over 4.6 million text chunks from 20,000+ classical philosophy and humanities works — Plato, Aristotle, Kant, Nietzsche, Hegel, Hume and thousands more — sourced from Archive.org.
Alexandria MCP demonstrates solid definition quality with clear naming conventions, comprehensive descriptions, and structured schemas. All three tools follow verb_noun patterns (ping, search_texts, get_book_list). Tool descriptions are contextual and domain-specific (194-800 chars, within the baseline 34-392 range). Parameters include type definitions and descriptions. However, output schemas are not explicitly documented in the provided source code, and error handling guidance is minimal. The server shows good baseline adherence to pattern:tool and pattern:tool-description, with tool annotations properly applied.
List books in the Alexandria collection, optionally filtered by author, subject or language.
Simple connectivity test. Returns a greeting to confirm the server is running.
Search 4.6 million classical philosophy and humanities texts from Archive.org. The collection contains public domain books (pre-1928) covering: - Philosophy: Aristotle, Plato, Kant, Hegel, Nietzsche, Schopenhauer, Descartes, Spinoza, Locke, Hume, Mill, Wittgenstein, Aquinas and many more - Ethics, metaphysics, epistemology, logic, political philosophy - Sacred and religious texts, stoicism, neoplatonism, existentialism - Classical literature, history of ideas, social theory - Sources: Internet Archive (americana, europeanlibraries, gutenberg) Texts are in original languages — primarily English, German, Latin, French, Italian, Greek, Russian. Queries in any language work due to multilingual embeddings.
Output schemas not explicitly documented. While search_texts returns list[dict], the structure of each dict (fields, types) is not defined in the source code provided. This forces LLMs to infer result structure or make multiple exploratory calls.
get_book_list has minimal description. The provided description is only 'List books in the Alexandria collection, optionally filtered by author, subject or language.', 80 chars. It lacks context on expected result structure, pagination behavior, and use cases. This description is below the median.
No error handling guidance. The source code shows no explicit error classification (retryable vs user-fixable vs fatal) or recovery hints. If search_texts times out or returns empty results, the LLM has no actionable recovery path documented.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 61 | <=2025-11-25 | v2 |
Parameter constraints not fully specified. The date_from and date_to parameters accept integers with no explicit min/max bounds documented. LLMs could pass negative years, year 10000, or other nonsensical values. The limit parameter states 'max 20' but no runtime validation is visible in the provided code.
get_book_list parameter descriptions missing. The source code snippet is truncated and does not show the actual parameter definitions for get_book_list (author, subject, language filters are mentioned in the description but not enumerated in the schema). Cannot verify parameter types or constraints.