loading…
Search for a command to run...
loading…
An MCP server that provides tools to search for study questions and answers from a knowledge base, enabling exam preparation through random questions and guided
An MCP server that provides tools to search for study questions and answers from a knowledge base, enabling exam preparation through random questions and guided learning.
An AI agent that assists students preparing for any exam or test, such as Linux Foundation (LF) certifications. The agent serves as an intelligent study companion leveraging Large Language Models (LLMs) and MCP servers to provide an engaging and interactive learning experience. The agent supports:
It consists of two major components.
Live demo: http://k8s.cardea.cc/
Video demo: https://x.com/realwasmedge/status/1964435649534316809
https://github.com/cardea-mcp/ExamPrepAgent.git
pip install fastmcp fastapi requests mysql-connector-python ffmpeg
.env file from the .env.example file and fill in the required values.You will need API endpoints for an LLM service, and the system prompt for the conversation management. If you want to use the voice features on the chatbot app, you will also need API endpoints for ASR and TTS services. You can run LLM, ASR, and TTS services using open-source models locally on your own computers via LlamaEdge.
First download a CSV file for the QA knowledge base. The CSV file contains 3 columns: the question, the answer, and an explanation of the answer. The CSV file must be saved as dataset/qa.csv.
cd dataset
curl -L -o qa.csv https://huggingface.co/datasets/ItshMoh/k8_qa_pairs/resolve/main/kubernetes_qa_output.csv
Run the script to load the CSV file into a database. The database connection URL and table name are configured in the .env file.
python csv_loader.py
python3 main.py
python3 app.py
ScreenShots of the bot in action

We have created two datasets for the QA knowledge base for you to experiment with. The Kubernetes QA is the default dataset used in our scripts.
Kubernetes-Q&A - A collection of Q&A pairs focused on Kubernetes and cloud native concepts. It is uploaded to my hugging face id. here is the link to the dataset. https://huggingface.co/datasets/ItshMoh/k8_qa_pairs . It contains 445 Q&A pairs. It is made for KCNA exam. Contents are taken from the kubernetes.io licensed under CC BY 4.0
Metal-mining-Q&A - A collection of Q&A pairs focused on metal mining methods. The link to the dataset https://huggingface.co/datasets/ItshMoh/metal-mining-qa-pairs . It has also more than 31 downloads on hugging face.
app.py
app.py: Direct API integration architecture
llm_api.py - FastAPI Integration (Direct)
main.py - MCP Server
database/tidb.py - TiDB Integration
get_question_and_answer() MCP function.get_random_question() MCP function.└── ExamPrepAgent/
├── README.md
├── app.py
├── llm_api.py
├── llmclient.py
├── load_dataset.py
├── main.py
├── requirements.txt
├── setup_dataset.sh
├── .env.example
├── audio_processing/
│ ├── audio_utils.py
│ ├── tts_handler.py
│ └── whisper_handler.py
├── database/
│ ├── dataloader.py
│ └── tidb.py
├── dataset/
│ ├── csv_loader.py
│ └── dataPrep.py
├── static/
│ ├── audio_recorder.js
│ ├── index.html
│ ├── script.js
│ ├── styles.css
│ └── uploads/
│ └── .gitkeep
└── utils/
└── ques_select.py
The dataset has been created using the kubernetes.io documentation. It is available under CC BY 4.0. license.
Here is the link to the dataset
The dataset has been generated using this script
git checkout -b feature/amazing-feature
Run in your terminal:
claude mcp add examprepagent -- npx Security
Low riskAutomated heuristic from public metadata — not a security guarantee.