Labsco
MCP SERVER

SABIS MCP Server

by hanifisenturk

Reads your Sakarya University SABIS grades — every assessment, its weight, and the final letter — by signing into the portal in a headless browser.

Education, Tutoring & Study Tools
Summary
Scrapes the portal because there is nothing else to call.

Everything follows from that. Your portal password sits in an environment variable that a local process reads on every call, nothing is stored between calls, and the whole thing depends on the SABIS page markup staying where it is — a redesign upstream breaks the read. It is unaffiliated with the university, so treat it as a personal convenience rather than a supported integration.

What it is

An unofficial MCP server for SABIS, the Sakarya University student information system. There is no grades API, so it logs in with Puppeteer and reads the page: one tool, one answer, live from the portal each time rather than from a cached copy.

What you get
  • One tool, `get-grades`, which takes no parameters — the credentials come from the environment
  • The academic year and semester the results belong to, so a returned transcript is not ambiguous about which term it covers
  • Per course: the course code and name, the group, and each assessment broken out by type with its weight as a percentage and the mark received
  • The final letter grade for each course where one has been published
Requirements

A valid Sakarya University student account. The server reads two environment variables, `USERNAME` and `PASSWORD`, either from an `.env` file in the project directory or from the `env` block of your MCP client config. Node.js 18+ and TypeScript 5.8+. The package is `sabis-mcp-server` (1.0.0 in package.json); clone, `npm install`, `npm run build`, then run `build/index.js` with `node`. On Linux, Puppeteer needs the Chromium system libraries installed before the browser will start.