Skip to main content
Glama

glowfic-rag

Búsqueda semántica sobre el contenido de glowfic.com, expuesta como un servidor MCP para Claude Code y Cursor.

Utiliza embeddings GTE-Large almacenados en ChromaDB. El índice preconstruido cubre aproximadamente 658 mil publicaciones de:

  • planecrash (tablero 215) — 19 mil publicaciones, 28 hilos

  • Sandboxes (tablero 3) — 639 mil publicaciones, 2.214 hilos

  • trainwreck (tablero 277) — 595 publicaciones, 7 hilos

La obtención de la estructura del tablero (src/render.py, src/auth.py) deriva de rocurley/glowfic-dl por Roger Curley y Alyssa Riceman.

Inicio rápido

Requiere Python 3.10+ (el paquete mcp lo necesita).

git clone https://github.com/keenanpepper/glowfic-rag.git
cd glowfic-rag

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

# Download the pre-built vector database (~2GB compressed, ~5GB on disk)
./setup_data.sh

Related MCP server: MCP Codebase RAG Server

Uso con Claude Code

El repositorio incluye .mcp.json, que Claude Code detecta automáticamente. Desde el directorio del repositorio:

claude

Claude tendrá acceso a las herramientas search_glowfic y list_indexed_continuities.

Uso con Cursor

Crea .cursor/mcp.json con la ruta absoluta a tu clon:

{
  "mcpServers": {
    "glowfic-search": {
      "command": "/path/to/glowfic-rag/.venv/bin/python3",
      "args": ["-m", "rag.mcp_server"],
      "cwd": "/path/to/glowfic-rag"
    }
  }
}

Luego recarga la ventana de Cursor.

Búsqueda por CLI

También puedes buscar desde la línea de comandos:

python -m rag.search "Keltham explains expected utility" -k 5
python -m rag.search "vampire meets werewolf" --continuity Sandboxes
python -m rag.search "dath ilan" --author Iarwain

Añadir más continuidades

Extrae un tablero a JSONL y luego añádelo al índice:

# Scrape (supports --resume for interrupted runs)
python -m rag.scrape https://glowfic.com/boards/277

# Index (adds to existing collection, doesn't rebuild)
python -m rag.index data/trainwreck.jsonl

# Or reindex everything from scratch
python -m rag.index --reset

El extractor gestiona la paginación para tableros grandes y reintenta automáticamente las solicitudes limitadas.

Notas de rendimiento

  • Primera consulta: ~10 segundos (carga del modelo + calentamiento del índice)

  • Consultas posteriores: < 1 segundo

  • Memoria: ~3-5 GB cuando el modelo + el índice están cargados

  • Disco: ~5 GB para el índice de ChromaDB

Related MCP Connectors

Related MCP Servers