Eur MCP Server

Search EU legislation, CJEU case law, and treaties; traverse CELLAR graph; browse EuroVoc concepts.

Remote serverstreamable-http

What is the Eur MCP server?

If you already use Eur, the eur mcp server is the piece that lets your assistant work with it directly. Search EU legislation, CJEU case law, and treaties; traverse CELLAR graph; browse EuroVoc concepts.

What the server does

  • Declarative tool, resource, and prompt definitions — single file per primitive, framework handles registration and validation
  • Unified error handling — handlers throw, framework catches, classifies, and formats
  • Pluggable auth: none, jwt, oauth
  • Swappable storage backends: in-memory, filesystem, Supabase, Cloudflare KV/R2/D1
  • Structured logging with optional OpenTelemetry tracing
  • STDIO and Streamable HTTP transports

Installation

Because this one is hosted, setup is mostly authentication — you point your client at the endpoint and approve access. Nothing runs on your machine, so there is no runtime to keep patched.

Available tools

The toolset is worth reading before you wire it up, because it tells you what the integration is really for:

  • eurlex_search_documents — Search EU legislation, treaties, and preparatory acts across the CELLAR corpus. Filters by document type, date range, EuroVoc concept, author
  • eurlex_get_document — Fetch structured metadata and full text (HTML, Markdown, or Formex4 XML) for a work by CELEX number or ELI URI
  • eurlex_lookup_celex — Resolve an EU legal citation — a CELEX number or an ELI URI — to the canonical CELLAR work
  • eurlex_get_cases — Search CJEU and General Court case law — judgments, orders, and Advocate General opinions — by case number, party name, subject, or date range
  • eurlex_get_relations — Traverse the CELLAR relationship graph: amendment chain, consolidated versions, legal basis, citation network, and national transposition measures
  • eurlex_browse_subjects — Search the EuroVoc multilingual thesaurus to resolve human-readable terms to EuroVoc concept IDs — required before using the eurovoc_concept filter
  • eurlex_query_sparql — Execute a raw SPARQL SELECT query against the CELLAR Virtuoso endpoint. Results capped at 100; use only when curated tools don't cover the needed CDM
  • Prerequisites — The Prerequisites tool exposed by this server
  • Installation — The Installation tool exposed by this server

Credentials and setup notes

Configuration is passed through the environment: MCP_TRANSPORT_TYPE, MCP_LOG_LEVEL, EURLEX_CONTENT_BASE_URL. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.

  • Bun v1.3.11 or higher (or Node.js v24+). - No API key needed — EUR-Lex and CELLAR are publicly accessible.

Worth knowing first

  • Your data travels to the provider's service, so the usual questions apply about what you send and what they retain.
  • With 9 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Eur.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Where it fits

Plenty of file and storage access servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Eur's toolset — eurlex_search_documents, eurlex_get_document, eurlex_lookup_celex and 6 more — is a fair guide to whether it matches your workflow. It is maintained by cyanheads; worth a glance at recent repository activity before you build anything load-bearing on it.

We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.

Available tools

ToolWhat it does
eurlex_search_documentsSearch EU legislation, treaties, and preparatory acts across the CELLAR corpus. Filters by document type, date range, EuroVoc concept, author institution, and in-force status.
eurlex_get_documentFetch structured metadata and full text (HTML, Markdown, or Formex4 XML) for a work by CELEX number or ELI URI.
eurlex_lookup_celexResolve an EU legal citation — a CELEX number or an ELI URI — to the canonical CELLAR work.
eurlex_get_casesSearch CJEU and General Court case law — judgments, orders, and Advocate General opinions — by case number, party name, subject, or date range.
eurlex_get_relationsTraverse the CELLAR relationship graph: amendment chain, consolidated versions, legal basis, citation network, and national transposition measures.
eurlex_browse_subjectsSearch the EuroVoc multilingual thesaurus to resolve human-readable terms to EuroVoc concept IDs — required before using the eurovoc_concept filter in eurlex_search_documents.
eurlex_query_sparqlExecute a raw SPARQL SELECT query against the CELLAR Virtuoso endpoint. Results capped at 100; use only when curated tools don't cover the needed CDM ontology traversal.
PrerequisitesThe Prerequisites tool exposed by this server.
InstallationThe Installation tool exposed by this server.

How to install the Eur MCP server

{
  "mcpServers": {
    "eur-lex-mcp-server": {
      "type": "streamable-http",
      "url": "https://eur-lex.caseyjhand.com/mcp"
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

  • Bun v1.3.11 or higher (or Node.js v24+). - No API key needed — EUR-Lex and CELLAR are publicly accessible.
VariableDescriptionRequired
MCP_TRANSPORT_TYPEConfiguration value read at startup.Optional
MCP_LOG_LEVELConfiguration value read at startup.Optional
EURLEX_CONTENT_BASE_URLEndpoint or connection string the server talks to.Yes

Example prompts to try

  • Use Eur to eurlex search documents.
  • Use Eur to eurlex get document.
  • Use Eur to eurlex lookup celex.

Frequently asked questions

It connects Eur to MCP-compatible AI assistants such as Claude and Cursor, exposing 9 tools (eurlex_search_documents, eurlex_get_document, eurlex_lookup_celex, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Eur directly.