Hosted MCP server · #43 most used on Smithery

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.

Uses
9.5k
Tools
48
Runs
Hosted
Listed
7mo ago

Get started

Add it to your agent

npx -y @smithery/cli@latest install segellfosc-dev-ayfx/menjometre --client claude

Swap --client claude for cursor, vscode, windsurf or another client. The CLI asks for any required settings.

What it can do

48 tools

search3 paramsSearch across entities, politicians, contracts, grants, organs, and persons. Returns top matches with type, name, slug/id, and a short co…

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

ParameterTypeDescription
typestring
limitinteger
querystring
list_filter_optionsEnumerate all valid filter values the other tools accept: departments, organs, finalitats, parties, comarques, vegueríes, beneficiary typ…

Enumerate 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_entity1 paramFull entity profile plus Menjometre scores with natural-language explanations. Accepts slug or CIF. Returns null if entity is anonymised …

Full entity profile plus Menjometre scores with natural-language explanations. Accepts slug or CIF. Returns null if entity is anonymised or missing.

ParameterTypeDescription
entity_idstringEntity slug or CIF
get_entity_grants7 paramsGrants awarded to the entity with filters (year range, min amount, department) and cursor pagination.
ParameterTypeDescription
limitinteger
offsetinteger
year_tointeger
entity_idstringEntity slug or CIF
year_frominteger
departmentstring
min_amountnumber
get_entity_contracts7 paramsContracts awarded to the entity with filters (year, min amount, organ, sole-source flag).
ParameterTypeDescription
limitinteger
offsetinteger
year_tointeger
entity_idstringEntity slug or CIF
year_frominteger
min_amountnumber
sole_sourceboolean
get_entity_financials1 paramYearly financial timeline filed with the Generalitat registry of entities.
ParameterTypeDescription
entity_idstringEntity slug or CIF
get_entity_risk_analysis1 paramAggregated risk dossier: concentration, recurrence, sole-source, fragmentation, dependency, accountability — with textual interpretation …

Aggregated risk dossier: concentration, recurrence, sole-source, fragmentation, dependency, accountability — with textual interpretation per axis.

ParameterTypeDescription
entity_idstringEntity slug or CIF
get_rankings7 paramsParameterised top-N ranking across entities. `metric` ∈ total_public_funds | menjometre_score | total_grants | total_contracts | sole_sou…

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

ParameterTypeDescription
limitinteger
metricstring
offsetinteger
comarcastring
org_typestring
min_fundsnumber
beneficiary_typestring
compare_entities1 paramSide-by-side comparison of 2–5 entities (slug or CIF).
ParameterTypeDescription
identifiersarray
get_politician1 paramProfile, accumulated years, party, institution, salary, BORME vincles count.
ParameterTypeDescription
namestring
get_politician_salary_history2 paramsDetailed salary time-series across positions.
ParameterTypeDescription
namestring
politician_idstring
list_carrecs5 paramsPositions filtered by institution, party, active status.
ParameterTypeDescription
limitinteger
partystring
offsetinteger
active_onlyboolean
institutionstring
get_party1 paramParty aggregates: member count, total accumulated years, average salary.
ParameterTypeDescription
partystring
get_politica_hubGlobal political dashboard: counts by institution, top earners, data coverage, last sync.
get_porta_giratoria5 paramsRevolving door catalog. Filters: party, institution, min years of political service before pivot, sector.
ParameterTypeDescription
limitinteger
partystring
offsetinteger
min_yearsnumber
institutionstring
get_politician_conflicts1 paramDeclared + detected conflicts for one politician.
ParameterTypeDescription
namestring
get_entity_conflicts1 paramEntity-side mirror of conflict detection — politicians linked to the entity.
ParameterTypeDescription
entity_idstringEntity slug or CIF
analyze_conflict_of_interest2 paramsGiven a person name and an entity identifier, return every known link (BORME role, political position, declarations, grants received whil…

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

ParameterTypeDescription
entity_idstringEntity slug or CIF
person_namestring
detect_undisclosed_conflicts4 paramsProactive scan: politicians with BORME roles in entities receiving grants/contracts during their term but with no matching declaration.
ParameterTypeDescription
limitinteger
partystring
offsetinteger
institutionstring
get_lobby_meetings6 paramsLobby meetings from the Generalitat transparency portal. Filters: official name, interest group, date range.
ParameterTypeDescription
limitinteger
offsetinteger
date_tostring
date_fromstring
official_namestring
interest_groupstring
get_organ1 paramSingle contracting body profile: total contracts, total amount, % sole-source, % menor, % competitive, top-5 suppliers share.
ParameterTypeDescription
slugstring
list_organs5 paramsContracting bodies catalog with filters (semaphore, search) and pagination.
ParameterTypeDescription
sortstring
limitinteger
offsetinteger
searchstring
semaphorestring
get_ens_public1 paramInstrumental/public body profile including type (consorci, empresa pública, fundació) and parent administration.
ParameterTypeDescription
slugstring
list_ens_publics4 paramsInstrumental public entities catalog filtered by type/comarca.
ParameterTypeDescription
limitinteger
offsetinteger
comarcastring
org_typestring
get_pressupostos_hub1 paramGeneralitat budget dashboard for a single fiscal year: total, by department, execution rate if available.
ParameterTypeDescription
yearinteger
get_budget_by_department4 paramsBudget series by department with nominal or CPI-deflated (real) values.
ParameterTypeDescription
modestring
year_to
year_frominteger
departmentstring
get_budget_partides2 paramsLine items within a department + year.
ParameterTypeDescription
yearinteger
departmentstring
get_efficiency_analysis1 paramCost-per-outcome analysis for selected programmes (EUR spent ÷ outputs where available).
ParameterTypeDescription
programmestring
get_fiscal_deficit3 paramsCatalonia → Spain fiscal deficit for a year range using one of three academic methods: cash_flow | burden_benefit | contribution_cost.
ParameterTypeDescription
methodstring
year_to
year_frominteger
get_budget_transfers3 paramsAdmin → entity transfer flows with filters.
ParameterTypeDescription
yearinteger
to_entitystring
from_departmentstring
get_yearly_trends_budget3 paramsGeneric time-series of a budget dimension/metric (deflated or nominal).
ParameterTypeDescription
modestring
metricstring
dimensionstring
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_network3 paramsBFS from a single person up to a max depth (hard-capped at 3).
ParameterTypeDescription
namestring
depthinteger
person_idstring
get_entity_network2 paramsBFS from a single entity up to a max depth (hard-capped at 3).
ParameterTypeDescription
depthinteger
entity_idstring
find_shortest_path5 paramsBounded BFS shortest path between two graph nodes. Max depth hard-capped at 5 in the RPC.
ParameterTypeDescription
to_idstring
from_idstring
to_type
from_typestring
max_depthinteger
get_network_hubs4 paramsHighest-degree nodes filtered by type + metric.
ParameterTypeDescription
limitinteger
metricstring
offsetinteger
node_typestring
detect_clusters3 paramsLouvain communities computed nightly. Returns the top clusters by size.
ParameterTypeDescription
limitinteger
offsetinteger
min_sizeinteger
investigate_cluster1 paramFull member list of a Louvain cluster with entity + person joins.
ParameterTypeDescription
cluster_idinteger
analyze_contract_network1 paramContract graph for an organ or entity: sole-source patterns, repeat suppliers, fragmentation signals.
ParameterTypeDescription
organ_or_entitystring
get_equivalencies1 paramTranslate a EUR amount into public-service equivalents (teachers, nurses, daycare places, etc.).
ParameterTypeDescription
amountnumber
get_yearly_trends4 paramsGeneric yearly time-series by dimension/metric (grants, contracts, entities).
ParameterTypeDescription
metricstring
year_tointeger
dimensionstring
year_frominteger
export_data3 paramsBulk JSON export of grants/contracts/entities with filters. CSV is emitted as plain text for LLM consumption.
ParameterTypeDescription
typestring
limitinteger
formatstring
get_methodologyScoring methodology, data sources, last-sync timestamps, definitions. Citable for LLM outputs.
get_source_documents2 paramsEnumerate every source URL attached to a single record. record_type ∈ grant | contract | conveni | politician_position | porta_giratoria_…

Enumerate every source URL attached to a single record. record_type ∈ grant | contract | conveni | politician_position | porta_giratoria_case | personal_eventual_appointment | official_appointment | entity.

ParameterTypeDescription
record_idstring
record_typestring
list_documents_for_entity2 paramsEvery source document linked to any record touching the given entity.
ParameterTypeDescription
yearinteger
entity_idstring
fetch_source_document1 paramServer-side retrieval of an allowlisted source URL. Extracts plain text (first 64 kB) via pdf-parse/readability. SSRF-hardened. 24h cache…

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

ParameterTypeDescription
urlstring