Skip to main content
AllMCPs
BrowseBestCategoriesStackCompareToolsGuidesBlog Log in Submit MCP

Stay in the loop

Get new MCP servers and top picks in your inbox.

AllMCPs

The open directory for discovering and installing Model Context Protocol servers.

Explore

  • Browse servers
  • Best MCP servers
  • Categories
  • MCP clients
  • Agent prompts
  • Stack Builder
  • Compare servers
  • Tags index
  • Submit a server
  • Pricing

Learn

  • Guides hub
  • What is MCP?
  • Install guide
  • Troubleshooting
  • Security
  • Blog
  • Blog RSS

Tools

  • All tools
  • Config generator
  • Config validator
  • MCP playground
  • OpenAPI โ†’ MCP
  • Badge generator

For agents

  • API docs
  • Trust & traffic
  • llms.txt โ†— (opens in a new tab)
  • Catalog JSON โ†— (opens in a new tab)
  • Remote MCP โ†— (opens in a new tab)

Company

  • About
  • Contact
  • X (@AllMCPs) โ†— (opens in a new tab)
  • GitHub โ†— (opens in a new tab)
  • Terms
  • Privacy
AllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on BuildlistAllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on Buildlist
ยฉ 2026 Jackalope Digital LLC. All rights reserved.
  1. Home
  2. ๐Ÿ”ฌ Research
  3. Source Library
S
Health: ActiveRecent health check succeeded.Last checked 8/10/2026, 11:58:02 PM

Source Library

Enrichment pendingWe havenโ€™t run our AI enrichment pass on this listing yet, so the overview, use cases, and FAQ below may be sparse or missing. We work through the catalog over time โ€” check back soon.
View Repository14 GitHub StarsTotal stargazers on GitHub for the source repository (14 stars).

Search rare historical texts with OCR, translations & DOI citations.

Quick Install

Automated & IDE Setup

Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ€” or use 1-click editor setup below.

Add to CursorAdd to VS Code
Manual Client & Custom JSON ConfigExpand JSON โ–พ

Install Config Generator

Choose your client
claude_desktop_config.json
{
  "mcpServers": {
    "source-library": {
      "command": "npx",
      "args": [
        "-y",
        "https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0"
      ]
    }
  }
}

๐Ÿ’ก Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)

Install Directory Badge Claim listing Alternatives๐Ÿ”ฌ More in Research

Documentation Overview

Source Library Logo

Source Library

A digital library of historical primary sources with AI-aided OCR, translation, and scholarly curation.

License: AGPL v3 Next.js MongoDB Postgres Supabase Gemini API

๐ŸŒ Visit Library โ€ข ๐Ÿ“– Docs โ€ข ๐Ÿ—บ๏ธ System Map โ€ข ๐Ÿค Contribute


๐ŸŽฌ Experience Source Library

Your browser does not support the video tag.

Explore thousands of digitized historical texts with AI-enhanced translations and scholarly curation.


๐ŸŽฏ About Source Library

Source Library is an open digital library dedicated to making early printed books and primary sources readable and citable. We specialize in alchemy, Hermetica, Kabbalah, Rosicrucianism, and early modern scienceโ€”texts that bridge historical scholarship with contemporary exploration.

๐ŸŒŸ Why Source Library?

  • โœจ Originals First โ€” Read the original language text with AI-enhanced translations alongside
  • ๐ŸŽ“ Citable Scholarship โ€” Every book gets a DOI and scholarly metadata (USTC alignment, edition tracking)
  • ๐Ÿ›๏ธ Partner Subdomains โ€” Institutions like the Bibliotheca Philosophica Hermetica curate reading rooms on their own domains
  • ๐Ÿ” Discovery โ€” Collections, galleries of illustrations, and semantic search surface overlooked texts
  • โœ… Rigorous QA โ€” Manual verification, image quality scoring, and OCR validation before publication

The platform ingests ~15K pages monthly from Internet Archive, Gallica, Bodleian, Wellcome, and other digital heritage partners.


๐Ÿš€ Quick Start

๐Ÿ’ป Development Environment

bash
# ๐Ÿด Clone and install
git clone https://github.com/Embassy-of-the-Free-Mind/sourcelibrary-v2.git
cd sourcelibrary-v2
npm install

# โš™๏ธ Configure environment (see .env.example for required variables)
# Must include: MongoDB Atlas connection, Google Gemini API key, Vercel Blob token

# โ–ถ๏ธ Start dev server
npm run dev

Open http://localhost:3000


๐Ÿ“‹ Tech Stack

๐ŸŽจ FrontendNext.js 16, React 19, TailwindCSS, Lucide icons
โš™๏ธ BackendNext.js API routes, AWS Lambda for async processing
๐Ÿ’พ DatabaseMongoDB Atlas (primary), Supabase (embeddings)
๐Ÿค– AI/MLGoogle Gemini 3.1 (OCR, translation, summarization)
๐Ÿ—‚๏ธ StorageVercel Blob (images), AWS S3 (archive), Cloudflare R2 (archive)
๐Ÿ” AuthNextAuth v5 with MongoDB adapter
๐Ÿš€ DevOpsVercel (hosting), GitHub (VCS), Playwright (E2E tests)
โœ”๏ธ TestingVitest (unit/integration), Playwright (E2E)
๐Ÿ”Ž SearchPostgreSQL FTS + semantic search via Supabase

๐Ÿ“ฆ Key Dependencies:

  • sharp โ€” Image resizing and cropping
  • @google/generative-ai โ€” Gemini API integration
  • xml2js โ€” USTC metadata parsing
  • @modelcontextprotocol/sdk โ€” MCP server for agent integration
  • stripe โ€” Donation and subscription handling

๐Ÿ“š Core Features

๐Ÿ“– Reading & Navigation

  • โšก Page pagination โ€” Instant navigation between 100+ pages
  • ๐Ÿ” Full-text search โ€” Query across OCR'd text and translations
  • ๐Ÿ“Œ Quote generation โ€” Copy and cite passages with DOI links

๐Ÿ”„ Processing Pipeline

  • ๐Ÿงฉ Smart split detection โ€” Automatic gutter detection for two-page spreads (Gemini AI or ML-based)
  • โœ๏ธ High-accuracy OCR โ€” Gemini Vision API with language-specific models (Latin, German, Greek, Arabic, etc.)
  • ๐Ÿ—ฃ๏ธ Context-aware translation โ€” Maintains continuity across pages for scholarly accuracy
  • ๐Ÿ–ผ๏ธ Gallery extraction โ€” AI-powered detection and cataloging of illustrations

๐ŸŽจ Curation & Discovery

  • ๐Ÿ“‘ Themed collections โ€” Editorial collections (e.g., "Alchemy & Transmutation," "Kabbalah & Mysticism")
  • ๐Ÿ›๏ธ Gallery browsing โ€” Curated images from all books (museum-quality metadata)
  • ๐Ÿ“š Related editions โ€” Link across translations, reprints, and derivative works
  • ๐Ÿ”— Authority linking โ€” Connect to USTC, VIAF, and other scholarly databases

๐Ÿ“ค Scholarly Export

  • ๐Ÿ“ฑ EPUB generation โ€” Multi-format ebook export
  • ๐Ÿ“„ PDF with annotations โ€” Preserve layout, add scholarly notes
  • ๐Ÿ†” DOI minting โ€” Version books via Zenodo integration for long-term citation

๐Ÿข Tenant Subdomains

  • ๐Ÿ›๏ธ Isolated reading rooms โ€” Partners host curated subsets on custom domains (e.g., bph.sourcelibrary.org)
  • ๐ŸŽจ Branding & navigation โ€” Full UI customization per tenant
  • ๐Ÿ”’ Access control โ€” Public or members-only collections

๐Ÿ—๏ธ Architecture Overview

๐Ÿ“Š Data Model

๐Ÿ“š Books contain structured metadata:

  • ๐Ÿ›๏ธ Bibliographic โ€” Title, author, language, publication date, USTC ID
  • ๐Ÿ–ผ๏ธ Images โ€” Links to source (Internet Archive, Gallica, etc.), archival status
  • โš™๏ธ Processing โ€” OCR status, translation language, extraction metadata
  • ๐ŸŽจ Curation โ€” Collections, tier (featured/standard), visibility flags

๐Ÿ“„ Pages store individual page data:

  • ๐Ÿ“ธ Original image โ€” Source photo or PDF page
  • โœ‚๏ธ Split coordinates โ€” Crop boundaries (0-1000 scale) for two-page spreads
  • โœ๏ธ OCR output โ€” Raw Gemini extraction + language metadata
  • ๐Ÿ—ฃ๏ธ Translation โ€” English translation with scholarly notes
  • ๐Ÿ–ผ๏ธ Illustrations โ€” Detected images with quality scores and descriptions

๐Ÿ–ผ๏ธ Gallery images are extracted illustrations:

  • ๐Ÿท๏ธ Metadata โ€” Subject, figures, symbols, style, techniques, period
  • โญ Quality score โ€” 0โ€“1.0 rating (filters below 0.5)
  • ๐Ÿ”— Provenance โ€” Source book and page, linked back

๐ŸŽจ Image Tier System

All page images are resized on-demand via /api/image:

TierDimensionsQuality๐Ÿ“ฑ Use Case
Thumbnail400px wide70% JPEGGrids, navigation, social sharing
Display1200px wide80% JPEGMain reading view, comfortable for annotation
Full2400px wide90% JPEGMagnifier, fullscreen detail, printing

Split pages are cropped non-destructively via coordinates; original images are always preserved.

๐Ÿ”„ Processing Pipeline

Code
๐Ÿ“ฅ Import โ†’ โœ‚๏ธ Split Detection โ†’ โœ๏ธ OCR โ†’ ๐Ÿ—ฃ๏ธ Translation โ†’ ๐ŸŽจ Enrichment โ†’ ๐ŸŒ Publishing
  1. ๐Ÿ“ฅ Import โ€” Upload images, import from IA/Gallica via IIIF, or paste URLs
  2. โœ‚๏ธ Split Detection โ€” Detect two-page spreads; mark crop boundaries
  3. โœ๏ธ OCR โ€” Gemini Vision extracts text per page language
  4. ๐Ÿ—ฃ๏ธ Translation โ€” Gemini translates to English with prior-page context for continuity
  5. ๐ŸŽจ Enrichment โ€” Extract illustrations, generate summaries, assign collections
  6. ๐ŸŒ Publishing โ€” Set visible: true, mint DOI, push to search index

Batch endpoints process up to 5 pages/request using Gemini Batch API (50% cheaper).

๐Ÿ”Œ API Routes (Key)

Base URL: https://sourcelibrary.org (production) or http://localhost:3000 (local dev with .env.local configured).

Common 404 mistake: paths like /api/bph/books or /api/bph/books/[id] do not exist. BPH catalogue APIs live under /api/embed/bph/.... There is also no top-level /api/[tenant]/books route โ€” tenant book listings use /api/books/library or the embed routes below.

Public read APIs (no auth required today)

EndpointMethodPurpose
/api/search?q=<query>GETFull-text search across books and page translations
/api/books?limit=100&offset=0GETSimple book list (global catalogue; visible: true, indexed only)
/api/books/library?limit=100&skip=0GETRich browse API โ€” search, sort, filters, collections
/api/books/[id]GETBook metadata (accepts Mongo id or slug)
/api/books/[id]/quote?page=<n>GETCitable quote + formatted citations (inline, footnote, BibTeX, DOI)
/api/gallery?limit=24GETIllustration / artwork search
/api/image?url=<encoded-url>&w=400GETOn-demand image resize & crop
/api/embed/bph/books?limit=24GETBPH catalogue (paginated, searchable)
/api/embed/bph/books/[slug]GETSingle BPH book detail
/api/embed/bph/featuredGETFeatured BPH books
/api/embed/bph/collectionsGETBPH collection list
/api/embed/bph/languagesGETBPH language facets
/api/embed/bph/suggest?q=alchGETBPH search autocomplete
/api/embed/bph/statsGETBPH catalogue stats

Tenant-scoped listing (not /api/bph/...)

Use one of these patterns to filter by partner tenant (e.g. BPH):

ApproachExample
Embed prefix (recommended for BPH)GET /api/embed/bph/books?limit=24
Library API + query paramGET /api/books/library?tenant_slug=bph&limit=24
Host header (subdomain)Call https://bph.sourcelibrary.org/api/books/library?limit=24 โ€” the proxy injects tenant context
Manual header (advanced)curl -H "x-tenant-slug: bph" https://sourcelibrary.org/api/books/library?limit=24

The /api/[tenant]/books/[id]/... paths that exist in the codebase are editor/processing routes (batch OCR, index rebuild, etc.) โ€” not public catalogue listings.

Authenticated / internal APIs

These require a signed-in session cookie, editor role, or (for some dataset endpoints) a Bearer API key. Calling them without auth returns 401 or 403.

EndpointMethodPurpose
/api/booksPOSTCreate a new book (editor)
/api/books/[id]PATCHUpdate book metadata (curator+)
/api/books/[id]/batch-ocr-asyncPOSTQueue batch OCR job
/api/books/[id]/batch-translate-asyncPOSTQueue batch translation job
/api/pages/[id]PATCHUpdate page OCR/translation
/api/jobs/[id]/processPOSTAsync job processor (Lambda)

Full narrative API walkthrough: docs/blog-source-library-api.md. MCP tools (search, quote, read): mcp-server/README.md.

๐Ÿงช Trying the API (curl, Postman, browser)

All examples below hit production and need no API key. Replace the base URL with http://localhost:3000 when running locally (MongoDB + env vars required).

curl

bash
# Search translated text
curl -s "https://sourcelibrary.org/api/search?q=quintessence&limit=5" | jq .

# List books (global catalogue)
curl -s "https://sourcelibrary.org/api/books?limit=5" | jq .

# Browse with filters and sort
curl -s "https://sourcelibrary.org/api/books/library?limit=5&sort=recent-translation&has_translation=true" | jq .

# BPH catalogue โ€” note /api/embed/bph/, NOT /api/bph/
curl -s "https://sourcelibrary.org/api/embed/bph/books?limit=5&translated=true" | jq .

# BPH via tenant_slug on the library endpoint
curl -s "https://sourcelibrary.org/api/books/library?tenant_slug=bph&limit=5" | jq .

# Book metadata (id or slug)
curl -s "https://sourcelibrary.org/api/books/know-thyself-reger-von-ehrenhart" | jq .

# Citable quote for a page
curl -s "https://sourcelibrary.org/api/books/6836f8ee811c8ab472a49e36/quote?page=57" | jq .

# Gallery search
curl -s "https://sourcelibrary.org/api/gallery?subject=alchemy&limit=5" | jq .

Pretty-printing with jq is optional; omit | jq . to see raw JSON.

Postman

  1. Create a new GET request.
  2. Set URL to e.g. https://sourcelibrary.org/api/embed/bph/books
  3. On the Params tab add query keys: limit = 24, sort = title, translated = true
  4. Leave Auth as No Auth for the public endpoints above.
  5. Send โ€” expect 200 with JSON body.

Get Books

Browser

Public GET endpoints can be opened directly:

  • Search: quintessence
  • BPH books
  • Global library browse

๐Ÿ“ Directory Structure

Code
src/
โ”œโ”€โ”€ app/                         # ๐ŸŽจ Next.js App Router
โ”‚   โ”œโ”€โ”€ book/[id]/               # ๐Ÿ“– Book detail, reading, processing
โ”‚   โ”‚   โ”œโ”€โ”€ page.tsx             # Main book hub
โ”‚   โ”‚   โ”œโ”€โ”€ split/page.tsx       # Split detection workflow
โ”‚   โ”‚   โ””โ”€โ”€ page/[pageId]/page.tsx      # Individual page view
โ”‚   โ”œโ”€โ”€ api/                     # ๐Ÿ”Œ All API routes
โ”‚   โ”‚   โ”œโ”€โ”€ books/               # Book CRUD & batch ops
โ”‚   โ”‚   โ”œโ”€โ”€ pages/               # Page processing
โ”‚   โ”‚   โ”œโ”€โ”€ image/               # Image proxy & cropping
โ”‚   โ”‚   โ”œโ”€โ”€ jobs/                # Async job tracking
โ”‚   โ”‚   โ””โ”€โ”€ search/              # Full-text & semantic
โ”‚   โ”œโ”€โ”€ [tenant]/                # ๐Ÿข Tenant subdomain routes
โ”‚   โ”œโ”€โ”€ gallery/                 # ๐Ÿ–ผ๏ธ Illustration browsing
โ”‚   โ”œโ”€โ”€ collections/             # ๐Ÿ“‘ Collection pages
โ”‚   โ””โ”€โ”€ admin/                   # โš™๏ธ Admin dashboard
โ”œโ”€โ”€ hooks/                       # ๐ŸŽฃ Reusable React hooks
โ””โ”€โ”€ lib/                         # ๐Ÿ› ๏ธ Business logic & utilities
    โ”œโ”€โ”€ mongodb.ts               # Database operations
    โ”œโ”€โ”€ image-extraction.ts      # Illustration detection
    โ””โ”€โ”€ auth-helpers.ts          # Authentication utilities

scripts/
โ”œโ”€โ”€ workers/                     # โš™๏ธ Lambda worker functions
โ”‚   โ”œโ”€โ”€ pipeline-orchestrator.mjs # Main processing pipeline
โ”‚   โ”œโ”€โ”€ image-extract-worker.mjs # Gallery extraction
โ”‚   โ””โ”€โ”€ ...
โ”œโ”€โ”€ maintenance/                 # ๐Ÿ”ง One-off maintenance scripts
โ”œโ”€โ”€ migrations/                  # ๐Ÿ“Š Database schema updates
โ””โ”€โ”€ audit-bph-leaks.mjs          # ๐Ÿ”’ Tenant security verification

tests/
โ”œโ”€โ”€ unit/                        # โœ”๏ธ Vitest unit tests
โ””โ”€โ”€ integration/                 # ๐Ÿ”— Integration tests

prompts/                        # ๐Ÿค– AI system prompts
โ”œโ”€โ”€ ocr/
โ”œโ”€โ”€ translation/
โ”œโ”€โ”€ split-detection/
โ””โ”€โ”€ ...

.claude/                        # ๐Ÿง  AI agent context
โ”œโ”€โ”€ docs/                       # ๐Ÿ“š Detailed architecture docs
โ”œโ”€โ”€ skills/                     # ๐ŸŽฏ Specialized agent skills
โ””โ”€โ”€ handoffs/                   # ๐Ÿ“‹ Incident reports & lessons

๐Ÿ”„ Common Workflows

๐Ÿ“ฅ Importing Books from Internet Archive

typescript
// From the UI or via API
POST /api/books
{
  "ia_id": "thehermetic00fludd",
  "title": "The Hermetic and Alchemical Writings",
  "author": "Arthur Edward Waite",
  "language": "en",
  "ustc_id": "123456"
}

The system:

  1. ๐Ÿ“ฅ Fetches page images from IA IIIF
  2. โœ‚๏ธ Detects splits and generates crop coordinates
  3. ๐Ÿ“ค Queues for OCR and translation
  4. ๐ŸŒ Publishes when processing completes

โœ‚๏ธ Processing a Split Book

  1. ๐Ÿ–ฅ๏ธ Visit /book/[id]/split
  2. ๐Ÿ–ฑ๏ธ Adjust split line visually (drag or Gemini AI auto-detection)
  3. โœ… Click "Apply Split" โ€” creates two virtual pages with crop coordinates
  4. ๐Ÿ“ธ Original images preserved; OCR runs on cropped versions

โœ๏ธ Batch OCR with Gemini Batch API

typescript
POST /api/books/[id]/batch-ocr-async
{
  "page_ids": ["page-1", "page-2", "page-3"],
  "language": "la"
}

Returns a job ID; Gemini processes offline, saves results when complete. 50% cheaper than standard API.

๐ŸŽ“ Generating a Scholarly Edition

typescript
POST /api/books/[id]/editions
{
  "title": "The Emerald Tablet: First Complete English Translation",
  "translator": "Jane Doe",
  "language": "en",
  "format": "epub"
}

System generates:

  • ๐Ÿ“ Scholarly front matter (introduction, translator bio, etc.)
  • ๐Ÿ“ฑ EPUB with TOC and metadata
  • ๐Ÿ†” DOI via Zenodo integration
  • ๐Ÿ“š Citation metadata (BibTeX, RIS)

๐Ÿงช Testing

๐Ÿš€ Run Tests

bash
# Unit tests
npm run test:unit

# Integration tests
npm run test:integration

# End-to-end tests (Playwright)
npm run test:e2e

# Coverage report
npm run test:coverage

# Watch mode
npm run test:watch

โœ… E2E Test Examples

  • ๐Ÿ“ฅ Book import โ€” Validate IA ingestion pipeline
  • โœ‚๏ธ Split detection โ€” Verify gutter detection accuracy
  • ๐ŸŒ Translation โ€” Confirm source/translation alignment
  • ๐Ÿ”’ Tenant subdomain โ€” Ensure content isolation (no leaks)
  • ๐Ÿ” Search โ€” Test full-text and semantic indexing

๐Ÿš€ Deployment

๐Ÿ”„ Staging (Preview)

Every pushed branch auto-deploys to Vercel preview:

bash
git push origin feat/my-feature
# โ†“ Vercel builds and deploys
# โ†“ Preview URL in GitHub PR

๐ŸŒ Production

Merge to main via PR โ†’ automatic Vercel deploy to sourcelibrary.org

โœ… Pre-deployment checklist:

  • Tests pass (npm run test)
  • TypeScript check passes (npx tsc --noEmit)
  • No hardcoded secrets or credentials
  • Tenant subdomain leak audit passes (node scripts/audit-bph-leaks.mjs)
  • PR reviewed and approved

๐Ÿ”‘ Environment Variables

Required (.env.local):

Code
MONGODB_URI=mongodb+srv://...
NEXTAUTH_SECRET=<random-secret>
GOOGLE_API_KEY=<gemini-key>
VERCEL_BLOB_TOKEN=<vercel-blob-token>
AWS_REGION=us-east-1
AWS_ACCESS_KEY_ID=...
AWS_SECRET_ACCESS_KEY=...

Optional:

Code
STRIPE_SECRET_KEY=<for-donations>
ZENODO_TOKEN=<for-doi-minting>
SUPABASE_URL=<for-embeddings>

๐Ÿ“– Documentation

  • ๐Ÿ—บ๏ธ System Map โ€” Comprehensive architecture diagram and file index
  • ๐Ÿ—๏ธ ARCHITECTURE.md โ€” Data model, workflows, and design decisions
  • ๐Ÿค– AGENTS.md โ€” Technical context for AI agents and automated workers
  • ๐Ÿ“‹ CLAUDE.md โ€” Development workflow, PR conventions, critical invariants
  • ๐Ÿ” AUTH_IMPLEMENTATION.md โ€” NextAuth setup and tenant auth
  • ๐Ÿ“ฆ Batch OCR Workflow โ€” Using Gemini Batch API
  • ๐Ÿ”Œ API Documentation โ€” REST API reference
  • ๐Ÿ–ผ๏ธ Image Processing โ€” How cropping and resizing works

๐Ÿค Contributing

We welcome contributions! Please follow our development workflow:

  1. ๐ŸŒฟ Create a feature branch (off main):

    bash
    # Using git worktree for multi-session safety
    git worktree add .claude/worktrees/feat-xyz feat/xyz
    cd .claude/worktrees/feat-xyz
    
  2. โœ๏ธ Make changes and test:

    Terminal
    npm run lint
    npm run test
    npm run test:e2e
    
  3. ๐Ÿ“ค Push and create a PR:

    bash
    git push origin feat/xyz
    gh pr create --base main
    
  4. ๐Ÿ“‹ PR guidelines:

    • One concern per PR โ€” Don't bundle refactors with features
    • Verify deletions โ€” Always grep -rn before deleting code
    • Run type check โ€” npx tsc --noEmit before submitting
    • Describe scope โ€” State what's in scope AND out of scope

๐ŸŽฏ What We're Looking For

  • ๐Ÿ› Bug fixes with test coverage
  • โœจ Feature implementations aligned with project mission
  • โšก Performance improvements with benchmarks
  • ๐Ÿ“ Documentation improvements
  • โ™ฟ UX/accessibility enhancements
  • ๐Ÿข Tenant integration examples

๐Ÿ“ข Reporting Issues

  • ๐Ÿ› Bugs โ€” Include reproduction steps, expected vs. actual behavior
  • ๐Ÿ’ก Feature requests โ€” Explain the use case and user impact
  • โ“ Questions โ€” Open an issue

๐Ÿ›ก๏ธ Security & Data Protection

  • ๐Ÿšซ No deletion without approval โ€” All book/page deletions require explicit confirmation
  • ๐Ÿ”’ Tenant isolation โ€” Tenant subdomains are closed systems (no cross-tenant leaks)
  • ๐Ÿ” Secret management โ€” All secrets via environment variables, never hardcoded
  • โš–๏ธ AGPL licensing โ€” Contributions must respect AGPL-3.0-or-later

See CLAUDE.md Security for detailed security policies.


๐Ÿ“Š Current Status

As of July 2026 โ€” these move weekly; live numbers at sourcelibrary.org/data.

๐Ÿ“ˆ Active Corpus:

  • ๐Ÿ“š ~29K books with visible: true
  • โœ… ~15K fully processed (OCR'd and translated)
  • ๐ŸŒ ~14K with full English translations
  • ๐Ÿ–ผ๏ธ 200K+ catalogued illustrations in the gallery

โš™๏ธ Processing Capacity:

  • ๐Ÿ“ฅ 15K+ pages/month ingestion
  • ๐Ÿ—ฃ๏ธ Multi-language support (Latin, German, Greek, Arabic, Sanskrit, Chinese, etc.)
  • ๐Ÿ’ฐ Batch API for 50% cost reduction

๐Ÿข Platform Tenants:

  • ๐Ÿ”ฎ Bibliotheca Philosophica Hermetica โ€” Hermetica & esoterica
  • โš—๏ธ Kloss Collection โ€” Medical alchemy
  • ๐Ÿค Additional partners in development

๐Ÿ“ License

Source Library is licensed under the GNU Affero General Public License v3.0 or later (AGPL-3.0-or-later). All contributions must respect this license.

See LICENSING.md for details on third-party licenses and attribution.


๐Ÿ“ž Support & Community

  • ๐Ÿ› Found a bug? Open an issue
  • ๐Ÿค Want to collaborate? Contribute
  • ๐ŸŒ Visit the site โ€” sourcelibrary.org

๐Ÿ“– Digitizing history. Making primary sources readable. Building open scholarship.

โ†‘ Back to top

Code
src/
โ”œโ”€โ”€ app/              # All routes, pages, and API endpoints
โ”‚   โ”œโ”€โ”€ api/          # API routes
โ”‚   โ”œโ”€โ”€ book/         # Book pages (detail, read, pipeline)
โ”‚   โ””โ”€โ”€ page.tsx      # Homepage
โ”œโ”€โ”€ components/       # Reusable React components
โ”œโ”€โ”€ hooks/            # Reusable React hooks for component logic
โ””โ”€โ”€ lib/              # Business Logic, Utilities (mongodb, ai, types), and Services

Related MCP Servers

View all in Research View all alternatives
  • M
    Mcp

    Pilot AEO/GEO from Claude: bulk audits, server-side fixes via WordPress plugin, AI citations.

    ๐Ÿ”ฌ Research0 views
    Compare vs Mcp โ†’
  • Sourcelibrary V2 logoSourcelibrary V2

    Search and cite rare historical texts (alchemy, Hermeticism, Renaissance philosophy) with DOI-backed academic citations from Source Library

    ๐Ÿ”ฌ Research3 views
    Compare vs Sourcelibrary V2 โ†’
  • Adamamer20 Paper Search Mcp Openai logoAdamamer20 Paper Search Mcp Openai

    Search and download academic papers from arXiv, PubMed, bioRxiv, medRxiv, Google Scholar, Semanticโ€ฆ

    ๐Ÿ”ฌ Research0 views
    Compare vs Adamamer20 Paper Search Mcp Openai โ†’
  • U
    Upriver

    Know what's gaining traction online: breakout topics in tech, sports & politics, with citations.

    ๐Ÿ”ฌ Research0 views
    Compare vs Upriver โ†’

Frequently Asked Questions about Source Library

Add the following block to your claude_desktop_config.json under mcpServers: "mcpServers": { "source-library": { "command": "npx", "args": ["-y", "source-library"] } }

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewSource Library AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/source-library?style=directory)](https://allmcps.com/mcp/source-library)
HTML Embed
<a href="https://allmcps.com/mcp/source-library"><img src="https://allmcps.com/api/badge/source-library?style=directory" alt="Source Library on AllMCPs" /></a>

Technical Specs & Signals

Category๐Ÿ”ฌResearch
More technical detailsExpand โ–พ
TransportSSE (Remote)
RuntimeNode.js
5/5 checks healthy over the last 6h
Views0
Unique ViewsTotal visits recorded for this listing page on AllMCPs.
Installs0
Installs & Copy ActionsTotal times users copied install commands or configuration snippets for this server.
GitHub stars14
GitHub Star CountTotal stargazers on GitHub representing community popularity (14 stars).
Last commitToday
Last Repository CommitThe most recent commit or push recorded for this server's GitHub repository.Last commit on Aug 10, 2026
41Quality signal: Fair ยท 41/100How this signal is calculated โ–พ
Server availabilityNot measured

Not scored for repo-hosted servers โ€” we can't reach the running server, only its GitHub page. Hosted MCP endpoints are health-checked live.

Verified ownership10/20
Documentation & tools15/30
Adoption & activity6/15
Community engagement0/10

A guidance signal from public completeness & health data โ€” not a user rating. New listings start lower and rise as they add docs, get verified, and grow adoption. Signals we can't observe for a listing are skipped, not counted against it.

โ˜… Spotlight Slot

Feature Your MCP Server

Get maximum visibility for your server across our directory, search results, and detail pages.

Spotlight Your Server

Own this project?

This directory is pre-filled from public sources. Claim via GitHub README, site badge, or DNS TXT to get the verified badge and attach your website.

Free dofollow backlink: after claiming, verify your product site and place a dofollow AllMCPs badge โ€” we recheck it stays live.

Claim & get free dofollow

Share & Embed

Add our SVG badge (dark/light directory styles) or embeddable widget to your site.

Explore more

More in ๐Ÿ”ฌ Research โ†’Best MCP servers for Research โ†’Alternatives to Source Library โ†’Install in Claude DesktopInstall in CursorInstall in VS Code