Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Eu Sparql

FreeNot checked

MCP server for EU legislation and 57k+ CJEU rulings via the Publications Office SPARQL endpoint (EUR-Lex / Cellar), plus national data-protection decisions from

GitHubEmbed

About

MCP server for EU legislation and 57k+ CJEU rulings via the Publications Office SPARQL endpoint (EUR-Lex / Cellar), plus national data-protection decisions from GDPRhub. CELEX + ECLI on every citation. MIT.

README

Installation (one command)

Published on npm + the MCP Registry (io.github.matematicsolutions/mcp-eu-sparql). Run without cloning:

npx -y @matematicsolutions/mcp-eu-sparql

MCP client configuration (stdio):

{ "mcpServers": { "mcp-eu-sparql": { "command": "npx", "args": ["-y", "@matematicsolutions/mcp-eu-sparql"] } } }

(Building from source - below.)

MCP License: MIT Node

MCP server for EU law and CJEU case law via the Publications Office SPARQL endpoint (Cellar / EUR-Lex), plus national data-protection authority decisions via GDPRhub.

CJEU corpus in Cellar (SPARQL COUNT, 2026-07-08): 34,261 judgments (JUDG), 8,362 orders (ORDER), 14,480 Advocate-General opinions (OPIN_AG) - 57,103 judgments and opinions in total, each with CELEX + ECLI.

Tools

  • search_by_celex(celex, lang?) - act or judgment by CELEX number (e.g. 32016R0679 = GDPR, 62018CJ0311 = Schrems II).
  • search_by_date_range(date_from, date_to, document_type?, lang?, limit?)
    • acts within a date range, optionally narrowed to a type (REG / DIR / DEC / RECO / OPIN).
  • search_cjeu(query?, date_from?, date_to?, document_type?, lang?, limit?) - judgments (JUDG), orders (ORDER) and Advocate-General opinions (OPIN_AG) of the Court of Justice of the EU; optional keyword in the title (parties to the case, case number, keywords of the judgment).
  • search_cjeu_by_ecli(ecli, lang?) - CJEU judgment by ECLI identifier (e.g. ECLI:EU:C:2020:559 = Schrems II).
  • search_gdprhub(query, limit?) - full-text search in GDPRhub (the noyb project wiki): decisions of national data-protection authorities across the EU + commentary on GDPR articles. Content license: CC BY-NC-SA 4.0 - flagged in the license field of every citation.

Every response includes structuredContent.citations with the fields title, url, celex?, ecli?, publication_date?, document_type?, snippet?, license? - Patron reads this field and renders it in the UI panel as the "EU legal acts (EUR-Lex / CJEU)" section.

Stack

  • Node 18+
  • @modelcontextprotocol/sdk
  • Stdio transport (like mcp-saos)
  • Backend: HTTP POST to https://publications.europa.eu/webapi/rdf/sparql with format=application/sparql-results+json; GET to https://gdprhub.eu/api.php (MediaWiki API)

Build + run

npm install
npm run build
node dist/index.js   # starts the server on stdio

Wiring into Patron

In patron/backend/mcp-servers.json:

[
  {
    "name": "saos",
    "transport": "stdio",
    "command": "node",
    "args": ["C:/Users/<YOUR-USER>/mcp-saos/dist/index.js"]
  },
  {
    "name": "eu-sparql",
    "transport": "stdio",
    "command": "node",
    "args": ["C:/Users/<YOUR-USER>/mcp-eu-sparql/dist/index.js"]
  }
]

Tests

npm run drift          # offline: INSTRUCTIONS consistent with TOOLS and ErrorCode
npm run test:offline   # offline: query builders + parsers on fixtures (no network)
npm run smoke          # live: all 5 tools against Cellar + GDPRhub

License

MIT.

Part of the MateMatic legal stack

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.

  • mcp-eu-sparql (this repo) - EU law + CJEU (EUR-Lex / Cellar)
  • mcp-saos - common courts, SN, TK, KIO
  • mcp-nsa - NSA + 16 WSA administrative courts
  • mcp-isap - Polish legislation (Dz.U. + M.P.)
  • mcp-krs - Polish company registry (KRS)

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.

from github.com/matematicsolutions/mcp-eu-sparql

Installing Eu Sparql

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/matematicsolutions/mcp-eu-sparql

FAQ

Is Eu Sparql MCP free?

Yes, Eu Sparql MCP is free — one-click install via Unyly at no cost.

Does Eu Sparql need an API key?

No, Eu Sparql runs without API keys or environment variables.

Is Eu Sparql hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Eu Sparql in Claude Desktop, Claude Code or Cursor?

Open Eu Sparql on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Eu Sparql with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All ai MCPs