MCP server for the STU Academic Information System (is.stuba.sk).
It exposes AIS data and actions to Claude, Codex, and other MCP-compatible clients: schedule, grades, course progress, exams, mail, finance, documents, submissions, thesis topics, and study metadata.
- Python 3.11+
- AIS/STU account
One-command Linux installer for Claude Code, Codex, and OpenCode:
bash <(curl -fsSL https://gist.githubusercontent.com/dmitthedazed/851024ef40ce538074bdb46e09da8565/raw/install-ais-mcp-linux.sh)Or ask your LLM to install it:
Install AIS MCP on this Linux machine for Claude Code, Codex, and OpenCode.
Use this installer gist:
https://gist.github.com/dmitthedazed/851024ef40ce538074bdb46e09da8565
Ask me for AIS credentials when needed. Do not commit or print my password.
Manual install:
python -m venv .venv
source .venv/bin/activate
pip install -e .Copy the example environment file and fill in your AIS credentials:
cp .env.example .envAIS_USERNAME=xlogin
AIS_PASSWORD=yourpassword
# Optional: skip auto-detect on first request
# AIS_DEFAULT_STUDIUM=192844
# AIS_DEFAULT_OBDOBI=706The .env file is intentionally ignored by Git.
AIS_USERNAME=xlogin AIS_PASSWORD=yourpassword python -m ais_mcpInstalled console entry point:
ais-mcppython -m pytest tests/ -vVersions use SemVer-style X.Y.Z numbers and Git tags named vX.Y.Z.
python scripts/bump_version.py patch
python scripts/bump_version.py minor
python scripts/bump_version.py major
python scripts/bump_version.py 1.2.3The script updates pyproject.toml and src/ais_mcp/__init__.py, creates a
commit, creates an annotated tag, and pushes both. Use --no-push to prepare
the release locally only.
src/ais_mcp/
server.py FastMCP server and tool registration
session.py AIS HTTP session, login, cookie cache
context.py active study/period detection
parsers.py BeautifulSoup parsing helpers
tools/ MCP tools grouped by AIS area
tests/ parser tests
Some tools perform real write actions in AIS, including exam registration, mail operations, file submissions, and sealed document requests. Read the tool docstrings before exposing them to an MCP client.