Source Library
Busca y cita más de 500 textos históricos traducidos (alquimia, hermetismo, Renacimiento) con citas académicas respaldadas por DOI. Accede a manuscritos raros en latín y alemán de los siglos XV al XVIII.
Documentación
Servidor MCP de Source Library
Busca, lee y cita más de 22,000 textos premodernos raros (alquimia, Hermetica, Cábala, teología, ciencia temprana) con traducciones al inglés generadas por IA. 12 herramientas (búsqueda de texto completo y semántica, lectura, citas exactas, búsqueda de imágenes, detección de duplicados, comentarios, compartir hallazgos). CLI + servidor MCP, no se necesita clave API.
Inicio rápido
Claude Code
claude mcp add source-library -- npx -y @source-library/mcp-server
Claude Desktop
Agrégalo a tu configuración de Claude Desktop:
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"
Desde el código fuente
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
12 Herramientas
Búsqueda y descubrimiento
search_library
Búsqueda de texto completo en libros y contenido de páginas. Devuelve libros y páginas coincidentes con URL de cita.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
query | string | Sí | Consulta de búsqueda |
language | string | No | Filtro: latín, alemán, griego, sánscrito, etc. |
year_from | number | No | Año de publicación inicial |
year_to | number | No | Año de publicación final |
has_doi | boolean | No | Solo libros con DOI |
has_translation | boolean | No | Solo libros traducidos |
sort | string | No | relevancia, fecha_asc, fecha_desc, título |
limit | number | No | Máximo de resultados (predeterminado 10, máximo 100) |
search_translations
Busca dentro del texto traducido en toda la biblioteca. Encuentra lo que los autores históricos escribieron sobre cualquier tema. Devuelve fragmentos de pasajes con números de página, información del libro y URL de cita.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
query | string | Sí | Buscar dentro del texto de la página |
language | string | No | Filtrar por idioma original del libro |
year_from | number | No | Año de publicación inicial |
year_to | number | No | Año de publicación final |
book_id | string | No | Buscar solo dentro de un libro específico |
limit | number | No | Máximo de resultados (predeterminado 20, máximo 50) |
search_concept
Búsqueda semántica de pasajes mediante embeddings de Gemini. Encuentra pasajes conceptualmente relacionados incluso cuando el término moderno no aparece literalmente — p. ej., "cognición distribuida" se asigna a pasajes sobre el intelecto activo, el arte de la memoria, metáforas de la tablilla de cera. Prefiere search_translations para frases literales; usa search_concept cuando el concepto importa más que la redacción.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
query | string | Sí | Concepto o descripción en lenguaje natural |
language | string | No | Filtrar por idioma original (establecer explícitamente para mostrar textos no latinos/alemanes) |
year_from | number | No | Año de publicación inicial |
year_to | number | No | Año de publicación final |
limit | number | No | Máximo de pasajes (predeterminado 15, máximo 50) |
search_within_book
Busca dentro de las páginas de un libro específico. Devuelve páginas coincidentes con fragmentos y URL de cita.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
book_id | string | Sí | El ID del libro en el que buscar |
query | string | Sí | Consulta de búsqueda |
list_books
Explora la colección con filtros. Devuelve título, autor, idioma, año y progreso de traducción.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
search | string | No | Filtrar por título/autor (insensible a diacríticos) |
language | string | No | Filtrar por idioma |
category | string | No | Filtrar por categoría |
sort | string | No | traducción-reciente, reciente, título-asc, título-desc |
limit | number | No | Máximo de resultados (predeterminado 100, máximo 200) |
Lectura
get_book
Metadatos detallados del libro: resumen, estadísticas del índice, capítulos, información de la edición, DOI.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
book_id | string | Sí | ID del libro |
get_book_text
Lee un libro. Prefiere chapter para lectura capítulo por capítulo; recurre a rangos de páginas from/to. Cada respuesta incluye un indicador truncated con un truncation_note que da los siguientes valores de from/to cuando el contenido se cortó por el límite de presupuesto de páginas — los agentes deben verificar truncated en lugar de inferir el final del libro a partir de pages_returned.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
book_id | string | Sí | ID del libro |
chapter | number | No | Índice del capítulo (basado en 0); preferido sobre desde/hasta |
part | number | No | Número de parte (basado en 1) para capítulos divididos en partes |
content | string | No | ocr, traducción o ambos (predeterminado) |
from | number | No | Página inicial (inclusive) |
to | number | No | Página final (inclusive) |
format | string | No | json (estructurado) o plain (texto concatenado) |
include_metadata | boolean | No | Incluir metadatos a nivel de página (modelo, idioma, etc.) |
get_quote
Obtén el texto traducido exacto de una sola página para citar. Devuelve la traducción textual, el OCR original y una cita formateada. El titular de la respuesta es citation_link — el enlace corto estable sourcelibrary.org/q/… para presentar junto con la cita y su número de página. Úsalo siempre antes de poner texto entre comillas — nunca parafrasees de memoria. Renderizado sugerido: > [quote] luego — [Author], p. [N]. [citation_link].
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
book_id | string | Sí | ID del libro o slug |
page | number | Sí | Número de página para citar |
Galería
search_images
Busca en la colección visual: más de 50,000 ilustraciones extraídas de páginas de libros MÁS más de 23,000 obras de arte independientes (pinturas, frescos, grabados, esculturas del Met, Rijksmuseum, Wikimedia, NGA). Cada resultado tiene un campo source: gallery (ilustración de libro) o artwork (obra independiente).
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
query | string | No | Búsqueda de texto en descripciones, temas, figuras, artistas |
source | string | No | all (predeterminado), gallery o artworks |
type | string | No | xilografía, grabado, emblema, diagrama, pintura, fresco, etc. |
subject | string | No | Tema (alquimia, astronomía, anatomía) |
figure | string | No | Figura representada (Mercurio, filósofo, rey) |
symbol | string | No | Símbolo (ouroboros, caduceo, sol) |
year_from | number | No | Año de publicación inicial |
year_to | number | No | Año de publicación final |
book_id | string | No | Solo imágenes de un libro específico o ID de obra de arte |
min_quality | number | No | Puntuación mínima de calidad de galería 0-1 (predeterminado 0.5) |
limit | number | No | Máximo de resultados (predeterminado 20, máximo 50) |
Curación
check_duplicate
Comprueba si un libro ya existe en Source Library antes de importarlo. Utiliza coincidencia de 4 niveles (huella de fuente, normalización de título+autor, búsqueda de palabras clave, similitud semántica) y devuelve un nivel de confianza + sugerencia. Úsalo antes de cada importación para evitar duplicados.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
title | string | Sí | Título del libro (original o en inglés) |
author | string | No | Nombre del autor (cualquier formato) |
year | string | No | Año de publicación (contexto opcional) |
language | string | No | Indicación de idioma para búsqueda semántica |
ia_id | string | No | Identificador de Internet Archive (coincidencia exacta de huella) |
manifest | string | No | URL del manifiesto IIIF (coincidencia exacta de huella) |
Comentarios
submit_feedback
Envía comentarios, informes de errores o solicitudes de funciones directamente al equipo de Source Library.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
message | string | Sí | Tus comentarios (2-5000 caracteres) |
name | string | No | Tu nombre |
email | string | No | Correo electrónico para seguimiento |
page | string | No | URL de la página relacionada |
share_findings
Comparte un dossier de investigación con el equipo de Source Library — un título, un resumen opcional y una lista ordenada de citas ({ book_id, page, note }, referencias, no texto copiado). Al igual que submit_feedback, se envía al equipo para revisión.
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
title | string | Sí | Título del dossier / tesis (2-300 caracteres) |
summary | string | No | Prosa que resume el argumento (máximo 5000 caracteres) |
citations | array | Sí | Pasajes { book_id, page, note } ordenados (1-50) |
name | string | No | Tu nombre |
email | string | No | Correo electrónico para seguimiento |
CLI
La mayoría de las herramientas también están disponibles como CLI independiente con salida de terminal en color. (search_concept y check_duplicate son solo MCP por ahora).
# 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
Ejemplos de indicaciones de investigación
"Busca referencias a 'prima materia' en toda la colección. ¿Qué autores la discuten y en qué se diferencian sus tratamientos?"
"Lee la traducción completa de History of Both Worlds de Fludd, páginas 1-50. Resume el marco cosmológico."
"Encuentra todos los emblemas alquímicos que representen el ouroboros. ¿De qué textos provienen?"
"¿Qué dice Copérnico sobre la centralidad del Sol en De Revolutionibus? Encuentra los pasajes clave con URL de cita."
URL de cita
Cada página devuelta por las herramientas incluye una URL de cita:
https://sourcelibrary.org/book/fludd-utriusque?page=57
Las ediciones publicadas incluyen DOIs emitidos a través de Zenodo.
Desarrollo
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
Licencia
MIT
Enlaces
- Sitio web: sourcelibrary.org
- Desarrolladores: sourcelibrary.org/developers
- GitHub: Embassy-of-the-Free-Mind/sourcelibrary-v2