Source Library is an MCP server with 15 tools an agent can call, among them get_book, get_book_text, get_locus. It answers at https://sourcelibrary.org/api/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 10 of 10 times since 5 September 2026; the last check, on 18 October 2026, succeeded.
Search 15K rare pre-modern texts translated to English: philosophy, religion, science, literature.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
get_book | READ PIPELINE step 1 — DISCOVER. START HERE for any named work or author. Returns the book's AI-generated summary, chapter list, edition metadata, DOI, page counts, IIIF manifest, and the cover image (inline, so you and the user can see the Inputs: book_id |
get_book_text | READ PIPELINE step 2 — READ. Read a book's text. Call get_book first (step 1) for the chapter list, then come here. Preferred: use the chapter param to read one chapter at a time (includes [Page N] markers for citation). Alternatively, use Inputs: book_id, chapter, part, content, from, to |
get_locus | Turn a CANONICAL CITATION into the actual leaves that carry it. Aristotle is cited by Bekker number (1094a8, 1447a) and Plato by Stephanus number (Rep. 328b) — the references scholarship has used for centuries, which survive re-typesetting Inputs: reference, work, system |
get_quote | READ PIPELINE step 3 — CITE. Get the exact verbatim text of a single page plus its citation apparatus. ALWAYS use before putting text in quotation marks. The response headline is citation_link (the stable sourcelibrary.org/q/… shortlink) — Inputs: book_id, page, context, include_image, lang |
get_quotes | READ PIPELINE step 3 — CITE, in batch. Get verbatim text + citation_link for SEVERAL pages of a single book in one round-trip, to assemble a multi-passage dossier. Specify either pages (an explicit array, e.g. [12, 40, 41]) or an inclusive Inputs: book_id, pages, from, to, include_image, lang |
list_books | BROWSES/FILTERS THE CATALOG by metadata (canonical author via author_id, author/title fragment via search, language, category, year range, translation recency) — no content/topic matching. PICK THIS to see WHAT EXISTS by an author or in a t Inputs: search, author_id, edition_key, year_from, year_to, language |
list_editions | Every edition of one work that the library holds — the other witnesses to the same text, across languages and centuries. Give it a book_id (easiest: the id of any edition you already found) or a work_id. USE THIS when a quotation needs chec Inputs: book_id, work_id |
propose_collection | Propose a themed collection of books to the Source Library team — a title, a rationale (why these books belong together and what thread connects them), and an ordered list of book ids. Get book ids from search_library / list_books / get_boo Inputs: title, rationale, book_ids, suggested_slug, name, email |
search_concept | RETURNS QUOTABLE PASSAGES matched by MEANING (cosine similarity on Gemini embeddings, 768d) — paraphrases and adjacent phrasings match even with zero keyword overlap. PICK THIS when the modern term won't literally appear in historical texts Inputs: query, language, languages, exclude_languages, year_from, year_to |
search_images | Search 200,000+ historical illustrations, emblems, engravings, diagrams, AND 24,000+ artworks (paintings, prints, sculptures). Filter by type, subject, figure, symbol, year. Results interleave two collections: illustrations extracted from b Inputs: query, type, subject, figure, symbol, year_from |
search_library | RETURNS A LIST OF BOOKS (works on a topic) — NOT passages. PICK THIS to discover which works exist on a subject. → For quotable text use search_translations (exact words) or search_concept (by meaning); if the user already named an author/w Inputs: query, language, year_from, year_to, has_translation, sort |
search_translations | RETURNS QUOTABLE PASSAGES (page-level snippets + citation URLs), matched by KEYWORD/term. PICK THIS to find a quote or textual evidence on a topic across the whole library. → If the modern word won't literally appear in historical texts, us Inputs: query, language, languages, exclude_languages, year_from, year_to |
search_within_book | SEARCHES INSIDE ONE BOOK (requires book_id). PRIMARILY KEYWORD: it runs a lexical search over the book's pages plus a narrow scoped-semantic pass (top ~10), interleaved by relevance. PICK THIS when you know the wording you are looking for, Inputs: book_id, query, lang |
share_findings | Share a research dossier back to the Source Library team — a title, an optional summary, and an ordered list of citations (the passages your thesis rests on). Each citation is a reference { book_id, page, note }, NOT copied text: the librar Inputs: title, summary, citations, name, email |
submit_feedback | Submit feedback, bug reports, or feature requests to the Source Library team. Before proposing NEW functionality, read https://sourcelibrary.org/llms.txt and https://sourcelibrary.org/developers — several past submissions proposed building Inputs: message, name, email |
Every block below points at https://sourcelibrary.org/api/mcp. Pick your client and copy.
claude mcp add --transport http source-library https://sourcelibrary.org/api/mcp
{
"mcpServers": {
"source-library": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://sourcelibrary.org/api/mcp"]
}
}
}{
"mcpServers": {
"source-library": {
"url": "https://sourcelibrary.org/api/mcp"
}
}
}{
"servers": {
"source-library": {
"type": "http",
"url": "https://sourcelibrary.org/api/mcp"
}
}
}{
"context_servers": {
"source-library": {
"url": "https://sourcelibrary.org/api/mcp"
}
}
}{
"mcpServers": {
"source-library": {
"serverUrl": "https://sourcelibrary.org/api/mcp"
}
}
}{
"mcpServers": {
"source-library": {
"url": "https://sourcelibrary.org/api/mcp"
}
}
}name: Source Library
version: 0.0.1
schema: v1
mcpServers:
- name: Source Library
type: streamable-http
url: https://sourcelibrary.org/api/mcp{
"mcpServers": {
"source-library": {
"httpUrl": "https://sourcelibrary.org/api/mcp"
}
}
}{
"mcpServers": {
"source-library": {
"type": "http",
"url": "https://sourcelibrary.org/api/mcp"
}
}
}{
"mcpServers": {
"source-library": {
"url": "https://sourcelibrary.org/api/mcp"
}
}
}goose://extension?url=https%3A%2F%2Fsourcelibrary.org%2Fapi%2Fmcp&type=streamable_http&id=source-library&name=Source%20Library
It answered our last check on 18 October 2026 in 164 ms. Over 10 checks since 5 September 2026 it answered 10. Status here comes from Neuronto's own probes, not from the publisher.
15, as returned by the server's own tools/list on 31 August 2026: get_book, get_book_text, get_locus, get_quote, get_quotes, list_books, list_editions, propose_collection, and 7 more.
It answered our last check on 18 October 2026 in 164 ms. Over 10 checks since 5 September 2026 it answered 10.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://sourcelibrary.org/api/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: io.github.embassy-of-the-free-mind. Endpoint host: sourcelibrary.org. ARD identifier: urn:air:io.github.embassy-of-the-free-mind:mcp:sourcelibrary.
First indexed 31 August 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.