Skip to main content
Glama
Arroyan23

HEBAT Campus MCP

by Arroyan23
README.md
# HEBAT Campus MCP

Read-only MCP server untuk menghubungkan Hermes Agent dengan HEBAT e-learning UNAIR berbasis Moodle.

## Fitur

MCP ini menyediakan empat tool:

- `hebat_status` — mengecek apakah sesi login HEBAT masih aktif.
- `hebat_dashboard` — mengambil isi dashboard mahasiswa sebagai teks.
- `hebat_courses` — mengambil daftar mata kuliah dan tautannya.
- `hebat_assignments` — mengambil tautan tugas, resource, dan materi dari dashboard/course.

Server ini sengaja read-only. Tidak ada tool untuk mengumpulkan tugas, upload file, mengubah profil, menghapus data, atau mengirim pesan.

## Struktur

```text
hebat_mcp/
├── login.py        # login lokal; password tidak disimpan
└── server.py       # MCP server stdio
requirements.txt
```

## Persyaratan

- Python 3.11+
- `requests`
- MCP Python SDK 2.x
- Hermes Agent dengan dukungan native MCP

Install dependency aplikasi:

```bash
python3 -m pip install -r requirements.txt
```

SDK `mcp` biasanya sudah tersedia di virtual environment Hermes. Jika belum:

```bash
python3 -m pip install mcp
```

## Login lokal

Jalankan di mesin yang menjalankan Hermes:

```bash
python3 hebat_mcp/login.py
```

Masukkan NIM dan password langsung di terminal. Password tidak dicetak dan tidak dimasukkan ke repository. Session cookie disimpan lokal di `~/.hermes/mcp/hebat/`, yang tidak boleh di-commit.

## Konfigurasi Hermes

Contoh konfigurasi melalui CLI:

```bash
hermes mcp add hebat \
  --command /path/to/hermes-venv/bin/python \
  --args /path/to/MCP-Kampus/hebat_mcp/server.py
```

Pilih untuk mengaktifkan semua tool yang ditemukan. Setelah menambah server, mulai sesi Hermes baru agar tool MCP tersedia.

Untuk mengecek koneksi:

```bash
hermes mcp list
hermes mcp test hebat
```

## Keamanan

- Jangan commit `cookies.env`, `cookies.txt`, password, token, atau file `.env`.
- Jangan mengirim credential HEBAT melalui chat.
- Gunakan akun/session yang aksesnya sesuai kebutuhan.
- Implementasi ini hanya mengambil halaman yang bisa diakses oleh session login dan tidak melakukan operasi tulis.

## Catatan

HEBAT dapat mengubah struktur HTML atau memperbarui mekanisme login/SSO. Jika tool tidak menemukan mata kuliah atau tugas, parser mungkin perlu disesuaikan dengan perubahan Moodle.

## Lisensi

MIT