Provides access to the Bakaláři school management system via its v3 API, enabling the retrieval of student schedules (including permanent and modified schedules with substitution details), grade information, and absence records.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Bakaláři MCP Serverukaž mi můj rozvrh na dnešek"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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í.

Upozornění
!! 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 !!
Funkce
rozvrh - Získání rozvrhu pro konkrétní datum nebo aktuální rozvrh
staly_rozvrh - Získání stálého rozvrhu (základní rozvrh bez změn)
absence - Získání informací o basencích
znamky - Získání informací o známkách
Instalace a spuštění
Dostupné transport metody
Server podporuje tři transport metody:
CLI (stdio) - Přímá MCP komunikace přes stdin/stdout
Proxy (HTTP) - HTTP server pomocí mcp-proxy na portu 8805
HTTP Streaming - Nativní HTTP streaming transport na portu 8806
Spuštění jako HTTP Streaming server
Pro spuštění s nativním HTTP streaming transportem na portu 8806:
Server bude dostupný jako HTTP streaming MCP na http://localhost:8806.
Spuštění jako HTTP server pomocí MCP proxy
Pro spuštění jako HTTP server na portu 8805:
Server bude dostupný jako SSE MCP na http://localhost:8805.
Spuštění pomocí Docker (stdio mode)
Rychlé spuštění
Spuštění s docker-compose
Přímé spuštění jedním příkazem
Spuštění pomocí uvx (alternativa)
Pokud máš již vybuilděný balíček:
Jak to funguje
Build balíčku
Pro vytvoření distribučního balíčku:
Spuštění ze zdrojového kódu
Parametry
--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)
Dostupné nástroje
rozvrh(datum)
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:
staly_rozvrh()
Získá stálý rozvrh (základní rozvrh bez změn).
Příklad odpovědi:
Konfigurace v MCP klientovi (Claude Desktop / n8n)
Pro stdio mode (původní způsob)
Pro použití s Docker místo uvx, aktualizuj MCP konfiguraci:
Pro HTTP mode (nový způsob s MCP proxy)
Pro použití jako HTTP server přes MCP proxy:
Pro HTTP Streaming mode (nejnovější)
Pro použití s nativním HTTP streaming transportem:
GitHub Container Registry (GHCR)
Pre-built Docker images jsou dostupné na GitHub Container Registry:
Dostupné images:
CLI (stdio):
ghcr.io/mirecekd/bakalari-mcp:latest-cliProxy (HTTP):
ghcr.io/mirecekd/bakalari-mcp:latest-proxyHTTP Streaming:
ghcr.io/mirecekd/bakalari-mcp:latest-http
Použití GHCR images:
Multi-arch support:
Všechny images podporují:
linux/amd64 (Intel/AMD x64)
linux/arm64 (Apple Silicon, ARM64)
Postupy pro MCP konfiguraci
Vybuduj Docker image:
cd bakalari-mcp-server # Pro stdio mode: ./build-cli.sh # Pro HTTP mode: ./build-proxy.sh # Nebo oba najednou: ./build-all.shSpusť 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:proxyAktualizuj MCP settings aplikace v
claude_desktop_config.json,anythingllm_mcp_servers.json,cline_mcp_settings.jsonRestartuj aplikaci pro načtení nové konfigurace
Autentizace
Server automaticky spravuje autentizaci:
Při prvním použití se přihlásí pomocí username/password
Získá access_token a refresh_token
Při expiraci access_token automaticky obnoví pomocí refresh_token
Pokud i refresh_token expiruje, znovu se přihlásí pomocí username/password
Chybové stavy
Všechny nástroje vrací chybové zprávy v případě problémů:
Možné typy chyb:
Chyba autentizace: Neplatné přihlašovací údaje nebo problémy s tokenem
Chyba API: Problém s komunikací s Bakaláři API
Neplatný formát data: Špatně zadané datum
Příklad použití v MCP klientovi
Pokročilé funkce
Dekódování rozvrhu
Server inteligentně dekóduje rozvrh pomocí:
Lookup tabulek: Překlad ID na čitelné názvy předmětů, učitelů, místností
Inference předmětů: Automatické rozpoznání předmětu z tématu hodiny
Zpracování změn: Detekce zrušených hodin, suplování a dalších změn
Validace dat: Kontrola formátu data a základní validace
Podpora změn v rozvrhu
Server rozpoznává a správně zpracovává:
Zrušené hodiny: Označené jako ❌ se zachováním původních informací
Suplování: Nový učitel s odkazem na původního
Spojené hodiny: Sloučení více hodin do jedné
Změny místností: Aktualizované místo konání
Technické detaily
Protokol: MCP přes stdio nebo HTTP (s mcp-proxy)
Framework: FastMCP
HTTP klient: aiohttp (async)
Python verze: 3.8+
Distribuce: source code
Proxy: mcp-proxy pro HTTP transport
Vývojáři
Pro lokální vývoj: