The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the MCP Isap listing page.
Published on npm + MCP Registry (io.github.matematicsolutions/mcp-isap). Run without cloning:
MCP client configuration (stdio):
(Building from source - below.)
MCP server for Polish legislation - Dziennik Ustaw (Journal of Laws, DU) + Monitor Polski (MP)
via the official Sejm ELI API (api.sejm.gov.pl/eli).
mcp-saos (general courts) + mcp-nsa (administrative) + mcp-eu-sparql (EU)
cover the case-law side. mcp-isap adds legislation - statutes, regulations,
official announcements, international agreements. This closes the triad:
Coverage: 96,000+ acts from 1918 to today. Full ELI support (European Legislation Identifier).
search_acts(title?, year?, publisher?, type?, in_force?, limit?) -
search by title fragment / year / publisher / act type /
in-force status. publisher: DU (Dziennik Ustaw) or MP
(Monitor Polski).get_act(eli) - act details by ELI (DU/2018/1000).
Returns title, type, status, entry into force, keywords,
links to HTML/PDF text and the ISAP page.get_act_text(eli, page?, search_text?) - the act's plain text (no HTML
tags), paginated at 5000 characters per page. Iterate page while
structuredContent.pagination.has_more is true, or pass search_text
(e.g. "Art. 118.") to get the fragment around the first hit in one call.
structuredContent.text_version says whether this is a consolidated text or
the wording as promulgated - Sejm ELI serves the original wording for base
acts, so for the law in force fetch the newest consolidated-text announcement
listed in consolidated_text_eli. Acts published only as PDF return the
text_unavailable_use_pdf error with links, never prose standing in for the
provision.Every response includes structuredContent.citations with fields:
title, url (ISAP UI), eli, display_address (Dz.U. 2018 poz. 1000),
publisher, year, document_type, status, in_force, promulgation.
Patron reads this field automatically and renders it in the UI panel as the section "Polish legal acts (Dz.U. / M.P. - Sejm ELI)".
fetch)@modelcontextprotocol/sdkIn patron/backend/mcp-servers.json:
Should return the Personal Data Protection Act of 10 May 2018,
status IN_FORCE, a link to ISAP and a structured citation.
API contract derived from legal-data-hunter/sources/PL/DziennikUrzedowy
(Python + REST, MIT). TS implementation from scratch - no source code imported.
MIT.
This server is one of five MCP connectors covering Polish jurisdiction + EU law, used by Patron (AGPL-3.0) and any other MCP-aware legal AI agent.
All five MCP servers share the same structuredContent.citations
contract: each tool returns an array of {title, url, snippet?, ...metadata}
that legal agents can render directly in their citation panel.
See matematicsolutions/.github for the full org profile.