Skip to content
Back to search
100
MCP live MCP 2025-11-25 http

menjometre

segellfosc-dev-ayfx/menjometre

Menjometre 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.

Uptime
100.0%
1 direct probes · 30d
Response
927ms
last probe
Tools
95
callable
Resources
0
readable
Prompts
0
available

Tools · 95

search

Search across entities, politicians, contracts, grants, organs, and persons. Returns top matches with type, name, slug/id, and a short context line.

list_filter_options

Enumerate all valid filter values the other tools accept: departments, organs, finalitats, parties, comarques, vegueríes, beneficiary types, procedure types.

get_dataset_stats

Global counts, EUR totals, and last-sync metadata across grants, contracts, entities, and persons.

get_entity

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…

get_entity_grants

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…

get_entity_contracts

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…

get_entity_contracts_as_organ

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…

get_entity_financials

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.

get_entity_risk_analysis

Aggregated risk dossier: concentration, recurrence, sole-source, fragmentation, dependency, accountability — with textual interpretation per axis. To investigate flagged patterns further, use `list_do…

get_entity_accio_concertada

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…

get_entity_municipal_budget

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…

get_rankings

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…

compare_entities

Side-by-side comparison of 2–5 entities (slug or CIF).

get_politician

Profile, total public years (merged tenure), party, institution, salary, BORME vincles count.

find_politician_by_name

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…

get_politician_salary_history

Detailed salary time-series across positions.

list_carrecs

Positions filtered by institution, party, vinculacio (Alts càrrecs / Altres directius / Eventuals / Electes / Electes municipals), active_status (ACTIVE_VERIFIED / INACTIVE_CONFIRMED / UNKNOWN).

get_dogc_cessament_review_pending

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…

get_party

Party aggregates: member count, total accumulated years, average salary.

get_politica_hub

Global political dashboard: total positions, party distribution (count, avg salary, salary mass), appointed positions by party, top earners.

get_politician_conflicts

Declared patrimony + detected BORME vincles for one politician.

get_entity_conflicts

Entity-side: politicians linked to the entity via BORME roles + person_entity_roles.

analyze_conflict_of_interest

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).

detect_undisclosed_conflicts

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.

get_lobby_meetings

Lobby meetings from the Generalitat transparency portal. Filters: official name, interest group, date range.

get_organ

Single contracting body profile: total contracts, total amount, % sole-source, % menor, % competitive, top-5 suppliers share.

list_organs

Contracting bodies catalog with filters (semaphore, search) and pagination.

get_organ_top_suppliers

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…

get_ens_public

Instrumental/public body profile including type (consorci, empresa pública, fundació) and parent administration.

list_ens_publics

Instrumental public entities catalog filtered by type/comarca.

get_pressupostos_hub

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…

get_budget_by_department

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…

get_budget_partides

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…

get_efficiency_analysis

"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…

get_fiscal_deficit

Catalonia revenue (taxes, state transfers, debt) vs total spending by year. Shows income breakdown by source.

get_budget_transfers

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…

get_yearly_trends_budget

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…

get_budget_programes

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…

get_entity_bcn_budget_lines

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…

get_bcn_top_beneficiaris

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…

get_bcn_budget_summary

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…

get_bcn_personal_summary

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).…

get_bcn_personal_role_concentration

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 …

get_bcn_personal_by_area

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…

get_bcn_personal_for_person

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…

get_xarxa_stats

Global network metrics: node counts, edge counts, connectivity, top hubs.

get_xarxa_by_comarca

Geographic breakdown of network density (edges per comarca).

get_person_network

BFS from a single person up to a max depth (hard-capped at 3).

get_entity_network

BFS from a single entity up to a max depth (hard-capped at 3).

find_shortest_path

Bounded BFS shortest path between two graph nodes. Max depth hard-capped at 5 in the RPC.

get_network_hubs

Highest-degree nodes filtered by type + metric.

detect_clusters

Louvain communities computed nightly. Returns the top clusters by size.

investigate_cluster

Full member list of a Louvain cluster with entity + person joins.

analyze_contract_network

Contract graph for an organ or entity: sole-source patterns, repeat suppliers, fragmentation signals.

get_equivalencies

Translate a EUR amount into scale-sensitive, neutral reference points (salary multiples, per-capita, % Generalitat budget, etc.).

get_yearly_trends

Generic yearly time-series by dimension/metric (grants, contracts, entities).

export_data

Bulk JSON export of grants/contracts/entities with filters. CSV is emitted as plain text for LLM consumption.

get_methodology

Scoring methodology, data sources, last-sync timestamps, definitions. Citable for LLM outputs.

get_source_documents

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…

list_documents_for_entity

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_source_document

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`…

get_contract_documents

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…

fetch_contract_pdf

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…

contractor_procedure_analysis

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 …

fragmentation_risk_analysis

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…

cross_funder_analysis

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…

grant_recurrence_analysis

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…

theme_spend_breakdown

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…

concept_spend_summary

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…

semantic_document_search

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…

topic_hybrid_search

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_transparency_search

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_sindicatura_search

Semantic search over Sindicatura de Comptes audit reports by meaning. Returns matching report passages with the official source link.

get_transparency_ranking

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…

search_transparency_resolutions

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 …

get_organ_transparency

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…

get_sindicatura_informes

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…

search_sindicatura_informes

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à…

get_seguretat_hub

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ó…

get_seguretat_ranking

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…

get_seguretat_abp

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…

get_seguretat_per_tipus

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…

get_seguretat_subtipus

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…

get_seguretat_barcelona_districtes

Í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…

get_seguretat_pesos

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…

list_atlas_capes

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…

get_atlas_capa

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.

search_atlas_territori

Cerca codis i noms de municipis, comarques, seccions censals i barris de Barcelona perquè les altres eines de l'Atlas rebin identificadors estables.

get_atlas_serie

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.

get_atlas_bcn_barri

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ó.

get_atlas_educacio

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.

get_atlas_sanitat

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.

get_atlas_correlacions

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…

get_atlas_territori

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…

compare_atlas_territoris

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…

How to use

Add to your Claude Desktop / Cursor / Cline MCP config:

{
  "mcpServers": {
    "menjometre": {
      "url": "https://menjometre.cat/mcp",
      "transport": "http"
    }
  }
}