cellar-wrapper

cellar-wrapper

A community-maintained MCP server that simplifies access to EU legal and legislative data from the CELLAR service, supporting lookups, metadata retrieval, relation checks, and monitoring.

Category
Visit Server

README

cellar-wrapper

CI

cellar-wrapper helps you get legal and legislative data from the EU Publications Office CELLAR service in a simpler, more practical way.

You can use it:

  • as a Python library,
  • from the command line,
  • and, if needed, as an MCP server for AI/tool integrations.

This project is community-maintained and unofficial. It is not affiliated with, endorsed by, or operated by the European Union or the Publications Office of the European Union.

Important status

This is an early-stage project.

The Python API, CLI commands, MCP interface, and response shapes may change. Do not treat the current interface as final or stable.

What it is for

The project is meant for people who need to:

  • look up an EU act by CELEX number,
  • fetch basic metadata for an act,
  • check relations such as amendments, repeals, citations, and related case law,
  • monitor whether something new appeared after a given date,
  • download text or legislative summaries,
  • search acts by title, EuroVoc, or subject matter.

In short: it is a practical access layer over CELLAR for legal research, compliance work, and structured data collection.

Current state and limitations

This is a hobby project, not an official product.

Before using it seriously, keep in mind:

  • the project is still evolving, so commands and outputs may change,
  • some data comes directly from CELLAR and can be incomplete, sparse, or inconsistent,
  • not every legal question maps neatly to one command,
  • MCP support exists, but the main practical use today is still Python and the CLI,

Installation

Requires Python 3.11 or newer.

If you want the published package, install the library and CLI with:

pip install cellar-wrapper

If you want the current repository version instead, install directly from GitHub:

pip install "git+https://github.com/Kymylyy/cellar-wrapper.git"

For library, CLI, and MCP support:

pip install "cellar-wrapper[mcp]"

Or from GitHub with the MCP extra:

pip install "cellar-wrapper[mcp] @ git+https://github.com/Kymylyy/cellar-wrapper.git"

Quick use from the command line

For most people, the CLI is the easiest way to start.

Check that the CLI is installed:

cellar --version

Resolve a CELEX number:

cellar lookup resolve-celex --celex 32022R2554

Get metadata for one act:

cellar lookup get-act --celex 32022R2554

Check amendments:

cellar relations get-amendments --celex 32022R2554 --limit 50

Check what is new since a date:

cellar monitoring new-citations --celex 32022R2554 --since 2025-01-01

The CLI returns JSON. On success:

{"ok": true, "data": {...}}

On error:

{"ok": false, "error": {"type": "CellarValidationError", "message": "...", "details": {...}}}

Quick use from Python

from cellar_wrapper import CellarClient

with CellarClient() as client:
    act = client.get_act("32022R2554")
    print(act.celex, act.title)

Help, bugs, and security

If something does not work, or if you want to ask how to use the project:

  • Support and usage questions: SUPPORT.md
  • Bug reports and feature requests: https://github.com/Kymylyy/cellar-wrapper/issues
  • Contributing: CONTRIBUTING.md
  • Security reporting: SECURITY.md

Quick use as MCP

If you want to connect the project to an assistant or another tool through MCP, install the MCP extra:

pip install "cellar-wrapper[mcp]"

Run the server:

python -m cellar_wrapper.mcp_server

Check the version:

python -m cellar_wrapper.mcp_server --version

Environment variables supported by the MCP server:

  • CELLAR_MCP_BASE_URL_SPARQL
  • CELLAR_MCP_BASE_URL_RESOURCE
  • CELLAR_MCP_USER_AGENT
  • CELLAR_MCP_RETRIES
  • CELLAR_MCP_TIMEOUT_CONNECT
  • CELLAR_MCP_TIMEOUT_READ
  • CELLAR_MCP_TIMEOUT_WRITE
  • CELLAR_MCP_TIMEOUT_POOL

Where to look next

  • Docs index: https://github.com/Kymylyy/cellar-wrapper/blob/main/docs/README.md
  • Command guide: https://github.com/Kymylyy/cellar-wrapper/blob/main/docs/COMMAND_GUIDE.md
  • Curated examples: https://github.com/Kymylyy/cellar-wrapper/blob/main/docs/CONTRACT_EXAMPLES.md
  • Contract reference: https://github.com/Kymylyy/cellar-wrapper/blob/main/docs/CONTRACT_REFERENCE.md

For contributors

Main local checks:

ruff check
mypy
pytest -m "not live"
python -m build --sdist --wheel

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
Qdrant Server

Qdrant Server

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

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