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
An MCP server that uses Google's Gemini 1.5 Pro to generate concise summaries of various content types.
Notion official MCP server
Tools for PostHog analytics, annotations, and project management.
A server for integrating Jira with Claude, enabling project and issue management. Requires configuration via environment variables.
Interact with Amazon services for product search, cart management, and viewing order history.
Guides problem-solving by breaking down complex problems and recommending the best MCP tools for each step.
Add smart Backup ability to coding agents like Windsurf, Cursor, Cluade Coder, etc
Perform queries and entity operations in your Fibery workspace.
Convert Markdown files to high-quality, print-ready PDFs using LaTeX.
Premium memory consistent across all AI applications.