Projects & libraries
OpenLegis is reuse-first and open source. Here are my projects and published libraries — Apache-2.0 code, data from official and citable sources. Everything is installable and inspectable.
Where it began
It all started with RepublicMCP: an MCP server that exposes the Italian Chamber and Senate as agentic tools over SPARQL. Mapping the OCD (Chamber) and OSR (Senate) ontologies and their relations is what sparked the bigger idea — uniting law and public data into a single queryable graph. OpenLegis is the natural evolution.
The two ontologies look similar and diverge in subtle, dangerous ways: the Chamber uses foaf:surname, the Senate foaf:lastName; the Chamber expresses the legislature as a full URI, the Senate as a plain integer; mandate start/end properties have different names (ocd:startDate/endDate vs osr:inizio/fine). I mapped and documented them one by one, with example queries — the kind of detail you usually only discover after a failed query.
The full Chamber ↔ Senate mapping, with example queries ↗
My projects
Open data
What it stands on
Nothing from scratch where a standard exists:
GraphRAG engine (MIT): text, graph and semantic search.
The Italian body of law in Akoma Ntoso (CC BY 4.0).
Linked Open Data of the Chamber (OCD ontology).
Open Data of the Senate (OSR ontology).
EU law and the semantic repository (CELEX, ELI).
How to install
Both MCP servers work from Claude Desktop, Cursor and other compatible clients. The full guide is on the MCP server page.
republic-mcp · npm ↗ · open-parlamento-mcp · PyPI ↗ · RepublicMCP · GitHub ↗ · open-parlamento-mcp · GitHub ↗
FAQ
Which project did OpenLegis grow out of?
RepublicMCP: the MCP server that exposes the Chamber and Senate over SPARQL. Mapping the OCD and OSR ontologies sparked the idea of uniting law and data into a single queryable graph.
Are the projects open source?
Yes. The code is published under the Apache-2.0 license on GitHub; packages are on npm (republic-mcp) and PyPI (open-parlamento-mcp). Data comes from public, citable sources.
Can I use the libraries without the webapp?
Yes. The MCP servers are standalone: «npx -y republic-mcp» or «pip install open-parlamento-mcp», then configure them in your MCP client. They work independently of the website.
See also
MCP server · Open data · PNRR contracts · MPs · How it works · Versione italiana
Informational tool — not legal advice. Apache-2.0 code, public and citable sources (ELI/CELEX).