menjometre
segellfosc-dev-ayfx/menjometreMenjometre is an independent observatory of Catalan public spending. This MCP server gives any LLM client read-only access to the full dataset and the statistical scoring layer built on top of it. ## Coverage - **~19.5 M** grant records from the Registre d'Ajuts i Subvencions de Catalunya (RAISC), 2016–present - **~1.7 M** public procurement contracts from Dades Obertes de Catalunya - **~496 K** beneficiary entities with normalised identities - A **public-figure graph** linking Parlament deputies, Generalitat officials, and the boards of publicly-funded entities - The **Menjometre score** — a statistical indicator flagging concentration and recurrence patterns in public spending ## What the 48 tools cover | Domain | What you can ask | |---|---| | `entities` | Search, profile, network, activity timeline for any funded organisation | | `grants` | RAISC lookups, concentration analysis, purpose trees, year-over-year trends | | `contractes` | Procurement lookups, sole-source detection, fragmentation patterns | | `organs` | Granting-body rankings and profiles | | `xarxa` | Public-figure graph, shortest path between two people, cluster investigation | | `pressupostos` | Generalitat budget surface | | `meta` | Methodology, scoring explanation, upstream attribution manifest | ## Example prompts - *"Which ten Catalan entities received the most RAISC funds in 2024?"* - *"Show me the concentration profile of the entity with CIF A08000143."* - *"Which grant-giving bodies award the largest share of their budget to a single beneficiary?"* - *"What percentage of Ajuntament de Girona's contracts are sole-source?"* - *"Explain how the Menjometre score is computed."* ## Response envelope Every tool response ships with four things: 1. **Attribution** — a `sources` array citing the upstream dataset, licence (CC-BY-4.0 / Llei 37/2007), and publisher 2. **Scope predicate** — personal-data filters enforced at the database query, not client-side 3. **Framing** — scored responses embed a `score_meta` block with a `not_an_accusation` disclaimer and a link to the methodology page 4. **Neutral statistical language** — the server returns "top decile", "around the median", never accusatory framing Safe for journalism, academic research, and civic-tech tooling. ## Install via npm ```json { "mcpServers": { "menjometre": { "command": "npx", "args": ["-y", "menjometre-mcp"] } } } Also reachable directly over Streamable HTTP at https://www.menjometre.cat/mcp.
Tools · 95
Search across entities, politicians, contracts, grants, organs, and persons. Returns top matches with type, name, slug/id, and a short context line.
Enumerate all valid filter values the other tools accept: departments, organs, finalitats, parties, comarques, vegueríes, beneficiary types, procedure types.
Global counts, EUR totals, and last-sync metadata across grants, contracts, entities, and persons.
Full entity profile plus Menjometre scores with natural-language explanations. Accepts slug or CIF. For deeper analysis: use `get_entity_grants`/`get_entity_contracts` for transaction lists, `get_enti…
Grants awarded to the entity with filters (year range, min amount, department) and cursor pagination. Each grant row includes its ID — to get the official DOGC/BOE source document for a specific grant…
Contracts **received by** the entity — the entity acts as the supplier / adjudicatari that was awarded the contract. Use this when you want to know which public tenders an entity has won (money flowin…
Contracts **issued by** the entity — the entity acts as the contracting body (organ / atorgant) that awarded the contract to a supplier. Use this when you want to know how much public money an ajuntam…
Yearly financial timeline filed with the Generalitat registry of entities. Returns revenue, grant income, personnel cost, operating result, and dependency ratios. Not all entities have financial data.
Aggregated risk dossier: concentration, recurrence, sole-source, fragmentation, dependency, accountability — with textual interpretation per axis. To investigate flagged patterns further, use `list_do…
Spending received by the entity via acció concertada (Llei 12/2007 / Decret 69/2020 — social-services concert with the Generalitat). Not captured by RAISC grants or public-contract datasets. Returns y…
Yearly municipal budget lines where the Ajuntament de Barcelona consigned funds to this entity (despeses executades + ingressos). Returns one row per (year, source) with obligat, crèdit definitiu, pag…
Parameterised top-N ranking across entities. `metric` ∈ total_public_funds | menjometre_score | total_grants | total_contracts | total_accio_concertada | sole_source_pct | grant_dependency_pct. Filter…
Side-by-side comparison of 2–5 entities (slug or CIF).
Profile, total public years (merged tenure), party, institution, salary, BORME vincles count.
Resolves a free-form person name to a politician slug + display name + party + institution. Used for cross-linking from other surfaces (e.g. BCN personal eventual rows). Accent + case insensitive. Ret…
Detailed salary time-series across positions.
Positions filtered by institution, party, vinculacio (Alts càrrecs / Altres directius / Eventuals / Electes / Electes municipals), active_status (ACTIVE_VERIFIED / INACTIVE_CONFIRMED / UNKNOWN).
Pending DOGC cessaments that the 3-layer matcher couldn't auto-bind to a single politician position (ambiguous or low-confidence candidates). Returns candidate positions with scoring breakdown for hum…
Party aggregates: member count, total accumulated years, average salary.
Global political dashboard: total positions, party distribution (count, avg salary, salary mass), appointed positions by party, top earners.
Declared patrimony + detected BORME vincles for one politician.
Entity-side: politicians linked to the entity via BORME roles + person_entity_roles.
Given a person name and an entity identifier, return every known link (BORME role, political position, declarations, grants received while in office, contracts, lobby meetings).
Proactive real-time scan: active public officials with BORME/REJC roles in entities receiving public contracts or grants from their institution. Uses get_conflict_of_interest() RPC for live detection.
Lobby meetings from the Generalitat transparency portal. Filters: official name, interest group, date range.
Single contracting body profile: total contracts, total amount, % sole-source, % menor, % competitive, top-5 suppliers share.
Contracting bodies catalog with filters (semaphore, search) and pagination.
Ranked list of the suppliers (adjudicataris) a contracting body has awarded the most money to, aggregated across its non-superseded contracts. This is the breakdown behind the `pct_top5` figure in `ge…
Instrumental/public body profile including type (consorci, empresa pública, fundació) and parent administration.
Instrumental public entities catalog filtered by type/comarca.
Generalitat budget dashboard for a fiscal year: FULL budget by department (Personal, Transferències, Béns i serveis, Inversions), plus top entities receiving transfers. Exercicis des de 2014; el darre…
Full Generalitat budget for a specific department across years: total executed, broken down by spending chapters (Personal, Transferències, Béns i serveis, Inversions). Filter by department name. Exer…
Spending chapters (Personal, Transferències, Béns i serveis, Inversions) for a department in a given year. Shows how the department's budget is distributed across spending types. Exercicis des de 2014…
"Rendiment de l'euro públic": per-department cost-vs-outcome analysis. Returns deflated cost trends, service/quality metrics, inefficiency ratios, and scores for all analysed departments. Optional dep…
Catalonia revenue (taxes, state transfers, debt) vs total spending by year. Shows income breakdown by source.
Transfers from Generalitat departments to specific public entities. Filter by department, entity name, or year. This is a SUBSET of the full budget — only the portion transferred to identifiable entit…
Full Generalitat budget evolution des de 2014: total spending and department count per executed year; el darrer exercici pot ser aprovat sense execució (camp estat). Approved/projecte exercicis are re…
Programa-level breakdown of the Generalitat approved/projecte budget for an exercici (e.g. 2023 aprovat, 2026 projecte de llei): seccio, política de despesa and programa with import consolidat and bru…
Barcelona City Council budget lines (despeses + ingressos) where this entity was identified as a nominative beneficiary by fuzzy name match (pg_trgm ≥ 0.80). Returns one row per (year, programa, subco…
Top beneficiaries of the Barcelona City Council executed budget for a given year, grouped by the raw CSV text_subconcepte and ordered by pagat (cash disbursed). Returns every top recipient in the data…
Summary of the Ajuntament de Barcelona executed budget: year-by-year totals across despeses + ingressos (obligat, crèdit definitiu, pagat, line count, resolved-entity count), and an optional per-capít…
Cost identificable + concentració de càrrecs del personal directiu i eventual de l'Ajuntament de Barcelona (alts càrrecs, regidors, membres de consells municipals i directius de societats municipals).…
Top persons holding multiple governance positions across the BCN public-sector ecosystem (Ajuntament + societats municipals + consorcis). Each row reports the person's role count and their ONE annual …
Cost del personal directiu i eventual desglossat per àrea o societat municipal. Quan l'àrea coincideix amb una entitat al catàleg (resolved_entity_id), s'enllaça a la fitxa corresponent. Salaris compu…
Detall d'una persona del personal directiu i eventual de l'Ajuntament de Barcelona: tots els seus càrrecs (amb àrea i entitat resolta si n'hi ha), retribució anual única, i autoritzacions de compatibi…
Global network metrics: node counts, edge counts, connectivity, top hubs.
Geographic breakdown of network density (edges per comarca).
BFS from a single person up to a max depth (hard-capped at 3).
BFS from a single entity up to a max depth (hard-capped at 3).
Bounded BFS shortest path between two graph nodes. Max depth hard-capped at 5 in the RPC.
Highest-degree nodes filtered by type + metric.
Louvain communities computed nightly. Returns the top clusters by size.
Full member list of a Louvain cluster with entity + person joins.
Contract graph for an organ or entity: sole-source patterns, repeat suppliers, fragmentation signals.
Translate a EUR amount into scale-sensitive, neutral reference points (salary multiples, per-capita, % Generalitat budget, etc.).
Generic yearly time-series by dimension/metric (grants, contracts, entities).
Bulk JSON export of grants/contracts/entities with filters. CSV is emitted as plain text for LLM consumption.
Scoring methodology, data sources, last-sync timestamps, definitions. Citable for LLM outputs.
List every official source URL attached to a single record (grant, contract, etc.). Grants link to DOGC/BOE regulatory pages (HTML). Contracts link to PSCP award pages (HTML). To read the full text of…
All official source documents for an entity — grant regulatory pages (DOGC/BOE) and contract award pages (PSCP). Returns up to 200 URLs with metadata (type, title, date, authority, language). This is …
Fetch and extract plain text from any source URL returned by `get_source_documents` or `list_documents_for_entity`. Handles HTML (via readability) and PDF (via pdf-parse). Default 256 kB; set `max_kb`…
List every PDF and document attached to a PSCP contract across all stages (Licitació, Adjudicació, Formalització, etc.). Given a contract ID from our DB, resolves the PSCP publication, discovers sibli…
Download and extract plain text from a PSCP contract PDF. Requires `doc_id` and `hash` from `get_contract_documents`. The hash acts as an access token — no authentication needed. Returns extracted tex…
Breakdown of a contractor's public-sector contracts by procurement procedure. Returns one row per procedure_type with contract count, total and average amount, average number of bidders, and share of …
Lists month×awarding-body clusters where a contractor received two or more sub-15k EUR minor contracts that together exceed the LCSP art. 118 threshold — the canonical bid-splitting signal. Each row s…
Lists every public body that funded a beneficiary via grants or contracts, ranked by combined amount. Each row reports grants vs contracts split, count, year range, and share of total funding. Include…
Finds consecutive-year grant streaks from the same public funder to the same beneficiary. Returns one row per streak with start/end year, years count, grant count, total and yearly average amount. Use…
Returns grants aggregated by year and by funder department for a given thematic purpose. The theme can be a RAISC code or a free-text keyword (matched case-insensitively against both finalitat_rais an…
Aggregate public spending for a free-text topic (e.g. «menjadors escolars», «vigilància»): total amount, number of operations, distinct beneficiary entities, yearly trend, top entities and example rec…
Search official document text (GAIP/TCCSP resolutions, Sindicatura reports, DOGC) by meaning, not just keywords. Returns matching snippets with their source type and an outbound source URL. Falls back…
Hybrid keyword+semantic search across contracts and long document chunks for a topic, fused with reciprocal-rank fusion. Returns a {contracts, documents} structure. Degrades to keyword-only automatica…
Semantic search over transparency resolutions (GAIP and TCCSP) by meaning. Optionally restrict to one body. Returns the resolution, its neutral outcome label, a snippet and the official source link.
Semantic search over Sindicatura de Comptes audit reports by meaning. Returns matching report passages with the official source link.
Ranking de cossos/organismes per quota de reclamacions d'accés a la informació resoltes en contra seva (Wilson lower-bound, llindar de volum). Mesura NOMÉS els casos reclamats davant la GAIP/TCCSP, no…
Cerca per paraula clau o frase sobre les resolucions de control extern — GAIP (accés a la informació), TCCSP (contractació) i Síndic de Greuges (queixes ciutadanes) — amb filtres opcionals. Gra = una …
Resum de control extern per a un cos/organisme concret (per organ_slug), amb una fila per font present (GAIP, TCCSP, Síndic de Greuges): recomptes, taxa (per GAIP/TCCSP) i rang de dates. Per al Síndic…
Informes de fiscalització de la Sindicatura de Comptes de Catalunya que auditen un cos/organisme concret (per slug). Són auditories de gestió narratives —no resolucions ni sancions—; el senyal és el V…
Cerca semàntica (per significat) sobre el cos complet dels informes de fiscalització de la Sindicatura de Comptes. Incrusta la consulta i retorna els informes més rellevants amb un fragment i la distà…
Panell general del Delictòmetre (índex de criminalitat ponderat per gravetat) per a tota Catalunya en un any: índex base 100, fets penals coneguts geolocalitzats, taxa per 100.000 habitants, resolució…
Rànquing de totes les Àrees Bàsiques Policials (ABP) de Catalunya per l'índex Delictòmetre (base 100 = mitjana catalana), per a un any i, opcionalment, un tipus de delicte concret. Cada fila porta índ…
Fitxa completa de seguretat d'una Àrea Bàsica Policial: índex Delictòmetre (base 100), fets coneguts, resolts i detencions, taxes per 100.000 hab., desglossament per macro-categoria i per títol del Co…
Desglossament de la criminalitat per tipus de delicte (títol del Codi Penal) o per macro-categoria, per a tota Catalunya (per defecte) o per a una ABP concreta. Cada fila porta fets coneguts, harm per…
Desglossament fi per subtipus (p. ex. 'Assassinat Consumat', 'Homicidi Temptativa') dins d'un títol del Codi Penal, per a una ABP. Cada subtipus porta el seu pes de gravetat específic (dies de pena ba…
Índex de criminalitat dels 10 districtes de Barcelona per a un any (i, opcionalment, un tipus de delicte). Denominador: padró municipal per districte (BCN Open Data), amb el mateix barem base 100 = mi…
Taula de pesos de gravetat: per a cada títol del Codi Penal, els dies de pena base del seu delicte de referència (l'article i el 'starting point' del qual surt el pes). És la clau metodològica del Del…
Catàleg de les capes de dades territorials de l'Atlas de Catalunya: què mesura cadascuna, amb quin gra, quina anyada, quina font i quin règim de confidencialitat. Punt d'entrada obligatori: els identi…
Valors d'una capa de l'Atlas per a tots els territoris d'un gra, ordenats. Retorna cobertura per estat perquè una absència no es pugui confondre mai amb un zero.
Cerca codis i noms de municipis, comarques, seccions censals i barris de Barcelona perquè les altres eines de l'Atlas rebin identificadors estables.
Sèrie anual d'una capa demo de l'Atlas per a un territori concret. Retorna els estats de publicació i la mitjana catalana anual quan existeix.
Perfil públic de la lent Barcelona per barri: subregions mundials del padró municipal, amb supressions preservades i sèrie anual quan es demana una subregió.
Resum del panell educatiu d'un municipi, secció o comarca: competències per servei territorial i concerts educatius agregats, amb drill-down limitat de centres.
Resum sanitari territorial: indicadors d'atenció primària per ABS i llistes d'espera per regió sanitària. No agrega ABS o hospitals a límits municipals inventats.
Serveix el panell públic d'associació ABP precomputat: subtipus delictius × predictors permesos (foreign total, renda, atur, lloguer), amb rho, n_eff CRH, p FDR i anyades. No consulta la base de dades…
Fitxa territorial completa: totes les capes publicades de l'Atlas per a un municipi, una comarca o una secció censal, amb valor, índex respecte de la mitjana catalana, anyada, fiabilitat i motiu d'abs…
Compara diversos territoris sobre les mateixes capes publicades de l'Atlas, amb la mitjana catalana com a referència. Cada cel·la porta el seu estat: una absència o una supressió no es compara mai com…
Similar MCP servers embedding-nearest
How to use
Add to your Claude Desktop / Cursor / Cline MCP config:
{
"mcpServers": {
"menjometre": {
"url": "https://menjometre.cat/mcp",
"transport": "http"
}
}
}