How enowdev/enowx-rag works
enowx-rag is a per-project RAG memory server: agents index project context and retrieve it later, using MCP locally or through an HTTP daemon. The HTTP mode also provides a REST API, setup and migration workflows, live events, and an embedded dashboard. The graph reflects the documented capabilities and sampled call paths; some internal wiring for unsampled subsystems is not shown.
Main entry points: service.go RAG service · handlers.go API handlers · provider.go RAG provider · qdrant.go Vector store adapters
Components 24
Agent and UI interfaces
- MCP tools
mcp-server/cmd/mcp-server/main.go - HTTP API
mcp-server/pkg/httpapi/server.go - API handlers
mcp-server/pkg/httpapi/handlers.go - Dashboard
mcp-server/web/src/App.tsx - Dashboard API client
mcp-server/web/src/lib/api.ts
Index and retrieval
- RAG service
mcp-server/pkg/core/service.go - Project indexer
mcp-server/pkg/indexer/indexer.go
Embedding and storage
- Provider builder
mcp-server/pkg/ragbuild/ragbuild.go - RAG provider
mcp-server/pkg/rag/provider.go - Reranking
mcp-server/pkg/rag/rerank.go - Embedding clients
mcp-server/pkg/rag/tei.go - Vector store adapters
mcp-server/pkg/rag/qdrant.go
Setup and migration
- Setup workflow
mcp-server/pkg/httpapi/setup.go - MCP client setup
mcp-server/pkg/httpapi/mcpclients.go - Store migration
mcp-server/pkg/migrate/migrate.go - Cloud connectors
mcp-server/pkg/migrate/cloud/connectors.go
Events and metrics
- Event bus
mcp-server/pkg/core/service.go - SSE stream
mcp-server/pkg/httpapi/sse.go - Metrics service
mcp-server/pkg/core/metrics.go - SQLite metrics store
mcp-server/pkg/core/sqlite_metrics.go
Other components
- AI agent
- Browser user
- Vector database
- Embedding service
Connections 28
- AI agent → MCP tools: calls tools
- AI agent → HTTP API: connects remotely
- MCP tools → RAG service: invokes operations
- Browser user → Dashboard: uses
- Dashboard → Dashboard API client: requests data
- Dashboard API client → HTTP API: calls REST API
- HTTP API → API handlers: dispatches routes
- API handlers → RAG service: invokes operations
- RAG service → Project indexer: indexes directories
- Project indexer → RAG provider: writes documents
- RAG service → RAG provider: searches and manages
- RAG service → Reranking: reranks results
- Provider builder → Embedding clients: builds client
- Provider builder → Vector store adapters: builds adapter
- Vector store adapters → RAG provider: implements
- RAG provider → Embedding clients: embeds text
- Vector store adapters → Vector database: reads and writes
- Embedding clients → Embedding service: requests embeddings
- API handlers → Setup workflow: handles setup
- Setup workflow → MCP client setup: installs client config
- API handlers → Store migration: starts migration
- Store migration → Provider builder: builds destination
- Store migration → Cloud connectors: uses connectors
- RAG service → Event bus: publishes events
- API handlers → SSE stream: serves event stream
- SSE stream → Event bus: subscribes
- RAG service → Metrics service: records query metrics
- Metrics service → SQLite metrics store: persists metrics