Content
# 🎓 MyCourseVille → AI
<img width="919" height="528" alt="image" src="https://github.com/user-attachments/assets/87e41bbe-12d1-4501-9c69-2da89acf8c86" />
## ⚡ What This Is
A local MCP server that lets your AI read your MyCourseVille data.
- Assignments + deadlines
- Submission status
- Grades
- Announcements
- Course files/materials
No more clicking around MCV.
---
## 🚀 Quick Install
### Option A (Tell Your AI)
Tell your AI:
> **"Install https://github.com/Helpmepeet/MCV_MCP and connect it as an MCP server"**
Works best if your AI can run terminal commands.
> 🤖 **For AI agents:** See [AI_AGENT_GUIDE.md](AI_AGENT_GUIDE.md) for installation steps
### Option B (Still Easy)
Clone and run:
```bash
git clone https://github.com/Helpmepeet/MCV_MCP.git
cd MCV_MCP
pip install -r requirements.txt
```
Add your credentials:
```bash
cp .env.example .env
# Edit .env with your MyCourseVille username/password
```
---
## 🔐 Safe + Private
- Runs on your machine
- Your password stays local
- No tracking
- Open source
**Not official from Chula.**
---
## 🧠 Example Questions
- *"what's due this week?"*
- *"any missing submissions?"*
- *"what's the most urgent task?"*
- *"show my scores"*
- *"download materials from data mining"*
---
## 🛠 Connect to MCP (Claude Desktop)
**1. Find your config file:**
- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows:** `%APPDATA%/Claude/claude_desktop_config.json`
- **Linux:** `~/.config/Claude/claude_desktop_config.json`
**2. Add this:**
```json
{
"mcpServers": {
"mycourseville": {
"command": "python",
"args": ["/absolute/path/to/MCV_MCP/server.py"],
"env": {
"MCV_USERNAME": "your_student_id",
"MCV_PASSWORD": "your_password"
}
}
}
}
```
**3. Restart Claude Desktop**
Done.
---
## 🧪 Test Without AI
```bash
python mycourseville_client.py
```
Shows your homework in terminal.
---
## 🔧 Tools Exposed to AI
1. **`get_assignments`** — Fetch pending homework
2. **`get_assignment_detail`** — Check submission & grade
3. **`get_course_materials`** — List course files
4. **`get_announcements`** — Get course updates
5. **`mark_assignment_done`** — Hide completed tasks
See [ARCHITECTURE.md](ARCHITECTURE.md) for details.
---
## 🆘 Troubleshooting
**Login failed**
→ Check username/password in `.env`
**No assignments**
→ Check semester/courses in MyCourseVille
**MCP not working**
→ Use absolute path, restart Claude Desktop
---
## 📚 Requirements
- Python 3.10+
- Chulalongkorn University MyCourseVille account
- Claude Desktop or other MCP-compatible AI
---
## 🙏 Credits
- AJAX API reverse-engineered from [kcnti/mycourseville-crispy](https://github.com/kcnti/mycourseville-crispy)
- Built with [Model Context Protocol](https://modelcontextprotocol.io)
---
## ⚠️ Disclaimer
**Not affiliated with Chulalongkorn University / MyCourseVille.**
Use responsibly. Respect the platform's terms of service.
---
## 📖 More Docs
- [AI_AGENT_GUIDE.md](AI_AGENT_GUIDE.md) — For AI agents installing this
- [ARCHITECTURE.md](ARCHITECTURE.md) — Technical details
- [CONTRIBUTING.md](CONTRIBUTING.md) — How to contribute
- [CHANGELOG.md](CHANGELOG.md) — Version history
---
**Made with ❤️ for Chula students who want AI to handle the boring stuff**