Skip to main content
Glama
pwasniowski

mcp-sejm-proces

by pwasniowski

mcp-sejm-proces

MCP server dla polskiego procesu legislacyjnego (druki sejmowe + historia procesu) przez oficjalne, bezpłatne API Sejmu RP (api.sejm.gov.pl). Zero kluczy API.

Autor: Piotr Waśniowski, Legal Link.

Domyka trójkę z Twoim mcp-isap (ustawy, Dz.U./M.P.) i mcp-eu-sparql/mcp-saos/mcp-nsa (orzecznictwo) — ten sam kontrakt structuredContent.citations, ten sam wzorzec kodów błędów, ten sam drift test.

Tools

  • search_prints(title, term?, limit?) — szuka druków po fragmencie tytułu. API Sejmu nie filtruje po swojej stronie — ten tool ściąga pełną listę druków danej kadencji (~1.7 MB, kilka tysięcy pozycji) i filtruje lokalnie. Wynik cache'owany 10 minut.

  • get_print(nr, term?) — metadane druku: tytuł, daty, załączniki PDF, numer procesu.

  • get_process(nr, term?)serce serwera: pełna historia procesu legislacyjnego — etapy (czytania, prace komisji, głosowania), czy przyjęty, link do RCL, i ELI wynikowego aktu jeśli proces zakończył się publikacją.

Domyślna kadencja: 10 (aktualna od 13.11.2023) — sprawdź, czy to się nie zmieniło, jeśli uruchamiasz ten serwer po kolejnych wyborach.

Related MCP server: KRS Poland MCP Server

Domykanie pętli z mcp-isap

get_process zwraca ELI (np. "DU/2024/1635"), gdy proces zakończył się publikacją aktu. To ten sam identyfikator, który przyjmuje mcp-isap.get_act / get_act_text — droga "druk → proces → aktualny tekst ustawy" jest teraz w pełni przejezdna między tymi dwoma serwerami.

Ważne pułapki (potwierdzone empirycznie, 2026-08-05)

  • Nie każdy druk ma własny proces. HTTP 404 na get_process dla realnie istniejącego druku jest normalne (np. pisma dodatkowe, część raportów) — nie jest to błąd serwera. Sprawdzone na żywo: druk 200 i 400 (kadencja 10) nie mają procesu, druk 300 ma proces, ale passed: false i brak ELI.

  • passed: false nie znaczy "odrzucony przez Sejm". Dla dokumentów typu "informacja rządowa" czy "lista kandydatów" to pole bywa false, bo takie dokumenty nie "przechodzą" w sensie ustawodawczym — to nie jest głosowanie, które przegrało.

  • Numer druku z sufiksem to inny dokument. "23-A" (pismo dodatkowe do druku 23) ≠ "23" — potwierdzone na żywym API (term9/prints/23-A zwraca inny tytuł).

Build + run

npm install
npm run build
npm start                 # stdio transport

npm run drift              # offline - spójność INSTRUCTIONS/TOOLS/ErrorCode
npm run test:offline       # offline - walidacja, formatowanie, fixtures z żywych odpowiedzi
npm run smoke               # LIVE - api.sejm.gov.pl (brak udokumentowanego dziennego limitu)

Konfiguracja Claude Desktop

{
  "mcpServers": {
    "sejm-proces": {
      "command": "node",
      "args": ["<ścieżka>/mcp-sejm-proces/dist/index.js"]
    }
  }
}

License

MIT.

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Verified Polish open data for AI agents: debt, budget, 460 MPs, votings, judiciary search, RAG.

  • Search Swiss federal legislation: laws, articles, amendments via the Fedlex SPARQL endpoint.

  • Congressional Documents — full-text search and retrieval over the official

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pwasniowski/mcp-sejm-proces'

If you have feedback or need assistance with the MCP directory API, please join our Discord server