PickSkill
← Back

Embassy-of-the-Free-Mind/sourcelibrary-v2

README.md
Rendered from GitHub raw
View raw ↗

Source Library MCP Server

npm version

Search, read, and cite 1,200+ rare historical texts from the terminal or via MCP. 9 tools (search, read, cite, feedback), CLI + MCP server, no API key needed.

Quick Start

Claude Code

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

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

CLI

# Install globally
npm install -g @source-library/mcp-server
 
# Or run directly
npx @source-library/mcp-server search "philosopher's stone"

From Source

git clone https://github.com/Embassy-of-the-Free-Mind/sourcelibrary-v2.git
cd sourcelibrary-v2/mcp-server
npm install && npm run build
npm start

9 Tools

Search & Discovery

search_library

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

Parameter Type Required Description
query string Yes Search query
language string No Filter: Latin, German, Greek, Sanskrit, etc.
year_from number No Publication year start
year_to number No Publication year end
has_doi boolean No Only books with DOIs
has_translation boolean No Only translated books
sort string No relevance, date_asc, date_desc, title
limit number No Max 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.

Parameter Type Required Description
query string Yes Search inside page text
language string No Filter by book's original language
year_from number No Publication year start
year_to number No Publication year end
book_id string No Search within a specific book only
limit number No Max results (default 20, max 50)

search_within_book

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

Parameter Type Required Description
book_id string Yes The book ID to search within
query string Yes Search query

list_books

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

Parameter Type Required Description
search string No Filter by title/author (diacritic-insensitive)
language string No Filter by language
category string No Filter by category
sort string No recent-translation, recent, title-asc, title-desc
limit number No Max results (default 100, max 200)

Reading

get_book

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

Parameter Type Required Description
book_id string Yes Book ID

get_book_text

Read a book. Returns 50+ pages of text in one call, each with a citation URL. OCR, translation, or both.

Parameter Type Required Description
book_id string Yes Book ID
content string No ocr, translation, or both (default)
from number No Start page (inclusive)
to number No End page (inclusive)
format string No json (structured) or plain (concatenated text)

search_images

Search 50,000+ historical illustrations, emblems, engravings, and diagrams.

Parameter Type Required Description
query string No Text search across descriptions
type string No woodcut, engraving, emblem, diagram, etc.
subject string No Subject (alchemy, astronomy, anatomy)
figure string No Depicted figure (Mercury, philosopher, king)
symbol string No Symbol (ouroboros, caduceus, sun)
year_from number No Publication year start
year_to number No Publication year end
book_id string No Only images from a specific book
min_quality number No Min quality score 0-1 (default 0.5)
limit number No Max results (default 20, max 50)

Feedback

submit_feedback

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

Parameter Type Required Description
message string Yes Your feedback (2-5000 characters)
name string No Your name
email string No Email for follow-up
page string No Related page URL

CLI

All 9 tools are available as a standalone CLI with colored terminal output.

# Search the collection
source-library search "Paracelsus" --language=German
 
# Search inside translations
source-library translations "harmony of the spheres"
 
# Read a book
source-library text 694f49d3... --from=1 --to=50
 
# Book details
source-library book 694f49d3...
 
# Browse the gallery
source-library images --subject=alchemy --type=emblem
 
# Submit feedback
source-library feedback "Great translation of Fludd!" --name="Jane"
 
# JSON output for piping
source-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

npm run dev    # Run with hot reload (tsx)
npm run build  # Compile TypeScript
npm start      # Run compiled version
npm run cli    # Run CLI in dev mode

License

MIT