AugustoFiorella/material-rag
RAG service para documentación de Material Design 3 y Material Web. Corre local, expone una API REST y un servidor MCP para que Claude Code consulte la documentación automáticamente al generar componentes UI.
Platform-specific configuration:
{
"mcpServers": {
"material-rag": {
"command": "npx",
"args": [
"-y",
"material-rag"
]
}
}
}Add the config above to .claude/settings.json under the mcpServers key.
RAG service para documentación de Material Design 3 y Material Web. Corre local, expone una API REST y un servidor MCP para que Claude Code consulte la documentación automáticamente al generar componentes UI.
---
Indexa la documentación oficial de Material Design 3 y Material Web en una base de datos vectorial (ChromaDB) y la expone de dos formas:
---
| Capa | Tecnología | |------|-----------| | Vector DB | ChromaDB (persistente en disco) | | Embeddings | sentence-transformers all-MiniLM-L6-v2 | | Scraping | Playwright (headless Chromium) | | API | FastAPI + Uvicorn | | MCP | Python MCP SDK |
---
material-rag/
├── ingest.py # Pipeline de scraping + embeddings → ChromaDB
├── server.py # FastAPI REST API (puerto 8000)
├── mcp_server.py # MCP Server para Claude Code
├── config.py # Configuración centralizada
└── chroma_db/ # Base de datos vectorial (generada por ingest.py)---
# Clonar el repo
git clone https://github.com/AugustoFiorella/material-rag.git
cd material-rag
# Crear entorno virtual
python -m venv entorno-rag
entorno-rag\Scripts\activate # Windows
# source entorno-rag/bin/activate # Mac/Linux
# Instalar dependencias
pip install chromadb sentence-transformers fastapi uvicorn playwright requests beautifulsoup4 mcp
# Instalar browser para Playwright
python -m playwright install chromiumPaso 1 — Indexar la documentación (una sola vez, o cuando querés actualizar)
python ingest.pyEsto scrapea las URLs configuradas, genera embeddings y persiste todo en ./chroma_db.
Paso 2 — Levantar el servidor REST
python server.pyEl servidor queda corriendo en `
Loading reviews...