Interact with your own MongoDB data through a conversational interface powered by Semantic Kernel. This portfolio-ready project pairs an ASP.NET Core backend with a React frontend to deliver read-only analytics, table views, and charts generated by an LLM.
- Connect to any MongoDB instance via connection string (locally stored per session).
- Chat with an LLM that can call vetted functions for schema discovery and query execution.
- Built-in Semantic Kernel plugin for MongoDB collection introspection and safe aggregation.
- Render tabular results and data visualizations based on query outputs.
- Enforced read-only access with guardrails for safe tool execution.
- Modular architecture ready for future providers or databases.
.
├── backend/ # ASP.NET Core minimal API + Semantic Kernel plugins
├── frontend/ # React (Vite + TypeScript) UI
├── README.md # Project overview and setup guide
└── .gitignore
- Backend: .NET 8, ASP.NET Core Minimal APIs, Microsoft Semantic Kernel, MongoDB Driver
- Frontend: React, Vite, TypeScript, TailwindCSS (planned), recharts
- LLM Providers: Azure OpenAI (default) with Semantic Kernel abstraction for other providers
- Clone the repository and install prerequisites:
- .NET 8 SDK
- Node.js 20+
- Backend setup:
- Restore dependencies with
dotnet build. - Configure
appsettings.*or user secrets with LLM provider keys and defaults.
- Restore dependencies with
- Frontend setup:
- Use Node.js 20.19+ or 22.12+ (Vite 7 requirement).
cd frontend && npm install- Copy
.env.exampleto.env.local(optional) and setVITE_API_BASE_URL. npm run devto start the UI on port 5173.
- Launch both projects and visit the frontend to start chatting with your database.
Detailed backend/frontend instructions will be added as the implementation progresses.
- Bootstrap backend services with Semantic Kernel integration.
- Implement MongoDB tool plugins and query safety checks.
- Build chat orchestration and streaming response handling.
- Create frontend chat UI with chart/table rendering.
- Document deployment options (Azure App Service, Vercel, etc.).
Suggestions and pull requests are welcome. Please open an issue to discuss major changes before submitting a PR.
MIT