Source Library

io.github.Embassy-of-the-Free-MindPublished by GitHub account Embassy-of-the-Free-Mindv4.3.0Updated Oct 24, 2026

Search 22,000+ rare pre-modern texts with AI English translations, summaries, and 73K+ images.

The publisher's own server: Source

Overview

AI-generated overview

Searches, reads and cites a library of 22,000+ rare pre-modern texts with AI English translations, plus a searchable image gallery.

What you can do
  • Search the collection by full text, translated passages, semantic concept, or within a single book, and browse books with filters
  • Read book metadata, chapters and page ranges in OCR, translation or both
  • Pull the exact translated text of a page with a formatted citation and shortlink
  • Search illustrations and standalone artworks by subject, figure, symbol, type or year
  • Check whether a book already exists before importing it, and submit feedback or share findings
When to use it
Useful for research on alchemy, Hermetica, Kabbalah, theology and early science, where you want the assistant to find passages, read translations and produce properly cited quotes rather than rely on memory.
Requirements
Runs locally over stdio, typically via npx with the npm package @source-library/mcp-server (Node.js required) or a global install. No API key or environment variables are needed. Network access to the Source Library service is implied.
Before you install
Semantic concept search relies on Gemini embeddings, so queries are sent to that third-party service. Some tools write back to the service: feedback submission and sharing findings. Citations should come from the quote tool rather than paraphrased text.

Installation

In SourceWeft

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

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Source Library MCP Server

[npm version]

Search, read, and cite 22,000+ rare pre-modern texts (alchemy, Hermetica, Kabbalah, theology, early science) with AI-generated English translations. 12 tools (full-text + semantic search, reading, exact quoting, image search, duplicate detection, feedback, sharing findings back). CLI + MCP server, no API key needed.

Quick Start

Claude Code

bash
claude mcp add source-library -- npx -y @source-library/mcp-server

Claude Desktop

Add to your Claude Desktop config:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

json
{  "mcpServers": {    "source-library": {      "command": "npx",      "args": ["-y", "@source-library/mcp-server"]    }  }}

CLI

bash
# Install globallynpm install -g @source-library/mcp-server
# Or run directlynpx @source-library/mcp-server search "philosopher's stone"

From Source

bash
git clone https://github.com/Embassy-of-the-Free-Mind/sourcelibrary-v2.gitcd sourcelibrary-v2/mcp-servernpm install && npm run buildnpm start

12 Tools

Search & Discovery

search_library

Full-text search across books and page content. Returns matching books and pages with citation URLs.

ParameterTypeRequiredDescription
querystringYesSearch query
languagestringNoFilter: Latin, German, Greek, Sanskrit, etc.
year_fromnumberNoPublication year start
year_tonumberNoPublication year end
has_doibooleanNoOnly books with DOIs
has_translationbooleanNoOnly translated books
sortstringNorelevance, date_asc, date_desc, title
limitnumberNoMax results (default 10, max 100)
search_translations

Search inside translated text across the entire library. Find what historical authors wrote about any topic. Returns passage snippets with page numbers, book info, and citation URLs.

ParameterTypeRequiredDescription
querystringYesSearch inside page text
languagestringNoFilter by book's original language
year_fromnumberNoPublication year start
year_tonumberNoPublication year end
book_idstringNoSearch within a specific book only
limitnumberNoMax results (default 20, max 50)
search_concept

Semantic passage search using Gemini embeddings. Finds conceptually related passages even when the modern term won't literally appear — e.g. "distributed cognition" maps to passages about active intellect, art of memory, wax-tablet metaphors. Prefer search_translations for literal phrases; use search_concept when the concept matters more than the wording.

ParameterTypeRequiredDescription
querystringYesConcept or natural-language description
languagestringNoFilter by original language (set explicitly to surface non-Latin/German texts)
year_fromnumberNoPublication year start
year_tonumberNoPublication year end
limitnumberNoMax passages (default 15, max 50)
search_within_book

Search inside a specific book's pages. Returns matching pages with snippets and citation URLs.

ParameterTypeRequiredDescription
book_idstringYesThe book ID to search within
querystringYesSearch query
list_books

Browse the collection with filters. Returns title, author, language, year, and translation progress.

ParameterTypeRequiredDescription
searchstringNoWord match over title, author, name forms and AI summary (diacritic-insensitive)
languagestringNoFilter by language
categorystringNoFilter by category
sortstringNorecent-translation, recent, title-asc, title-desc
limitnumberNoMax results (default 100, max 200)

Reading

get_book

Detailed book metadata: summary, index stats, chapters, edition info, DOI.

ParameterTypeRequiredDescription
book_idstringYesBook ID
get_book_text

Read a book. Prefer chapter for chapter-at-a-time reading; falls back to from/to page ranges. Each response includes a truncated flag with a truncation_note giving the next from/to values when content was cut by the page-budget limit — agents must check truncated rather than infer end-of-book from pages_returned.

ParameterTypeRequiredDescription
book_idstringYesBook ID
chapternumberNoChapter index (0-based); preferred over from/to
partnumberNoPart number (1-based) for chapters split across parts
contentstringNoocr, translation, or both (default)
fromnumberNoStart page (inclusive)
tonumberNoEnd page (inclusive)
formatstringNojson (structured) or plain (concatenated text)
include_metadatabooleanNoInclude page-level metadata (model, language, etc.)
get_quote

Get the exact translated text of a single page for quoting. Returns the verbatim translation, original OCR, and a formatted citation. The response headline is citation_link — the stable sourcelibrary.org/q/… shortlink to present alongside the quote and its page number. Always use this before putting text in quotation marks — never paraphrase from memory. Suggested render: > [quote] then — [Author], [citation.locator]. [citation_link] — the locator is "p. 217 [scan 219]" where the printed page is known, else "p. 219".

ParameterTypeRequiredDescription
book_idstringYesBook ID or slug
pagenumberYesPage number to quote from

Gallery

search_images

Search the visual collection: 50,000+ illustrations extracted from book pages PLUS 23,000+ standalone artworks (paintings, frescoes, prints, sculptures from Met, Rijksmuseum, Wikimedia, NGA). Each result has a source field: gallery (book illustration) or artwork (standalone work).

ParameterTypeRequiredDescription
querystringNoText search across descriptions, subjects, figures, artists
sourcestringNoall (default), gallery, or artworks
typestringNowoodcut, engraving, emblem, diagram, painting, fresco, etc.
subjectstringNoSubject (alchemy, astronomy, anatomy)
figurestringNoDepicted figure (Mercury, philosopher, king)
symbolstringNoSymbol (ouroboros, caduceus, sun)
year_fromnumberNoPublication year start
year_tonumberNoPublication year end
book_idstringNoOnly images from a specific book or artwork id
min_qualitynumberNoMin gallery quality score 0-1 (default 0.5)
limitnumberNoMax results (default 20, max 50)

Curation

check_duplicate

Check whether a book already exists in Source Library before importing. Uses 4-tier matching (source fingerprint, title+author normalization, keyword search, semantic similarity) and returns a confidence level + suggestion. Use this before every import to avoid duplicates.

ParameterTypeRequiredDescription
titlestringYesBook title (original or English)
authorstringNoAuthor name (any format)
yearstringNoPublication year (optional context)
languagestringNoLanguage hint for semantic search
ia_idstringNoInternet Archive identifier (exact fingerprint match)
manifeststringNoIIIF manifest URL (exact fingerprint match)

Feedback

submit_feedback

Submit feedback, bug reports, or feature requests directly to the Source Library team.

ParameterTypeRequiredDescription
messagestringYesYour feedback (2-5000 characters)
namestringNoYour name
emailstringNoEmail for follow-up
pagestringNoRelated page URL
share_findings

Share a research dossier back to the Source Library team — a title, optional summary, and an ordered list of citations ({ book_id, page, note }, references not copied text). Like submit_feedback, it goes to the team for review.

ParameterTypeRequiredDescription
titlestringYesTitle of the dossier / thesis (2-300 chars)
summarystringNoProse summarizing the argument (max 5000 chars)
citationsarrayYesOrdered { book_id, page, note } passages (1-50)
namestringNoYour name
emailstringNoEmail for follow-up

CLI

Most tools are also available as a standalone CLI with colored terminal output. (search_concept and check_duplicate are MCP-only for now.)

bash
# Search the collectionsource-library search "Paracelsus" --language=German
# Search inside translationssource-library translations "harmony of the spheres"
# Read a booksource-library text 694f49d3... --from=1 --to=50
# Book detailssource-library book 694f49d3...
# Browse the gallerysource-library images --subject=alchemy --type=emblem
# Submit feedbacksource-library feedback "Great translation of Fludd!" --name="Jane"
# JSON output for pipingsource-library search "alchemy" --json | jq .results

Example Research Prompts

"Search for references to 'prima materia' across the collection. Which authors discuss it, and how do their treatments differ?"

"Read the full translation of Fludd's History of Both Worlds, pages 1-50. Summarize the cosmological framework."

"Find all alchemical emblems depicting the ouroboros. What texts are they from?"

"What does Copernicus say about the Sun's centrality in De Revolutionibus? Find the key passages with citation URLs."

Citation URLs

Every page returned by the tools includes a citation URL:

https://sourcelibrary.org/book/fludd-utriusque?page=57

Published editions include DOIs minted via Zenodo.

Development

bash
npm run dev    # Run with hot reload (tsx)npm run build  # Compile TypeScriptnpm start      # Run compiled versionnpm run cli    # Run CLI in dev mode

License

MIT

Links

Source: mcp-server/README.md at commit 791f552

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v4.3.0LatestSep 16, 2026

Score

50% 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 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Source integrations