Alexandria

Pesquisa semântica em mais de 4,6 milhões de trechos de texto de mais de 20.000 obras clássicas de filosofia e humanidades — Platão, Aristóteles, Kant, Nietzsche e milhares mais. Multilíngue (grego, latim, alemão, francês, inglês). Sem necessidade de instalação.

Documentação

Servidor MCP Alexandria

Available on CodeGuilds

Busca semântica em 4,6 milhões de fragmentos de texto de mais de 20.000 obras clássicas de filosofia e humanidades. Construído para agentes de IA usando FastMCP via HTTP.

O que há na coleção

Todos os textos são de domínio público (anteriores a 1928), provenientes do Internet Archive (coleções americana, bibliotecas europeias e gutenberg).

  • Filosofia: Aristóteles, Platão, Kant, Hegel, Nietzsche, Schopenhauer, Descartes, Spinoza, Locke, Hume, Mill, Wittgenstein, Aquino, Agostinho, Leibniz, Rousseau, Voltaire, Marx e centenas de outros
  • Tópicos: Ética, metafísica, epistemologia, lógica, filosofia política, teologia, estoicismo, neoplatonismo, existencialismo, história das ideias
  • Idiomas: Inglês, alemão, latim, francês, italiano, grego, russo

Conectando-se ao servidor

Remoto (hospedado):

claude mcp add --transport http alexandria https://alexandria.aidatanorge.no/mcp

Via configuração MCP:

{
  "mcpServers": {
    "alexandria": {
      "type": "http",
      "url": "https://alexandria.aidatanorge.no/mcp"
    }
  }
}

Ferramentas

search_texts

Busque na coleção usando linguagem natural. Usa recuperação híbrida densa+esparsa com reclassificação por cross-encoder.

ParâmetroTipoDescrição
querystringO que você está procurando
authorstringFiltro opcional por autor/criador, ex.: Kant, Nietzsche, Plato
languagestringFiltro opcional por idioma: eng, ger, lat, fre, ita, gre, rus
limitintNúmero de resultados (padrão 5, máximo 20)

Exemplos de consultas:

  • "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 inclui: title, creator, date, language, subject, text (fragmento), rerank_score, vector_score.

Exemplo com 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 livros da coleção filtrados por autor, assunto ou idioma.

ParâmetroTipoDescrição
authorstringFiltro por autor/criador, ex.: Kant, Plato
subjectstringFiltro por palavra-chave de assunto, ex.: ethics, logic
languagestringFiltro por código de idioma: eng, ger, lat, fre, ita, gre, rus
limitintMáximo de livros a retornar (padrão 20, máximo 100)

Exemplo com 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

Teste de conectividade.

Prompts

  • philosopher_analysis(philosopher) — mergulho profundo nas ideias-chave de um filósofo
  • topic_exploration(topic) — explore um tópico entre vários pensadores
  • compare_philosophers(philosopher_a, philosopher_b, topic) — compare dois filósofos sobre um tópico específico

Arquitetura

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

Auto-hospedagem

Requer uma instância Qdrant em execução com a coleção alexandria populada.

pip install -r requirements.txt
python alexandria_mcp_server.py
# Server starts at http://localhost:8005/mcp

Variáveis de ambiente (opcionais):

QDRANT_HOST=localhost
QDRANT_PORT=6333
MCP_PORT=8005

Licença

MIT