MCP server for Krajowa Izba Odwolawcza (KIO) rulings from orzeczenia.uzp.gov.pl.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
MCP server (Model Context Protocol) for the case law of the Krajowa Izba Odwolawcza (KIO) (National Appeals Chamber) at the Urzad Zamowien Publicznych (Public Procurement Office) - the public database orzeczenia.uzp.gov.pl.
It lets Claude / Cursor / VS Code MCP agents consume KIO rulings with verifiable citations (signature + URL + date).
Status: POC v0.1.0 | License: Apache-2.0 | Maintainer: MateMatic
Preliminary warning. The v0.1.0 connector is a proof-of-concept release. It fetches data from the public UZP case law database via HTML (no official REST API). Full legal disclaimer - see the "Legal disclaimer" section below. A dedicated smoke test and notification to UZP are required before production deployment.
The Krajowa Izba Odwolawcza (National Appeals Chamber) is an administrative (quasi-judicial) body operating at the Urzad Zamowien Publicznych (Public Procurement Office) - KIO members are independent when adjudicating (art. 471 PZP) - which hears appeals against contracting authorities' decisions in public procurement proceedings (the Act of 11 September 2019 - Public Procurement Law). KIO rulings are made publicly available by UZP under the Act on access to public information.
KIO rulings are not a source of law within the meaning of art. 87 of the Constitution of the Republic of Poland - they are reference material widely used in the practice of law firms dealing with public procurement.
Add to ~/.claude.json (or .mcp.json in the project):
Restart Claude Code. After startup, 5 tools should be visible.
Smart App Control blocks unsigned executables, which covers uvx.exe, pip.exe
and the kio-orzeczenia-mcp.exe launcher that pip writes at install time. The python.exe and
py.exe from the python.org installer are signed by the Python Software
Foundation, so running the module through the interpreter works:
pip.exe is blocked for the same reason, so install with python -m pip, not
pip install. If python is not on PATH, use the Windows launcher: py -3 -m kio_orzeczenia_mcp.
Do not turn Smart App Control off to work around this - it cannot be re-enabled without reinstalling Windows.
kio_search(query: SearchQuery) -> SearchResultSearch over KIO case law. All fields optional.
Returns {total, page, items: [OrzeczenieSummary]}.
kio_get_orzeczenie(signature_or_id: str | int) -> OrzeczenieFetches the full text of a single ruling.
Returns the full Orzeczenie with content_text, sentence, reasoning (if the parser can extract them), pzp_articles, subject_index, doc_type, outcome, chamber_composition, parties.
issue_date may be null - UZP has no issue date for some older records. We do not substitute a placeholder date.
kio_recent(days: int = 30, limit: int = 20) -> list[OrzeczenieSummary]The most recent rulings from the last N days, sorted by date descending.
kio_by_pzp_article(article: str, limit: int = 20) -> list[OrzeczenieSummary]Rulings citing a specific PZP article. Uses the UZP server-side Art filter, which matches the provisions dictionary and is format-sensitive ("art. 226 ust. 1 pkt 5" hits, plain "226" does not). On an empty result the tool falls back to a full-text phrase search.
kio_get_pdf_url(signature_or_id: str | int) -> dictReturns the URL to the PDF (rendered by UZP from .docx via Qt 4.8.7). Does not fetch bytes - we link to it.
kio_coverage() -> CoverageDeclares what this connector covers, where it comes from, and what it does NOT cover. Every gap carries a stable id and a fallback. Call it before telling a user a ruling "does not exist" - the absence may be a gap in this connector, not in KIO case law.
The agent calls kio_search:
Result: a list of OrzeczenieSummary with human_readable_citation ready to insert into a court filing.
The agent calls kio_by_pzp_article:
The agent calls kio_get_orzeczenie:
Result: the full Orzeczenie with parties, sentence, reasoning.
Art matches entries of the UZP provisions dictionary, so the format matters ("art. 226 ust. 1 pkt 5", not "226"); on a miss we fall back to a phrase search, which is broader and needs verificationcontent_text as plain text. Splitting into sections -> v1.0size > 10 is stitched client-side from consecutive pages, i.e. +1 request per extra pageDISCOVERY.md). Run pytest -m smoke after any UZP-side change; tests/test_parser_regression.py guards the parser offline.Cache location: ~/.matematic/cache/kio/ (configurable via KIO_MCP_CACHE_DIR).
Location: ~/.matematic/audit/kio-orzeczenia-mcp.jsonl
JSONL format (one entry per tool call). See CONSTITUTION.md Art. 3.
What is NOT logged: the full text of a ruling (content_text, reasoning). We log only signatures and metadata.
The data comes from the public UZP case law database (orzeczenia.uzp.gov.pl), made available under the Act of 6 September 2001 on access to public information and the Act of 11 September 2019 - Public Procurement Law.
The connector:
matematic-kio-mcp/{version} (+https://matematic.co).Pre-release blocker. Before publishing the repository on GitHub, a notification to UZP (kontakt@uzp.gov.pl) about launching the connector is planned - User-Agent, query limit, nature of access. Status: TODO.
In case of objections from UZP or other parties - contact: kontakt@matematic.co.
Apache-2.0. See LICENSE.
See CONSTITUTION.md - 4 governance principles (public data, rate limit, audit log, citations).
Open-source connectors by MateMatic that complement the scope of this repository:
mcp-saos - SAOS (Supreme Court, Supreme Administrative Court, common courts)mcp-eu-sparql - EU law via Cellar SPARQLmcp-isap - Journal of Laws, Monitor Polski, ministerial gazettes (Sejm ELI API)External catalog of legal sources: worldwidelaw/legal-sources (bulk harvest scripts, MIT).
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/kio-orzeczenia-mcp)<a href="https://allmcps.com/mcp/kio-orzeczenia-mcp"><img src="https://allmcps.com/api/badge/kio-orzeczenia-mcp?style=directory" alt="Kio Orzeczenia MCP on AllMCPs" /></a>