io.github.matematicsolutions/kio-orzeczenia-mcp
MCP server for Krajowa Izba Odwolawcza (KIO) rulings from orzeczenia.uzp.gov.pl.
Versions
0.2.1latestTools 6
kio_search Wyszukuje orzeczenia KIO w bazie orzeczenia.uzp.gov.pl. Wszystkie parametry opcjonalne. `pzp_article` i `subject_index` to filtry server-side UZP (od 2026-07 wyszukiwarka je udostepnia). Args: phrase: slowa kluczowe (np "razaco niska cena") signature: sygnatura "KIO {nr}/{rok}" date_from: YYYY-MM-DD date_to: YYYY-MM-DD pzp_article: artykul PZP, format slownika UZP (np "art. 226 ust. 1 pkt 5") subject_index: indeks tematyczny (np "razaco niska cena") inflection: odmiana slow (default True) content_search: szukaj w pelnej tresci (default True) sort: "rank" (trafnosc) | "date_asc" | "date_desc" page: strona wynikow (default 1) size: rozmiar strony (default 20, max 100) Returns: SearchResult jako dict: {total, page, size, items: [...], query, retrieved_at}
kio_get_orzeczenie Pobiera pelne orzeczenie KIO. Args: signature_or_id: "KIO 2924/21" (string) albo 15903 (internal int ID). Sygnatura wymaga +1 req aby ustalic internal_id przez search. Returns: Orzeczenie jako dict z signature, internal_id, issue_date, chamber_composition, parties, sentence, reasoning, pzp_articles, content_text, source_url_html, source_url_pdf, human_readable_citation, retrieved_at.
kio_recent Najnowsze orzeczenia KIO z ostatnich N dni. UWAGA: UZP publikuje orzeczenia z opoznieniem - dla `days=30` lista bywa krotka lub pusta, i to jest poprawny wynik, a nie blad parsera. Przy pustym wyniku zaproponuj uzytkownikowi szerszy zakres (`days=90`). Args: days: ile dni wstecz (default 30, max 3650) limit: ile orzeczen zwrocic (default 20, max 100) Returns: Lista OrzeczenieSummary jako dict, sortowane malejaco po dacie (sort UZP).
kio_by_pzp_article Orzeczenia KIO cytujace konkretny artykul PZP. Uzywa filtra server-side UZP (`Art`), ktory dziala na slowniku przepisow i jest wrazliwy na format: `"art. 226 ust. 1 pkt 5"` daje trafienia, samo `"226"` nie. Gdy filtr zwroci 0 wynikow, tool schodzi do wyszukiwania frazowego po tresci - wtedy trafienia sa szersze i wymagaja weryfikacji przez `kio_get_orzeczenie`. Args: article: np "art. 226 ust. 1 pkt 5" albo "224 ust. 1" limit: limit wynikow (default 20, max 100) Returns: Lista OrzeczenieSummary jako dict.
kio_get_pdf_url Zwraca URL do PDF orzeczenia (NIE pobiera bytes). Args: signature_or_id: "KIO 2924/21" lub 15903 Returns: {pdf_url, signature, internal_id, issue_date, human_readable_citation}
kio_coverage Declare what this connector covers, how it is sourced, and what it does NOT cover. Call this before telling a user that the law "does not contain" something, and whenever a search comes back empty: the absence may be a gap in this connector rather than in the law. Every gap carries a fallback saying where to look instead. Returns: ``Coverage`` with families, an as-of note, and a non-empty list of known gaps.
Permissions 3
network medium filesystem low env_vars low