Bakaláři Mcp
About
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í.
Details
- Author
- mirecekd
- Downloads
- 205
- Categories
- Productivity, Other, API
Jump to
—
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Bakaláři McpCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
—
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"bakal\u00e1\u0159i mcp": {
"bakalari-mcp-server": {
"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"
}
}
}
}
McpServers
{
"bakalari-mcp-server": {
"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"
}
}
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 !!
- 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
- 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
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 nahttp://localhost:8806.
Spuštění jako HTTP server pomocí MCP proxy
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 nahttp://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
# 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
# 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.
- datum(volitelný): Datum ve formátu YYYY-MM-DD. Pokud není zadáno, použije se dnešní datum.
{ "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).
{ "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 } ] } ] }
Konfigurace v MCP klientovi (Claude Desktop / n8n)
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:
- CLI (stdio):ghcr.io/mirecekd/bakalari-mcp:latest-cli
- Proxy (HTTP):ghcr.io/mirecekd/bakalari-mcp:latest-proxy
- HTTP Streaming: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
- linux/amd64(Intel/AMD x64)
- linux/arm64(Apple Silicon, ARM64)
cd bakalari-mcp-server # Pro stdio mode: ./build-cli.sh # Pro HTTP mode: ./build-proxy.sh # Nebo oba najednou: ./build-all.sh
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 aplikacevclaude_desktop_config.json,anythingllm_mcp_servers.json,cline_mcp_settings.json
Restartuj aplikacipro načtení nové konfigurace
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
Všechny nástroje vrací chybové zprávy v případě problémů:
{ "error": "Popis chyby" }
- 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
# 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í:
- 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
- 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í
- 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
# 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
If this tool is useful to you, you can support development:
MCP server for Brightspace (D2L): check grades, due dates, announcements, rosters & more using Claude, ChatGPT, Cursor, or any MCP client.
A MCP server that enables AI assistants to interact with Anki, the spaced repetition flashcard application.
Magica is your all-in-one AI platform, offering 2500+ cutting-edge tools under a single subscription.
Turn your Make scenarios into callable tools for AI assistants.
Create spaced repetition flashcards in Rember to remember anything you learn in your chats
Dynamically search and call tools using UnifAI Network
Connect your AI Agents to 8,000 apps instantly.
Turn YouTube playlists into AI-generated flashcards with spaced repetition — create, search, and export decks via MCP.
Manage Anki flashcards and decks using the Anki-Connect plugin.
Manage Anki flashcards and decks via the AnkiConnect plugin.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





