How chouikh-ghassen/enterprise-mcp-rag works
This repository provides a Confluence-backed enterprise knowledge assistant and warranty-support tools. The main user flow is an employee query in Open WebUI, model-directed tool calls to the FastMCP API, semantic retrieval from ChromaDB, and a grounded response. Separate tools check warranty coverage, estimate repair costs, locate workshops, retrieve documents, and assemble claim reports. Ingestion is a distinct flow from Confluence through chunking and Ollama embeddings into ChromaDB. The ingestion workflow’s details come from the README; its JSON source was not sampled.
Main entry points: server.py FastAPI / FastMCP · ingest_from_real_confluence.py Confluence ingestion · ingest.py Markdown ingestion · retriever.py Semantic retriever
Components 18
Assistant experience
- Open WebUI
MCP tools
- FastAPI / FastMCP
mcp-server/server.py - Knowledge search
mcp-server/server.py - Document retrieval
mcp-server/server.py - Coverage check
mcp-server/server.py - Repair estimate
mcp-server/server.py - Workshop lookup
mcp-server/server.py - Claim report
mcp-server/server.py
Knowledge ingestion and retrieval
- Semantic retriever
mcp-server/rag/retriever.py - Local documents
confluence-data - Markdown ingestion
mcp-server/rag/ingest.py - Confluence ingestion
mcp-server/ingest_from_real_confluence.py - n8n ingestion workflow
n8n-workflows/document_ingestion.json
Local AI and data services
- Ollama chat model
- Ollama embeddings
- ChromaDB collection
Other components
- Employee
- Confluence Cloud
Connections 29
- Employee → Open WebUI: submits query
- Open WebUI → Ollama chat model: sends prompt
- Ollama chat model → FastAPI / FastMCP: invokes tools
- FastAPI / FastMCP → Knowledge search: dispatches
- FastAPI / FastMCP → Document retrieval: dispatches
- FastAPI / FastMCP → Coverage check: dispatches
- FastAPI / FastMCP → Repair estimate: dispatches
- FastAPI / FastMCP → Workshop lookup: dispatches
- FastAPI / FastMCP → Claim report: dispatches
- Knowledge search → Semantic retriever: searches
- Document retrieval → Knowledge search: searches
- Coverage check → Knowledge search: searches
- Repair estimate → Knowledge search: searches
- Workshop lookup → Knowledge search: searches
- Claim report → Coverage check: checks coverage
- Claim report → Repair estimate: estimates cost
- Claim report → Workshop lookup: finds workshop
- Semantic retriever → Ollama embeddings: embeds query
- Semantic retriever → ChromaDB collection: queries vectors
- Markdown ingestion → Local documents: reads Markdown
- Markdown ingestion → Ollama embeddings: embeds chunks
- Markdown ingestion → ChromaDB collection: upserts chunks
- n8n ingestion workflow → Confluence Cloud: fetches pages
- n8n ingestion workflow → FastAPI / FastMCP: triggers ingestion
- FastAPI / FastMCP → Confluence ingestion: calls ingestion
- Confluence ingestion → Confluence Cloud: fetches pages
- Confluence ingestion → Ollama embeddings: embeds chunks
- Confluence ingestion → ChromaDB collection: upserts chunks
- Ollama chat model → Open WebUI: returns response