io.github.matematicsolutions/mcp-eu-sparql

Registre officiel Autres

EU legislation and CJEU case law via Publications Office SPARQL (Cellar) + GDPRhub DPA decisions.

Que pouvez-vous faire avec io.github.matematicsolutions/mcp-eu-sparql ?

  • search_by_celex(celex, lang?) - act or judgment by CELEX number
  • search_by_date_range(date_from, date_to, document_type?, lang?, limit?)
  • search_cjeu(query?, date_from?, date_to?, document_type?, lang?, limit?) -
  • search_cjeu_by_ecli(ecli, lang?) - CJEU judgment by ECLI
  • search_gdprhub(query, limit?) - full-text search in

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

NPM package @matematicsolutions/mcp-eu-sparql
Claude Code
claude mcp add mcp-eu-sparql -- npx -y @matematicsolutions/mcp-eu-sparql@1.2.1
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "mcp-eu-sparql": {
            "command": "npx",
            "args": [
                "-y",
                "@matematicsolutions/mcp-eu-sparql@1.2.1"
            ]
        }
    }
}

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. mcp-eu-sparql
  2. Installation (one command)
  3. Tools
  4. Stack
  5. Build + run
  6. Wiring into Patron
  7. Tests
  8. License
  9. Part of MateMatic

mcp-eu-sparql

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 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 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.

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.

Questions fréquentes

Qu'est-ce que io.github.matematicsolutions/mcp-eu-sparql ?

EU legislation and CJEU case law via Publications Office SPARQL (Cellar) + GDPRhub DPA decisions.

Comment installer io.github.matematicsolutions/mcp-eu-sparql ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add mcp-eu-sparql -- npx -y @matematicsolutions/mcp-eu-sparql@1.2.1. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour io.github.matematicsolutions/mcp-eu-sparql ?

Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.

io.github.matematicsolutions/mcp-eu-sparql est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient io.github.matematicsolutions/mcp-eu-sparql ?

Il est publié par matematicsolutions. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.