menjometre

Menjometre is an independent observatory of Catalan public spending.

Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeCan modify data

What it can do

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

What data it sees

Do you need an account

No: the server works without sign-in

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

{                                                                                  
  "mcpServers": {                                                                    
    "menjometre": {                                                                
      "command": "npx",                                                              
      "args": ["-y", "menjometre-mcp"]                                             
    }                                                                                
  }                                        
}                                                                                    
                                                                                   
Also reachable directly over Streamable HTTP at https://www.menjometre.cat/mcp.
Server tool list (48)

Raw names from tools/list. Only developers need these.

searchSearch across entities, politicians, contracts, grants, organs, and persons. Returns top matches with type, name, slug/id, and a short context line.
list_filter_optionsEnumerate all valid filter values the other tools accept: departments, organs, finalitats, parties, comarques, vegueríes, beneficiary types, procedure types.
get_dataset_statsGlobal counts, EUR totals, and last-sync metadata across grants, contracts, entities, and persons.
get_entityFull entity profile plus Menjometre scores with natural-language explanations. Accepts slug or CIF. Returns null if entity is anonymised or missing.
get_entity_grantsGrants awarded to the entity with filters (year range, min amount, department) and cursor pagination.
get_entity_contractsContracts awarded to the entity with filters (year, min amount, organ, sole-source flag).
get_entity_financialsYearly financial timeline filed with the Generalitat registry of entities.
get_entity_risk_analysisAggregated risk dossier: concentration, recurrence, sole-source, fragmentation, dependency, accountability — with textual interpretation per axis.
get_rankingsParameterised top-N ranking across entities. `metric` ∈ total_public_funds | menjometre_score | total_grants | total_contracts | sole_source_pct | grant_dependency_pct. Filters: comarca, beneficiary_type, org_type, min_funds.
compare_entitiesSide-by-side comparison of 2–5 entities (slug or CIF).
get_politicianProfile, accumulated years, party, institution, salary, BORME vincles count.
get_politician_salary_historyDetailed salary time-series across positions.
list_carrecsPositions filtered by institution, party, active status.
get_partyParty aggregates: member count, total accumulated years, average salary.
get_politica_hubGlobal political dashboard: counts by institution, top earners, data coverage, last sync.
get_porta_giratoriaRevolving door catalog. Filters: party, institution, min years of political service before pivot, sector.
get_politician_conflictsDeclared + detected conflicts for one politician.
get_entity_conflictsEntity-side mirror of conflict detection — politicians linked to the entity.
analyze_conflict_of_interestGiven 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_conflictsProactive scan: politicians with BORME roles in entities receiving grants/contracts during their term but with no matching declaration.
get_lobby_meetingsLobby meetings from the Generalitat transparency portal. Filters: official name, interest group, date range.
get_organSingle contracting body profile: total contracts, total amount, % sole-source, % menor, % competitive, top-5 suppliers share.
list_organsContracting bodies catalog with filters (semaphore, search) and pagination.
get_ens_publicInstrumental/public body profile including type (consorci, empresa pública, fundació) and parent administration.
list_ens_publicsInstrumental public entities catalog filtered by type/comarca.
get_pressupostos_hubGeneralitat budget dashboard for a single fiscal year: total, by department, execution rate if available.
get_budget_by_departmentBudget series by department with nominal or CPI-deflated (real) values.
get_budget_partidesLine items within a department + year.
get_efficiency_analysisCost-per-outcome analysis for selected programmes (EUR spent ÷ outputs where available).
get_fiscal_deficitCatalonia → Spain fiscal deficit for a year range using one of three academic methods: cash_flow | burden_benefit | contribution_cost.
get_budget_transfersAdmin → entity transfer flows with filters.
get_yearly_trends_budgetGeneric time-series of a budget dimension/metric (deflated or nominal).
get_xarxa_statsGlobal network metrics: node counts, edge counts, connectivity, top hubs.
get_xarxa_by_comarcaGeographic breakdown of network density (edges per comarca).
get_person_networkBFS from a single person up to a max depth (hard-capped at 3).
get_entity_networkBFS from a single entity up to a max depth (hard-capped at 3).
find_shortest_pathBounded BFS shortest path between two graph nodes. Max depth hard-capped at 5 in the RPC.
get_network_hubsHighest-degree nodes filtered by type + metric.
detect_clustersLouvain communities computed nightly. Returns the top clusters by size.
investigate_clusterFull member list of a Louvain cluster with entity + person joins.
analyze_contract_networkContract graph for an organ or entity: sole-source patterns, repeat suppliers, fragmentation signals.
get_equivalenciesTranslate a EUR amount into public-service equivalents (teachers, nurses, daycare places, etc.).
get_yearly_trendsGeneric yearly time-series by dimension/metric (grants, contracts, entities).
export_dataBulk JSON export of grants/contracts/entities with filters. CSV is emitted as plain text for LLM consumption.
get_methodologyScoring methodology, data sources, last-sync timestamps, definitions. Citable for LLM outputs.
get_source_documentsEnumerate every source URL attached to a single record. record_type ∈ grant | contract | conveni | politician_position | porta_giratoria_case | personal_eventual_appointment | official_appointment | entity.
list_documents_for_entityEvery source document linked to any record touching the given entity.
fetch_source_documentServer-side retrieval of an allowlisted source URL. Extracts plain text (first 64 kB) via pdf-parse/readability. SSRF-hardened. 24h cached. URL MUST exist in the DB allowlist.