Samosprava MCP

v1.11.2

MCP server  ·  data samosprávy Kraje Vysočina

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

samosprava_list_governing_bodiesSeznam typů orgánů

Číselník typů orgánů samosprávy (zastupitelstvo, rada, výbory, komise...). Bez parametrů.

samosprava_list_organsSeznam komisí a výborů

Čí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ů.

samosprava_list_departmentsSeznam odborů a oddě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í

samosprava_search_sessionsVyhledávání termínů 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

samosprava_get_sessionDetail termínu jednání

Metadata jednoho termínu (datum, místo, stav, název orgánu).

Parametry: id*

Materiály

samosprava_search_materialsVyhledávání materiálů

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

samosprava_get_materialDetail materiálu

Kompletní metadata materiálu včetně URL odkazu na detail a PDF ke stažení.

Parametry: id*

Zápisy z jednání

samosprava_search_minutesVyhledávání zápisů

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

samosprava_get_minuteÚplný zápis z jednání

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

samosprava_get_minute_itemText bodu jednání

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í

samosprava_search_resolutionsVyhledávání 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

samosprava_get_resolutionDetail usnesení

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

samosprava_list_personsSeznam osob (zastupitelé, radní, hejtman)

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

samosprava_get_organ_membersČlenové orgánu (komise, výboru)

Aktuální členové konkrétní komise nebo výboru. organ_id zjistíš nástrojem samosprava_list_organs.

Parametry: organ_id*

Přílohy materiálů

samosprava_search_attachmentsPří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í

searchFulltextové 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*

fetchNačtení dokumentu

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

samosprava_pingPing

Ověří dostupnost serveru. Vrátí Pong: <text>.

Parametry: text*

OAuth 2.0 Discovery

Standardní discovery endpointy pro automatickou konfiguraci OAuth klientů:

GET /.well-known/oauth-protected-resource Odkaz na autorizační server (RFC 9728)
GET /.well-known/oauth-authorization-server OAuth metadata — issuer, endpointy, podporované grant types (RFC 8414)
GET /.well-known/openid-configuration OIDC discovery (fallback pro klienty hledající authorization_endpoint přes OpenID Connect)
POST /register Dynamic Client Registration — registrace nového klienta (RFC 7591)
GET /authorize Authorization endpoint — PKCE S256, formulář pro zadání API klíče
POST /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í)