MCP-Based Enterprise Knowledge Search Assistant
by Devidas-07
README.md
# MCP-Based Enterprise Knowledge Search Assistant
This repository contains a proof-of-concept implementation of an enterprise knowledge assistant that compares a traditional RAG-style experience with an MCP-driven retrieval flow.
## Architecture
- Frontend: Claude Desktop style chat experience
- Backend: FastAPI + Python 3.12
- Retrieval: Elasticsearch-style hybrid search abstraction with BM25 + dense vector similarity
- LLM: Ollama with gemma3:latest
- MCP: Custom Python MCP-style tool server exposing domain-specific retrieval tools
## Key features
- Question routing to the correct MCP tool
- Hybrid retrieval with ranked chunks and source citations
- Ollama integration for answer generation
- Evaluation metrics logging to JSON
- Docker Compose support for local development
## Running locally
1. Install dependencies:
- `pip install -e .`
2. Start Ollama and ensure `gemma3:latest` is available.
3. Start the API:
- `uvicorn app.core.app:app --reload`
4. Call the chat endpoint:
- `POST /chat` with `{ "question": "What is the maternity leave policy?" }`
## Sample questions
- What is the maternity leave policy?
- How do I submit a travel reimbursement request?
- What are the annual appraisal guidelines?
- What should I do for a security incident?
## Evaluation
Run the evaluation helper to write a metrics record:
```python
from app.services.evaluation import EvaluationService
service = EvaluationService()
print(service.compare("What is the maternity leave policy?"))
```
This server cannot be deployed
Maintenance
ActivitySlowing
ResponsivenessNo issues