Alexandria
Búsqueda semántica en más de 4.6 millones de fragmentos de texto de más de 20,000 obras clásicas de filosofía y humanidades: Platón, Aristóteles, Kant, Nietzsche y miles más. Multilingüe (griego, latín, alemán, francés, inglés). Sin necesidad de instalación.
Documentación
Servidor MCP Alexandria
Búsqueda semántica sobre 4.6 millones de fragmentos de texto de más de 20,000 obras clásicas de filosofía y humanidades. Construido para agentes de IA usando FastMCP sobre HTTP.
Qué hay en la colección
Todos los textos son de dominio público (anteriores a 1928), obtenidos de Internet Archive (colecciones americana, europeanlibraries, gutenberg).
- Filosofía: Aristóteles, Platón, Kant, Hegel, Nietzsche, Schopenhauer, Descartes, Spinoza, Locke, Hume, Mill, Wittgenstein, Aquino, Agustín, Leibniz, Rousseau, Voltaire, Marx, y cientos más
- Temas: Ética, metafísica, epistemología, lógica, filosofía política, teología, estoicismo, neoplatonismo, existencialismo, historia de las ideas
- Idiomas: Inglés, alemán, latín, francés, italiano, griego, ruso
Conexión al servidor
Remoto (alojado):
claude mcp add --transport http alexandria https://alexandria.aidatanorge.no/mcp
Mediante configuración MCP:
{
"mcpServers": {
"alexandria": {
"type": "http",
"url": "https://alexandria.aidatanorge.no/mcp"
}
}
}
Herramientas
search_texts
Busca en la colección usando lenguaje natural. Utiliza recuperación híbrida densa+dispersa con reordenamiento mediante cross-encoder.
| Parámetro | Tipo | Descripción |
|---|---|---|
query | string | Lo que estás buscando |
author | string | Filtro opcional por autor/creador, p. ej. Kant, Nietzsche, Plato |
language | string | Filtro de idioma opcional: eng, ger, lat, fre, ita, gre, rus |
limit | int | Número de resultados (por defecto 5, máximo 20) |
Consultas de ejemplo:
"Nietzsche will to power eternal recurrence""Kantian categorical imperative duty""Platonic theory of forms and the Good""Stoic virtue and the sage""Hegel dialectics spirit history"
Cada resultado incluye: title, creator, date, language, subject, text (fragmento), rerank_score, vector_score.
Ejemplo con curl:
curl -X POST https://alexandria.aidatanorge.no/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_texts",
"arguments": {
"query": "Kantian categorical imperative duty ethics",
"author": "Kant",
"limit": 3
}
}
}'
get_book_list
Lista los libros de la colección filtrados por autor, tema o idioma.
| Parámetro | Tipo | Descripción |
|---|---|---|
author | string | Filtrar por autor/creador, p. ej. Kant, Plato |
subject | string | Filtrar por palabra clave de tema, p. ej. ethics, logic |
language | string | Filtrar por código de idioma: eng, ger, lat, fre, ita, gre, rus |
limit | int | Máximo de libros a devolver (por defecto 20, máximo 100) |
Ejemplo con curl:
curl -X POST https://alexandria.aidatanorge.no/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "get_book_list",
"arguments": {"author": "Plato", "language": "eng"}
}
}'
ping
Prueba de conectividad.
Indicaciones
philosopher_analysis(philosopher)— inmersión profunda en las ideas clave de un filósofotopic_exploration(topic)— explora un tema a través de múltiples pensadorescompare_philosophers(philosopher_a, philosopher_b, topic)— compara dos filósofos sobre un tema específico
Arquitectura
Archive.org (13,000+ books)
↓
Text extraction + chunking
↓
Qdrant (4.6M vectors)
↓
Hybrid search: intfloat/multilingual-e5-large (dense) + Qdrant/bm25 (sparse)
↓
Cross-encoder reranking: mmarco-mMiniLMv2-L12-H384-v1
↓
FastMCP 3.2 over HTTP
Autoalojamiento
Requiere una instancia de Qdrant en ejecución con la colección alexandria poblada.
pip install -r requirements.txt
python alexandria_mcp_server.py
# Server starts at http://localhost:8005/mcp
Variables de entorno (opcional):
QDRANT_HOST=localhost
QDRANT_PORT=6333
MCP_PORT=8005
Licencia
MIT