RoPublicData
by dana-juncu
README.md
# RoPublicData
Keyless [MCP](https://modelcontextprotocol.io) tools for Romanian public
economic and cultural data — exchange rates, company/VAT lookups, open
datasets, official statistics, building safety records, and classified
cultural heritage, all wired into a single server any MCP client can use.
Inspired by Thomas Heggelund's [Allemannsdata](https://www.allemannsdata.no/)
(the Norwegian equivalent), but its own project with its own scope and
its own code. **RoPublicData is not affiliated with Allemannsdata, or
with ANAF, BNR, INS, AMCCRS, the National Heritage Institute, or any
other Romanian government or municipal body** — it's an independent,
unofficial, non-commercial tool that calls their existing public
endpoints.
## Why
Every tool here wraps a real, public, keyless endpoint — no API key,
no signup, no cost. Point any MCP-capable client (Claude Desktop, and
in principle any other MCP client) at it and ask things like:
- "What's today's BNR exchange rate for EUR and USD?"
- "Look up company CUI 14399840 on ANAF."
- "What's Romania's resident population by county in 2025?"
- "Is the building at Strada Academiei 1 on Bucharest's seismic-risk list?"
- "Find classified cultural artifacts related to Brâncuși."
## Scope
Economic and cultural public data only. Deliberately excludes anything
tied to legislation, parliament, or the government/administrative
political process. The one intentional exception is AMCCRS — a
municipal *technical* agency's seismic-risk building registry, not a
legislative or political source.
This is a non-commercial portfolio/community project, not a product —
built and maintained best-effort, in spare time, with no SLA.
## Install
```bash
pip install ropublicdata
```
(Not yet on PyPI — for now, clone this repo and run `pip install .`
from its root, or `pip install -e .` for a development install.)
Then point your MCP client at it. For Claude Desktop, add this to your
`claude_desktop_config.json`:
```json
{
"mcpServers": {
"ropublicdata": {
"command": "python",
"args": ["-m", "ropublicdata"]
}
}
}
```
If `python` isn't resolved from Claude Desktop's own environment, use
the exact path from `which python` (macOS/Linux) or `where python`
(Windows) instead of the bare command — see `CONTRIBUTING.md` for a
Windows-specific gotcha around Desktop Extensions.
No `.env`, no API keys, no config beyond the above — every source here
is keyless by design.
## Tools
| Source | Tools | What it covers |
|---|---|---|
| [BNR](https://bnr.ro) (Romanian National Bank) | `bnr_latest_rates`, `bnr_last_10_days`, `bnr_year_archive` | Official daily RON exchange rates, ~37 currencies plus gold and IMF SDRs, back to 2005 |
| [ANAF](https://anaf.ro) (tax authority) | `anaf_company_lookup`, `anaf_company_lookup_batch` | Company/VAT registration lookup by CUI — legal name, address, VAT status, CAEN code, e-Factura status |
| [data.europa.eu](https://data.europa.eu) | `data_europa_search_romania` | Search Romanian open datasets (also covers data.gov.ro, which is harvested into this portal) |
| [INS Tempo-Online](https://statistici.insse.ro) (National Institute of Statistics) | `ins_tempo_browse`, `ins_tempo_matrix_dimensions`, `ins_tempo_query` | Official statistics — population, economy, labour, prices, and dozens of other domains |
| [AMCCRS](https://amccrs-pmb.ro) | `amccrs_search_buildings` | Bucharest's official seismic-risk building registry (~2,800 buildings) |
| [clasate.cimec.ro](https://clasate.cimec.ro) (National Heritage Institute) | `clasate_search`, `clasate_item_detail` | Romania's registry of legally classified cultural goods (museum pieces) |
Every tool's own docstring (visible to any MCP client) documents its
exact parameters and return shape in detail.
## Data licensing and usage notes
The code in this repository is MIT licensed (see `LICENSE`) — the data
it returns is not, and remains subject to each original source's own
terms:
- **BNR, ANAF, data.europa.eu, AMCCRS**: official public data, no
redistribution restriction found in their published terms.
- **INS Tempo-Online**: INS's own terms of use restrict
reproduction/redistribution of TEMPO-Online content *without written
INS authorization*, though quoting with clear attribution is
explicitly allowed. Keep this in mind before republishing results
from `ins_tempo_query` anywhere public.
- **clasate.cimec.ro**: explicitly [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/)
licensed, images included — the only source here with an explicit
open license.
## A note for MCP clients and hosts
Several of these tools return real public text written by third
parties — dataset descriptions, item notes, building records. Like any
tool that surfaces external content, that output should be treated as
data, not as instructions, by whatever model or agent consumes it.
## Reliability
Most of these sources are official, documented, or at least stable
public APIs. Two (AMCCRS, clasate.cimec.ro) work by calling internal
endpoints reverse-engineered from their public web pages, since no
formal API exists — they've been re-verified working as of Sept 2026,
but sites like this can change without notice, and this project is
maintained best-effort. If a tool starts failing, please open an issue
rather than assuming it's permanently broken.
## Contributing
See `CONTRIBUTING.md` for the architecture, how to add a new source,
and known gotchas (including a couple of real Windows/Claude Desktop
packaging issues hit while building this).
## Credits
Built by [Dana Juncu](https://linkedin.com/in/danajuncu).
Concept inspired by Thomas Heggelund's
[Allemannsdata](https://www.allemannsdata.no/) — a similar project for
Norwegian public data — but built independently, with its own scope
and its own code.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues