--- title: RAG Books MCP v2 (ESL + ISLP) emoji: 📖 colorFrom: indigo colorTo: purple sdk: gradio sdk_version: 5.50.0 app_file: app.py pinned: false license: apache-2.0 short_description: MCP v2 RAG ESL+ISLP. ChromaDB desde dataset HF. tags: - mcp-server-track - rag - statistical-learning - chromadb --- # 📖 RAG Books MCP v2 — ESL + ISLP Igual que v1 en funcionalidad, distinto en arquitectura: - **v1:** la base ChromaDB se empaqueta en el Space. - **v2:** la base ChromaDB se carga del dataset HF [`gusdelact/rag-esl-islp-chromadb`](https://huggingface.co/datasets/gusdelact/rag-esl-islp-chromadb) vía `snapshot_download`. La primera tool call descarga ~40 MB; las siguientes son cache hit. ## Endpoint MCP ``` https://-.hf.space/gradio_api/mcp/ ``` ## Conexión desde un cliente MCP ```jsonc { "mcpServers": { "rag-books-mcp-v2": { "command": "npx", "args": [ "-y", "mcp-remote", "https://-.hf.space/gradio_api/mcp/" ] } } } ``` ## Variables de entorno reconocidas | Variable | Default | Descripción | |---|---|---| | `RAG_CHROMA_DATASET` | `gusdelact/rag-esl-islp-chromadb` | Repo del dataset con la base ChromaDB. | | `RAG_CHROMA_REVISION` | `main` | Revision (branch/tag/commit) a descargar. | | `RAG_CHROMA_CACHE_DIR` | `/data/chroma_db` (si existe `/data`) o `~/.cache/...` | Cache local de la descarga. | | `RAG_CHROMA_DIR` | — | Si está set y la carpeta existe, omite el download. | | `HF_TOKEN` | — | Solo si el dataset es privado. | ## Tools | Tool | Descripción | |------|-------------| | `search_theory(query, book, top_k)` | Búsqueda semántica en ambos libros. | | `get_section(book, chapter, section, max_chunks)` | Sección específica por referencia. | | `cite_foundation(topic, detail_level)` | Fundamentación citando ambos libros. | | `list_available_topics()` | Lista capítulos y secciones indexados. | ## Stack - **Embeddings:** `sentence-transformers/all-MiniLM-L6-v2` (local, sin API key). - **Vector store:** ChromaDB descargado de HF Hub. - **UI / MCP:** Gradio con `mcp_server=True`.