Real MCP Protocol based HR chatbot using Groq LLM, FastAPI, and Streamlit.
AI HR Leave Management Chatbot
Real MCP Protocol + Groq LLM + FastAPI + Streamlit A real MCP (Model Context Protocol) based HR chatbot using Groq LLM + FastAPI + Streamlit.
Architecture
User → Streamlit → FastAPI → Groq LLM → MCP Client → MCP Server → Tools
Tech Stack
- MCP SDK — Real stdio transport protocol
- Groq LLM — llama-3.3-70b-versatile
- FastAPI — Backend REST API
- Streamlit — Frontend UI
Project Structure
mcp_chatbot/
├── .env
├── requirements.txt
├── mcp_server/server.py ← MCP Tools
├── backend/agent.py ← MCP Client + Groq
├── backend/app.py ← FastAPI
├── frontend/app.py ← Streamlit UI
└── utils/config.py
Setup
1. Install dependencies
pip install -r requirements.txt
2. Configure `.env`
GROQ_API_KEY=your_groq_api_key_here
GROQ_MODEL=llama-3.3-70b-versatile
FASTAPI_HOST=127.0.0.1
FASTAPI_PORT=8000
3. Run Backend
python backend/app.py
4. Run Frontend
streamlit run frontend/app.py
MCP Tools
| Tool | Description |
|---|---|
apply_leave |
Apply leave request |
check_leave_balance |
Check remaining leaves |
get_leave_history |
Past leave records |
cancel_leave |
Cancel last leave |
get_holidays |
Upcoming holidays |
get_employee_info |
Employee details |
Step 4 — Initialize and push bashgit init git add . git commit -m "Initial commit - AI HR MCP Chatbot" git branch -M main git remote add origin https://github.com/anjalimahapatra2004/mcp_tool.git git push -u origin main
Tools (6)
apply_leaveApply leave requestcheck_leave_balanceCheck remaining leavesget_leave_historyPast leave recordscancel_leaveCancel last leaveget_holidaysUpcoming holidaysget_employee_infoEmployee detailsEnvironment Variables
GROQ_API_KEYrequiredAPI key for Groq LLM accessGROQ_MODELrequiredThe Groq model to use (e.g., llama-3.3-70b-versatile)FASTAPI_HOSTHost address for the backend serverFASTAPI_PORTPort for the backend serverConfiguration
{"mcpServers": {"hr-leave": {"command": "python", "args": ["path/to/mcp_server/server.py"]}}}