
Mcp Isap
io.github.matematicsolutionsPublished by GitHub account matematicsolutionsv1.4.2Updated Oct 24, 2026
MCP server for Polish legislation (Dziennik Ustaw / Monitor Polski) via Sejm ELI API.
Overview
Lets an assistant search Polish legislation (Dziennik Ustaw and Monitor Polski) and read act texts via the Sejm ELI API.
- What you can do
- Provides three tools over the official Sejm ELI REST API: search_acts filters acts by title fragment, year, publisher (DU or MP), act type and in-force status; get_act returns details for an act identified by its ELI, such as DU/2018/1000, including title, type, status, entry into force, keywords and links to HTML or PDF text; get_act_text returns the plain text of an act, paginated at 5000 characters per page, with an optional search_text argument to jump to a fragment. Responses include structured citation metadata (title, ELI, display address, publisher, year, status).
- When to use it
- Useful when an assistant needs to look up Polish statutes, regulations or official announcements, or to quote provisions with citations. It covers legislation only, so it complements rather than replaces case-law or EU-law sources.
- Requirements
- Runs locally over stdio; requires Node.js 18 or newer and can be started with npx from the npm package. No accounts, API keys, environment variables or headers are declared. Network access to the Sejm ELI API is needed.
Installation
In SourceWeft
- Open Mcp Isap in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
mcp-isap
Installation (one command)
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).
Why
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).
Tools
search_acts(title?, year?, publisher?, type?, in_force?, limit?)- search by title fragment / year / publisher / act type / in-force status.publisher:DU(Dziennik Ustaw) orMP(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. IteratepagewhilestructuredContent.pagination.has_moreis true, or passsearch_text(e.g."Art. 118.") to get the fragment around the first hit in one call.structuredContent.text_versionsays 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 inconsolidated_text_eli. Acts published only as PDF return thetext_unavailable_use_pdferror 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)".
Stack
- Node 18+ (built-in
fetch) @modelcontextprotocol/sdk- Stdio transport
- 500 ms throttle between requests (2 req/s)
- No scraping - pure REST JSON API
Build + run
Wiring into Patron
In patron/backend/mcp-servers.json:
Smoke test
Should return the Personal Data Protection Act of 10 May 2018,
status IN_FORCE, a link to ISAP and a structured citation.
Lineage
API contract derived from legal-data-hunter/sources/PL/DziennikUrzedowy
(Python + REST, MIT). TS implementation from scratch - no source code imported.
License
MIT.
Part of MateMatic
This connector queries its source live. It is one of the Polish and EU source connectors bundled in PATRON and works with any MCP client.
- Poland, one server for all sources: prawo-pl-mcp · each source on its own: mcp-saos · mcp-nsa · mcp-isap (this repo) · mcp-krs · mcp-eureka · kio-orzeczenia-mcp
- European Union: mcp-eu-sparql (live) · mcp-eu-compliance (offline corpus)
- A prepared corpus of Polish and EU law with a citation graph: Repertorium
mcp-saos, mcp-nsa, mcp-isap, mcp-krs and mcp-eu-sparql share one 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.
Source: README.md at commit 94f3de7
Tools
0Version history
2- v1.4.2LatestOct 13, 2026
- v1.3.0Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts