# 🗣️ Runyakole/Rukiga Language Tutor Server
## 🚀 Overview
This project is a **Model Context Protocol (MCP)** server designed to be a personalized AI tutor for learning **Runyakole/Rukiga**. It uses your custom language data to provide highly accurate and contextualized explanations via **Google Gemini**, tackling the scarcity of digital resources for less commonly spoken languages.
---
## ✨ Features
- 🔤 **Customizable Knowledge Base**: Load your own Runyakole/Rukiga dictionary, grammar, and phrases from `runyakole_rukiga_data.txt`.
- 🧠 **Intelligent Context Management**: Combines your language data with user queries for targeted LLM prompts.
- ⚙️ **Google Gemini Integration**: Leverages Gemini for AI-powered explanations and learning.
- 🔌 **RESTful API**: Clear endpoints for easy integration with front-end apps or mobile clients.
- 🔐 **Secure API Key Handling**: Uses `.env` for storing your Gemini API key safely.
- ♻️ **Reloadable Data**: Update your language data without restarting the server.
---
## 🛠️ Technologies
- Python 3.x
- Flask (Web Framework)
- Flask-CORS (CORS handling)
- Requests (HTTP client)
- python-dotenv (Environment variables)
- Google Gemini API (LLM)
---
## ⚙️ Setup & Installation
### 1. Clone the Repository
```bash
git clone
github.com
cd runyankole_mcp_server
2. Install Dependencies
pip install Flask Flask-CORS requests python-dotenv
# OR
pip install -r requirements.txt
3. Get Gemini API Key
Sign in to Google AI Studio
Generate and copy your Gemini API key.
4. Configure Environment Variable
Create a .env file in the project root:
GEMINI_API_KEY="YOUR_ACTUAL_GEMINI_API_KEY_HERE"
> ✅ Note: .env is already in .gitignore and will not be pushed to GitHub.
5. Create Language Knowledge Base
Create runyakole_rukiga_data.txt in the root directory and add your custom language knowledge.
Example:
--- Runyakole/Rukiga Language Knowledge Base ---
Greetings:
- Hello (singular): Orair …