Andorra public sources
Andorra public data: BOPA bulletin, statistics, maps, e-tramits procedures and govern.ad pages
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
fonts-andorraclaude mcp add andorra-public-sources -- uvx fonts-andorra==0.2.0
{
"mcpServers": {
"andorra-public-sources": {
"command": "uvx",
"args": [
"fonts-andorra==0.2.0"
]
}
}
}
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
Fonts públiques d'Andorra
Catàleg educatiu i petits clients Python per trobar i consultar les fonts públiques d'Andorra. Documenta com són els endpoints, les condicions de reutilització, el comportament verificat i els paranys pràctics, i exposa una selecció de dades en directe a través de Python, un servidor MCP i un assistent que cita les fonts.
Projecte educatiu independent. No està afiliat al Govern d'Andorra ni a cap de les institucions esmentades.
Fonts
| ID | Font | Sector | Accés |
|---|---|---|---|
afa-feeds | Andorran Financial Authority feeds | Finances i regulació | feed |
bopa | Butlletí Oficial del Principat d'Andorra | Legislació i butlletins oficials | api, downloads |
carburants | Fuel stations and reference prices | Energia i carburants | arcgis-rest |
cass-estadistiques | CASS statistics downloads | Seguretat social | downloads |
consell-general-feeds | Consell General news feeds | Parlament i informació cívica | feed |
e-tramits | e-tramits procedures | Serveis públics i tràmits | html |
estadistica-api | Andorra Department of Statistics API | Estadística oficial | api |
govern-ad | Govern d'Andorra information pages | Serveis públics i tràmits | html |
meteo-ad | meteo.ad station charts | Meteorologia i clima | html |
sig-arcgis | Govern d'Andorra ArcGIS Enterprise | Geografia i cartografia | arcgis-rest |
transparencia | Transparency portal | Transparència i administració pública | html, downloads |
Les condicions de reutilització de cada font es detallen a Condicions de les dades d'origen i a cada fitxa de sources/.
Inici ràpid
Cal Python 3.10 o posterior:
python -m venv .venv
.venv/bin/pip install -e ".[dev]"
.venv/bin/fonts-andorra-mcp
El servidor MCP es comunica per stdio. Configura Claude Desktop, Claude Code o Cursor amb l'ordre instal·lada:
{
"mcpServers": {
"andorra-fonts-publiques": {
"command": "/absolute/path/to/andorra-fonts-publiques/.venv/bin/fonts-andorra-mcp"
}
}
}
Instal·lar el servidor MCP
Executa el servidor publicat amb uvx:
uvx fonts-andorra
Configuració de Claude Desktop:
{
"mcpServers": {
"andorra": {
"command": "uvx",
"args": ["fonts-andorra"]
}
}
}
Assistent amb cites
Fes una pregunta amb cites fent servir l'API REST de Gemini. Defineix GEMINI_API_KEY a l'entorn; mai no es desa en aquest repositori:
GEMINI_API_KEY=... .venv/bin/fonts-andorra-ask "Quant triga l'autorització inicial de residència i treball?"
.venv/bin/fonts-andorra-ask "Where can I find official unemployment statistics?" --lang en --json
Els clients també es poden importar directament:
from fonts_andorra.clients.estadistica import data, search
tables = search("atur")
rows = data(1070) # Per defecte, startDate=1900 i endDate=2100.
Condicions de les dades d'origen
El codi i el catàleg d'aquest repositori es dediquen al domini públic sota CC0-1.0. Això no canvia la llicència del material d'origen:
- BOPA permet copiar, adaptar, extreure i redistribuir el contingut amb condicions: cal conservar la font i les metadades d'actualització, no desvirtuar-ne el sentit i no donar a entendre cap aval.
- Les dades d'Estadística propietat del Departament d'Estadística són CC BY 4.0; les dades de tercers poden tenir condicions pròpies.
- govern.ad, e-tràmits i Transparència són continguts del Govern amb tots els drets reservats. El projecte en descarrega el cos de les pàgines en directe, les cita i hi enllaça, però no en redistribueix el contingut. Per republicar-lo cal un consentiment per escrit. L'índex local del Govern només conté títols, URL i encapçalaments de secció.
- Les capes ArcGIS i de carburants es tracten com a contingut del Govern amb tots els drets reservats perquè no s'indica cap llicència per element; el projecte les consulta en directe, n'enllaça la font i no en redistribueix el contingut.
- Feeds, meteo.ad i CASS: les condicions per element no existeixen o no s'han revisat; consulta les condicions de l'editor abans de redistribuir-ne les dades.
El catàleg indica les fonts i les condicions una per una. Verifica les condicions de cada element abans de fer-ne un ús comercial o de republicar-lo.
Fitxers del catàleg
sources/<id>.yamlconté les fitxes de les fonts.schema/source.schema.jsonischema/vocab.yamldefineixen el contracte de les fitxes i els vocabularis tancats.indices/dead-routes.yamlrecull els dominis que no responen, comprovats el 2026-10-02.catalog.json,llms.txtillms-full.txtes generen ambpython scripts/build.py.python scripts/validate.pycomprova l'esquema de les fonts, els vocabularis i els identificadors de fonts relacionades.
Índex de cerca local
fonts_andorra/data/index.json conté els títols i URL d'e-tràmits i, del Govern, només títols, URL i encapçalaments de secció; el cos de totes les pàgines es descarrega en directe i es cita, perquè el contingut d'origen té tots els drets reservats. L'assistent cerca tràmits i pàgines del Govern amb BM25 en local i descarrega en directe les pàgines trobades; no fa servir el cercador del web del Govern, que està prohibit.
Per reconstruir-lo a partir d'e-tràmits i del sitemap en català del Govern, executa .venv/bin/python scripts/build_index.py; aquest generador necessita xarxa i, per això, no forma part de la CI.
Proves
Les proves funcionen sense connexió i fan servir respostes públiques desades:
.venv/bin/ruff check .
.venv/bin/pytest -q
python scripts/validate.py
python scripts/build.py
CI
ci.yml executa el lint, les proves sense connexió, la validació i la comprovació dels fitxers generats a cada push i pull request; live.yml fa comprovacions setmanals en directe i en penja un informe.
La comprovació de l'assistent de live.yml necessita el secret GEMINI_API_KEY al repositori.
Avaluació de l'assistent
evals/procedures.yaml conté 10 tràmits reals amb la resposta de referència (preu, termini màxim de resolució, període de sol·licitud i si cal anar-hi presencialment), presa de les pàgines d'e-tràmits el 2026-10-02. S'executa amb:
GEMINI_API_KEY=... .venv/bin/python evals/run.py --baseline
Últim resultat (evals/results-2026-10-03.md, gemini-2.5-flash): 10/10 casos superats amb el tràmit correcte citat i 18/18 dades correctes. El mateix model sense fonts n'encerta 3/18. Aquests 10 casos també es van fer servir per ajustar la cerca, així que s'han de considerar un joc de regressió i no pas una avaluació independent.
Joc reservat
evals/heldout.yaml conté 20 casos més, escrits un cop acabat l'ajust: 15 tràmits que no s'havien fet servir per ajustar (ca/es/fr/en) i 5 preguntes que cap font d'aquí no pot respondre (el temps, preus de forfets d'esquí, cues a la frontera, el telèfon personal d'un ministre i els dies de vacances de l'usuari), que l'assistent ha de declinar sense donar cap xifra.
GEMINI_API_KEY=... .venv/bin/python evals/run.py --cases evals/heldout.yaml --baseline
- Primera execució (
evals/results-heldout-2026-10-03-first-run.md): 15/20 segons el puntuador. Tres errors eren del puntuador (no llegia cites escrites com[1, 2]i no reconeixia "no se encontró" com a resposta declinada). Tornant a puntuar les mateixes respostes surt 18/20. Els dos errors reals:- El filtre de dades personals emmascarava dates com
23-09-2026com si fossin telèfons, i l'assistent no podia donar el període de sol·licitud. Ja està corregit. - Per a "I'm selling my flat and need the habitability certificate", va respondre a partir de la cèdula d'habitabilitat (2 mesos) en lloc del certificat d'habitabilitat (72 hores). La pregunta és ambigua, perquè una venda necessita la cèdula.
- El filtre de dades personals emmascarava dates com
- Després de les correccions (
evals/results-heldout-2026-10-03.md): 20/20, 23/23 dades, 5/5 preguntes sense resposta declinades i 0 cites incorrectes. El mateix model sense fonts n'encerta 6/23. El cas de l'habitabilitat va passar perquè la cerca va retornar uns altres tràmits, no gràcies a cap correcció. La generació de paraules clau no és del tot determinista, així que aquest cas pot canviar.
A partir d'aquí aquest joc ja no és estrictament reservat: s'hi va trobar una correcció. Les noves fallades s'han de corregir amb casos nous.
La proposta d'una pàgina per al Govern és a docs/pitch.md.
Frequently asked questions
What is Andorra public sources?
Andorra public data: BOPA bulletin, statistics, maps, e-tramits procedures and govern.ad pages
How do I install Andorra public sources?
It runs on your machine. In Claude Code: claude mcp add andorra-public-sources -- uvx fonts-andorra==0.2.0. For other clients, paste the JSON configuration from this page into their MCP settings.
Does Andorra public sources need an API key?
Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.
Is Andorra public sources open source?
Yes. Its code is on GitHub under the CC0-1.0 license.
Who maintains Andorra public sources?
It is published by joalavedra. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.