# MyGES MCP

> Independent, open-source MCP server for reading a student's MyGES academic data from compatible AI assistants.

MyGES MCP lets authenticated users access their own MyGES profile, schedule, grades, absences, news, and highlights through the Model Context Protocol. The service is read-only and is not affiliated with MyGES or Skolae.

## Links

- [Website](https://myges.mcp.silvus.me/)
- [MCP endpoint](https://myges.mcp.silvus.me/mcp)
- [Health endpoint](https://myges.mcp.silvus.me/health)
- [Privacy policy](https://myges.mcp.silvus.me/privacy)
- [Terms of use](https://myges.mcp.silvus.me/terms)
- [Support](https://myges.mcp.silvus.me/support)
- [Source code](https://github.com/devops-esgi-2026/mcp-myges)

## Capabilities

- Reads the authenticated student's profile, schedule, highlights, news, grades, and absences.
- Returns either structured text or focused interactive widgets.
- Opens an interactive first-use preference widget and keeps theme/response choices per user and OAuth client.
- Uses OAuth 2.0 with PKCE and dynamic client registration.
- Never stores the MyGES password or sends it to the AI model.
- Encrypts stored tokens, clients, and identities with AES-256-GCM.
- Provides read-only access to MyGES; no academic data can be modified.

## MCP Resources

- profile
- agenda
- highlights
- news
- grades
- absences

## Self-hosting

Requires Node.js 20 or later. Clone the repository, run `pnpm install` and `pnpm build`, set `WEBSITE_PUBLIC_URL` to the public website origin and `MCP_PUBLIC_URL` to the public HTTPS MCP URL ending in `/mcp`, then run `pnpm dev`. Persist the encrypted `data/` directory.

## Authors

- [Gabriel Morais](https://github.com/gabrielmorais4)
- [Hugo Combe](https://github.com/SilvusTV)

Independent student project; not an official MyGES product.
