O serveru
MCP server zpřístupňuje data samosprávy Kraje Vysočina — materiály, zápisy a usnesení ze zasedání zastupitelstva, rady, výborů a komisí. Určen pro AI asistenty kompatibilní s protokolem Model Context Protocol (MCP).
MCP endpoint: https://mcp.samosprava.kr-vysocina.cz/mcp
Autentizace
OAuth 2.0 s PKCE — pro ChatGPT a OpenAI klienty
Preferovaná metoda. Klienti s podporou MCP OAuth discovery (ChatGPT, Claude.ai) vyřeší autentizaci automaticky — uživatel zadá API klíč do autorizačního formuláře a klient obdrží JWT Bearer token. Platnost je 1 hodina; obnovení probíhá automaticky na pozadí přes refresh token — uživatel zadá API klíč pouze jednou.
Bearer token — pro Claude Desktop a přímou integraci
Statický token nakonfigurovaný na serveru. Odesílej jako HTTP hlavičku:
Authorization: Bearer <token>
Konfigurace klientů
ChatGPT — Custom Connectors / Deep Research
Settings → Connectors → Add custom connector:
MCP server URL: https://mcp.samosprava.kr-vysocina.cz/mcp
Authentication: OAuth (ChatGPT vyřeší discovery automaticky)
Claude Desktop — claude_desktop_config.json
{
"mcpServers": {
"samosprava-mcp": {
"type": "http",
"url": "https://mcp.samosprava.kr-vysocina.cz/mcp",
"headers": {
"Authorization": "Bearer <token>"
}
}
}
}
Claude Code — .mcp.json
{
"mcpServers": {
"samosprava-mcp": {
"type": "http",
"url": "https://mcp.samosprava.kr-vysocina.cz/mcp",
"headers": {
"Authorization": "Bearer <token>"
}
}
}
}
Dostupné nástroje
Úplný a aktuální seznam se schématy parametrů získáte voláním tools/list ze svého MCP klienta. Parametry označené * jsou povinné.
Číselníky
Číselník typů orgánů samosprávy (zastupitelstvo, rada, výbory, komise...). Bez parametrů.
Číselník konkrétních komisí a výborů s jejich ID. Výsledek slouží jako vstup (organ_id) pro filtrování termínů, zápisů a členů.
Odbory, oddělení a ředitelství krajského úřadu s kódy pro filtrování materiálů a usnesení.
Parametry: query, unit_type
Termíny jednání
Termíny zasedání orgánů samosprávy. Při dotazu na konkrétní orgán vždy upřesni typ_organu_nazev (Rada, Zastupitelstvo...). Stránkováno.
Parametry: typ_organu_nazev, organ_id, typ_organu_id, rok, cislo, datum_od, datum_do, stav, query, order, verejne_materialy, verejny_zapis, limit, offset
Metadata jednoho termínu (datum, místo, stav, název orgánu).
Parametry: id*
Materiály
Materiály předkládané na jednání. Při dotazu na konkrétní orgán upřesni typ_organu_nazev; pro konkrétní zasedání použij termin_nazev (např. ZK-03-2026). Stránkováno.
Parametry: termin_nazev, termin_id, typ_organu_nazev, rok, zprac_odbor_kod, stav, pro_informaci, rozpoctove_opatreni, datum_projednani_od, datum_projednani_do, query, limit, offset
Kompletní metadata materiálu včetně URL odkazu na detail a PDF ke stažení.
Parametry: id*
Zápisy z jednání
Přehled zápisů z jednání bez textů. Pro plný text viz samosprava_get_minute. Stránkováno.
Parametry: typ_organu_nazev, organ_id, rok, termin_nazev, query, stav_bodu, limit, offset
Plaintext celého zápisu + strukturovaný program jednání (pole bodů s číslem, názvem a stavem). Alespoň jeden parametr je povinný.
Parametry: id, termin_id
Plný text jednoho bodu z programu jednání. Vhodné pro dočtení bodu z ořezaného zápisu (truncated=true). Alespoň jeden parametr je povinný.
Parametry: id, zapis_id, cislo
Usnesení
Usnesení orgánů samosprávy bez textu usnesení. Pro fulltext v textu usnesení použij text_query; plný text pak přes samosprava_get_resolution. Stránkováno.
Parametry: typ_organu_nazev, rok, datum_od, datum_do, stav_usneseni, query, text_query, odbor_kod, termin_nazev, termin_id, zapis_id, material_id, limit, offset
Plný text usnesení + seznam odpovědných subjektů včetně příspěvkových organizací. Alespoň jeden parametr je povinný.
Parametry: id, cislo_usneseni_text (např. 0015/30/2019/RK)
Osoby
Aktuální seznam zastupitelů, radních a hejtmana Kraje Vysočina. Filtrovatelné podle role a jména. Stránkováno.
Parametry: radni, zastupitel, hejtman, query, limit, offset
Aktuální členové konkrétní komise nebo výboru. organ_id zjistíš nástrojem samosprava_list_organs.
Parametry: organ_id*
Přílohy materiálů
Soubory přiložené k materiálům (PDF a jiné). Každý záznam obsahuje URL ke stažení. Stránkováno.
Parametry: material_id, cislo_jednaci, nazev, priloha_cislo, limit, offset
Fulltextové vyhledávání
Vyhledávání napříč materiály, usneseními, zápisy a termíny jednání. Implementuje rozhraní pro ChatGPT / OpenAI deep research. Vrátí max 50 výsledků s ID, názvem, snippetem a URL.
Parametry: query*
Načte plný text dokumentu podle ID z výsledků nástroje search. Vrátí plaintext oříznutý na 25 000 znaků. Implementuje rozhraní pro ChatGPT / OpenAI deep research.
Parametry: id* (formát: material-<id>, usneseni-<id>, zapis-<id>, termin-<id>)
Utility
Ověří dostupnost serveru. Vrátí Pong: <text>.
Parametry: text*
OAuth 2.0 Discovery
Standardní discovery endpointy pro automatickou konfiguraci OAuth klientů:
/.well-known/oauth-protected-resource
Odkaz na autorizační server (RFC 9728)
/.well-known/oauth-authorization-server
OAuth metadata — issuer, endpointy, podporované grant types (RFC 8414)
/.well-known/openid-configuration
OIDC discovery (fallback pro klienty hledající authorization_endpoint přes OpenID Connect)
/register
Dynamic Client Registration — registrace nového klienta (RFC 7591)
/authorize
Authorization endpoint — PKCE S256, formulář pro zadání API klíče
/token
Token endpoint — grant_type authorization_code (výměna kódu za JWT Bearer token, platnost 1 hodina) i refresh_token (tichá obnova na pozadí)