Access data from the Bakaláři school system, including schedules, absences, and grades, through a standardized API.
???# Bakaláři MCP Server
MCP (Model Context Protocol) server pro Bakaláři v3 API. Umožňuje přístup k Bakaláři školnímu systému přes standardizované MCP rozhraní.
!! K používání tohoto projektu je potřeba trošku umět s dockerem/pythonem a vědět, jak funguje připojení MCP k danému LLM klientu !!
Server podporuje tři transport metody:
Pro spuštění s nativním HTTP streaming transportem na portu 8806:
# Build HTTP streaming image
./build-http.sh
# nebo manuálně
docker build -f Dockerfile.http -t mirecekd/bakalari-mcp:http .
# Spuštění
docker run -p 8806:8806 mirecekd/bakalari-mcp:http \
--user YOUR_USERNAME \
--password YOUR_PASSWORD \
--url https://your-school.bakalari.cz
Server bude dostupný jako HTTP streaming MCP na http://localhost:8806
.
Pro spuštění jako HTTP server na portu 8805:
# Build MCP proxy image
./build-proxy.sh
# nebo manuálně
docker build -f Dockerfile.proxy -t mirecekd/bakalari-mcp:proxy .
# Spuštění s environment variables
docker run -e BAKALARI_USER=your_user -e BAKALARI_PASSWORD=your_pass -e BAKALARI_URL=your_url -p 8805:8805 mirecekd/bakalari-mcp:proxy
Server bude dostupný jako SSE MCP na http://localhost:8805
.
# Build CLI Docker image
./build-cli.sh
# nebo manuálně
docker build -f Dockerfile.cli -t mirecekd/bakalari-mcp:cli .
# Spuštění přes Docker
docker run --rm -i mirecekd/bakalari-mcp:cli \
--user USERNAME \
--password PASSWORD \
--url https://your-school.bakalari.cz
# Zkopíruj a upravuješ konfiguraci
cp .env.example .env
# Edituj .env s tvými údaji
# Spuštění
docker-compose up bakalari-mcp-server
# Nebo pro development (s live reloading)
docker-compose --profile dev up bakalari-mcp-dev
# Pro MCP konfiguraci - nahraď uvx příkaz tímto:
docker run --rm -i ghcr.io/mirecekd/bakalari-mcp:latest-cli \
--user YOUR_USER \
--password YOUR_PASSWORD \
--url https://skola.bakalari.cz
Pokud máš již vybuilděný balíček:
# Z místního wheel souboru
uvx --from ./dist/bakalari_mcp_server-1.0.0-py3-none-any.whl bakalari-mcp-server --user USERNAME --password PASSWORD --url https://your-school.bakalari.cz
# Nebo z aktuálního adresáře během vývoje
uvx --from . bakalari-mcp-server --user USERNAME --password PASSWORD --url https://your-school.bakalari.cz
Pro vytvoření distribučního balíčku:
# Instalace build nástrojů
pip install build
# Vytvoření balíčku
python3 -m build
# Výsledné soubory najdeš v dist/
# Instalace závislostí
pip install fastmcp aiohttp
# Spuštění ze zdrojového kódu
python3 src/bakalari_mcp_server/server.py --user USERNAME --password PASSWORD --url https://your-school.bakalari.cz
--user
(povinný): Uživatelské jméno pro Bakaláři--password
(povinný): Heslo pro Bakaláři--url
(povíně volitelný): URL Bakaláři serveru (výchozí: https://skola.bakalari.cz)Získá rozvrh pro zadané datum s dekódovanými informacemi.
Parametry:
datum
(volitelný): Datum ve formátu YYYY-MM-DD. Pokud není zadáno, použije se dnešní datum.Příklad odpovědi:
{
"datum": "2025-05-15",
"den_tydne": 5,
"hodiny": [
{
"hodina": "1",
"cas": "8:00 - 8:45",
"predmet": "Matematika",
"zkratka_predmetu": "M",
"ucitel": "Nov",
"mistnost": "123",
"tema": "Kvadratické rovnice",
"zmena": {
"typ": "Modified",
"popis": "Změna učitele"
}
}
],
"pocet_hodin": 6
}
Získá stálý rozvrh (základní rozvrh bez změn).
Příklad odpovědi:
{
"typ": "staly_rozvrh",
"dny": [
{
"den_tydne": 1,
"den_cislo": 1,
"hodiny": [
{
"hodina": "1",
"cas": "8:00 - 8:45",
"predmet": "Matematika",
"zkratka_predmetu": "M",
"ucitel": "Nov",
"mistnost": "123",
"skupina": null
}
]
}
]
}
Pro použití s Docker místo uvx, aktualizuj MCP konfiguraci:
{
"mcpServers": {
"bakalari-mcp-server": {
"autoApprove": [
"rozvrh",
"staly_rozvrh"
],
"disabled": false,
"timeout": 60,
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"ghcr.io/mirecekd/bakalari-mcp:latest-cli",
"--user",
"YOUR_USER",
"--password",
"YOUR_PASSWORD",
"--url",
"https://skola.bakalari.cz"
],
"transportType": "stdio"
}
}
}
Pro použití jako HTTP server přes MCP proxy:
{
"mcpServers": {
"bakalari-mcp-server": {
"autoApprove": [
"rozvrh",
"staly_rozvrh"
],
"disabled": false,
"timeout": 60,
"url": "http://localhost:8805",
"transportType": "http"
}
}
}
Pro použití s nativním HTTP streaming transportem:
{
"mcpServers": {
"bakalari-mcp-server": {
"autoApprove": [
"rozvrh",
"staly_rozvrh"
],
"disabled": false,
"timeout": 60,
"url": "http://localhost:8806",
"transportType": "http"
}
}
}
Pre-built Docker images jsou dostupné na GitHub Container Registry:
ghcr.io/mirecekd/bakalari-mcp:latest-cli
ghcr.io/mirecekd/bakalari-mcp:latest-proxy
ghcr.io/mirecekd/bakalari-mcp:latest-http
# CLI version
docker run --rm -i ghcr.io/mirecekd/bakalari-mcp:latest-cli \
--user USERNAME --password PASSWORD --url https://school.bakalari.cz
# Proxy version (port 8805)
docker run -p 8805:8805 \
-e BAKALARI_USER=USERNAME \
-e BAKALARI_PASSWORD=PASSWORD \
-e BAKALARI_URL=https://school.bakalari.cz \
ghcr.io/mirecekd/bakalari-mcp:latest-proxy
# HTTP Streaming version (port 8806)
docker run -p 8806:8806 ghcr.io/mirecekd/bakalari-mcp:latest-http \
--user USERNAME --password PASSWORD --url https://school.bakalari.cz
Všechny images podporují:
Vybuduj Docker image:
cd bakalari-mcp-server
# Pro stdio mode:
./build-cli.sh
# Pro HTTP mode:
./build-proxy.sh
# Nebo oba najednou:
./build-all.sh
Spusť kontejner (pro HTTP mode):
docker run -d -e BAKALARI_USER=your_user -e BAKALARI_PASSWORD=your_pass -e BAKALARI_URL=your_url -p 8805:8805 mirecekd/bakalari-mcp:proxy
Aktualizuj MCP settings aplikace v claude_desktop_config.json
, anythingllm_mcp_servers.json
, cline_mcp_settings.json
Restartuj aplikaci pro načtení nové konfigurace
Server automaticky spravuje autentizaci:
Všechny nástroje vrací chybové zprávy v případě problémů:
{
"error": "Popis chyby"
}
Možné typy chyb:
# Získání dnešního rozvrhu
result = await mcp_client.call_tool("rozvrh")
# Získání rozvrhu pro konkrétní datum
result = await mcp_client.call_tool("rozvrh", {"datum": "2024-03-15"})
# Získání stálého rozvrhu
result = await mcp_client.call_tool("staly_rozvrh")
Server inteligentně dekóduje rozvrh pomocí:
Server rozpoznává a správně zpracovává:
Pro lokální vývoj:
# Klonování a setup
git clone <repository-url>
cd bakalari-mcp-server
# Instalace dev závislostí
pip install -e .
# Spuštění pro testování
python3 src/bakalari_mcp_server/server.py --user TEST --password TEST --url https://test.bakalari.cz
Manage tmux panes and execute commands within tmux sessions.
An MCP server for AI-to-AI collaboration, enabling autonomous workflows and role-based task management between different AI models.
MCP server to interact with Routine: calendars, tasks, notes, etc.
Interact with Google Workspace services like Gmail and Google Calendar.
Access the YouTrack REST API to manage projects and track issues in real-time.
Add smart Backup ability to coding agents like Windsurf, Cursor, Cluade Coder, etc
Access and manage your VISO TRUST third-party risk program directly through your AI assistant.
Launch and manage macOS applications. List installed apps, launch them by name, or open files with specific apps.
An open-source collaborative wiki and documentation software with AI integration via MCP.
Full implementation of Todoist Rest API for MCP server