polish-caselaw-mcp

polish-caselaw-mcp

MCP server for querying live Polish court case law (orzecznictwo) via the SAOS API, offering tools to search judgments, fetch full cases, find judgments citing specific statutory provisions, and check Constitutional Tribunal citations.

Category
Visit Server

README

Polish Case Law MCP (polish-caselaw-mcp)

An MCP server exposing Polish court case law (orzecznictwo) live from the SAOS API. It has no local database — every tool call queries SAOS at request time.

The response envelope and the artNNNparN article-reference scheme mirror polish-law-mcp (Polish statutes from ISAP), so a client can compose both servers and follow a judgment straight to the provision it cites. This is an independent implementation that shares those conventions for interoperability; it is not derived from that server's code.

Tools

  • search_case_law — search judgments (query, court type, dates, sort, limit)
  • get_judgment — full judgment by SAOS id (text, judges, referenced regulations as ELI ids + article refs)
  • find_judgments_for_provision — judgments citing a statute provision (pl-du-YYYY-NNN), verified against referenced regulations
  • check_constitutional_status — Constitutional Tribunal (TK) judgments citing a provision (does NOT assert the provision was struck down — read the operative part)
  • list_courts — court types for filtering
  • caselaw_about / caselaw_list_sources — provenance and legal basis (prefixed to avoid name clashes with sibling MCP servers in a gateway)

All tools return { results, _metadata } (ToolResponse). get_judgment exposes referenced_regulations[].articles_refs for cross-server linking.

Run

npm install
npm run build
npm start            # stdio MCP server

Install

The server speaks MCP over stdio. Pick whichever setup matches your client.

Docker MCP Gateway

mcp-gateway-server.yaml already points at the published image, so no build is needed:

docker mcp profile server add default --server file://"$PWD/mcp-gateway-server.yaml"

To run your own build instead, set image: in that file to a local tag and build it first:

docker build -t polish-caselaw-mcp:local .

The gateway's --block-network flag cuts SAOS off; tools then return a clear network error rather than hanging.

Standalone — Docker

Any MCP client that launches a stdio command can run the image directly. --rm -i matters: the server talks over stdin/stdout and should not outlive the client.

{
  "mcpServers": {
    "polish-caselaw": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "ghcr.io/pawelharacz/polish-caselaw-mcp:latest"]
    }
  }
}

Pass configuration through with -e:

"args": ["run", "--rm", "-i", "-e", "SAOS_TIMEOUT_MS=60000",
         "ghcr.io/pawelharacz/polish-caselaw-mcp:latest"]

Standalone — Node

Without Docker, point the client at the built entrypoint:

{
  "mcpServers": {
    "polish-caselaw": {
      "command": "node",
      "args": ["/absolute/path/to/polish-caselaw-mcp/dist/index.js"],
      "env": { "SAOS_TIMEOUT_MS": "60000" }
    }
  }
}

Run npm install && npm run build first — dist/ is not committed.

Claude Code

claude mcp add polish-caselaw -- docker run --rm -i ghcr.io/pawelharacz/polish-caselaw-mcp:latest

Verify with /mcp, then call caselaw_about — it returns provenance without touching SAOS, so it confirms the server is wired up even if the API is slow.

Configuration

Variable Default Purpose
SAOS_TIMEOUT_MS 45000 HTTP timeout per SAOS request. /search/judgments regularly takes 20–35s under load, so short timeouts abort requests that would have succeeded.
SAOS_RETRY_BACKOFF_MS 500 Delay before the single retry, so a slow upstream is not hit again immediately.

Legal

Court decisions are not statutes. See sources.yml for the legal basis. Research tool, not legal advice — verify against official court portals.

License

Apache-2.0

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured