cellar_sparql
Pack: eu-cellar · Endpoint: https://gateway.pipeworx.io/eu-cellar/mcp
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/cellar_sparql for the schema, then POST the same URL with its arguments for the data.
Run your own read-only SPARQL SELECT or ASK against the Publications Office of the European Union CELLAR endpoint, for EU-document questions no purpose-built tool covers — citation graphs, amendment chains, EuroVoc concept traversal, cross-institution counts. The Common Data Model prefix cdm: is http://publications.europa.eu/ontology/cdm#. Writes (INSERT/DELETE/LOAD/CLEAR) are refused, and results are capped.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
query | string | yes | A SPARQL SELECT or ASK query. Virtuoso full-text search is available as ?lit bif:contains "'phrase'". CELEX literals are typed xsd:string — a plain string will match nothing. |
limit | number | no | Maximum rows to return (default 50, max 500). Applied on top of any LIMIT already in the query. |
Example call
Arguments
{
"query": "PREFIX cdm: <http://publications.europa.eu/ontology/cdm#>\nSELECT ?celex ?date WHERE { ?w cdm:resource_legal_id_celex ?celex ; cdm:work_date_document ?date . FILTER(?date > \"2026-01-01\"^^<http://www.w3.org/2001/XMLSchema#date>) }",
"limit": 5
}
curl
curl -X POST https://gateway.pipeworx.io/eu-cellar/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"cellar_sparql","arguments":{"query":"PREFIX cdm: <http://publications.europa.eu/ontology/cdm#>\nSELECT ?celex ?date WHERE { ?w cdm:resource_legal_id_celex ?celex ; cdm:work_date_document ?date . FILTER(?date > \"2026-01-01\"^^<http://www.w3.org/2001/XMLSchema#date>) }","limit":5}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('cellar_sparql', {
"query": "PREFIX cdm: <http://publications.europa.eu/ontology/cdm#>\nSELECT ?celex ?date WHERE { ?w cdm:resource_legal_id_celex ?celex ; cdm:work_date_document ?date . FILTER(?date > \"2026-01-01\"^^<http://www.w3.org/2001/XMLSchema#date>) }",
"limit": 5
});
More examples
{
"query": "PREFIX cdm: <http://publications.europa.eu/ontology/cdm#>\nSELECT ?work ?celex WHERE { ?work cdm:resource_legal_id_celex ?celex ; cdm:work_has_resource-type <http://publications.europa.eu/resource/authority/resource-type/DIR> }",
"limit": 5
}
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"eu-cellar": {
"url": "https://gateway.pipeworx.io/eu-cellar/mcp"
}
}
}
See Getting Started for client-specific install steps.