menjometre-mcp
v2.0.0
Published
Menjometre — Model Context Protocol server for the Catalan public grants & contracts observatory. Read-only tools for any MCP-compatible LLM client.
Maintainers
Readme
menjometre-mcp
Menjometre over the Model Context Protocol. Give any MCP-compatible LLM client read-only access to the Catalan public grants & contracts observatory.
Menjometre is an independent observatory of Catalan public spending. It tracks:
- ~19.5 M RAISC grant records (2016–present)
- ~1.7 M public procurement contracts from Dades Obertes de Catalunya
- ~496 K beneficiary entities with normalised identities
- A statistical Menjometre score flagging concentration and recurrence patterns
- A public-figure graph linking Parlament deputies, Generalitat officials, and board members of public entities
This package is a thin stdio proxy. It forwards MCP requests to the hosted HTTP server at https://www.menjometre.cat/mcp and streams the responses back. It holds no dataset, no credentials, and no per-user state.
Install & use
Zero-install, via npx from any MCP client config:
{
"mcpServers": {
"menjometre": {
"command": "npx",
"args": ["-y", "menjometre-mcp"]
}
}
}Works in Claude Desktop, Claude Code, Cursor, Zed, Windsurf, Continue, and any other client that speaks the Model Context Protocol over stdio.
Or install globally:
npm install -g menjometre-mcp
menjometre-mcpExample prompts
Once connected, ask your LLM things like:
- "Which ten Catalan entities received the most RAISC funds in 2024?"
- "Show me the concentration profile of a specific entity by CIF."
- "Which grant-giving bodies award the largest share of their budget to a single beneficiary?"
- "What percentage of a specific municipality's contracts are sole-source?"
- "Explain how the Menjometre score is computed."
The server ships 48 tools across seven domains: entities, grants, contractes, organs, xarxa (public-figure graph), pressupostos, and meta (methodology and attribution).
Data licence & attribution
Every tool response includes a sources array citing the upstream dataset, licence, and publisher. The main sources are:
- RAISC — Registre d'Ajuts i Subvencions de Catalunya (Generalitat de Catalunya, Llei 37/2007 de reutilització)
- Dades Obertes de Catalunya — CC BY 4.0
- BDNS — Base de Datos Nacional de Subvenciones (historical, deprecated)
- Registre d'Entitats Jurídiques de Catalunya
- DOGC — Diari Oficial de la Generalitat de Catalunya
- Portal de la Transparència de Catalunya
Reuse of the data must preserve attribution. When a response includes scored entities, clients must also preserve the accompanying score_meta block — it carries the score scale, a not_an_accusation disclaimer, and a link to the methodology.
Legal envelope
Every response is wrapped in a five-layer envelope designed around Spanish civil rights law (LO 1/1982), the GDPR, and the Catalan public-sector reuse regime:
- L1 transparency —
get_methodologyreturns the full server identity, version, and methodology URL - L2 attribution — every success envelope includes
sources - L3 data minimisation — explicit field allow-lists at the database layer; no tool returns more than it needs
- L4 personal-data scope — public-figure predicates enforced at the database query, not client-side
- L5 framing — every scored response embeds
score_metawith scale, meaning, and anot_an_accusationdisclaimer, and uses neutral statistical language ("top decile", "around the median")
Self-hosted / private deployments
Point the proxy at a private deployment:
MENJOMETRE_MCP_URL=https://mcp.example.internal/mcp \
MENJOMETRE_MCP_KEY=your-bearer-token \
npx -y menjometre-mcpMENJOMETRE_MCP_URL— upstream Streamable HTTP endpoint (default:https://www.menjometre.cat/mcp)MENJOMETRE_MCP_KEY— optional bearer token for gated deployments
Links
- Website: https://menjometre.cat
- Methodology: https://menjometre.cat/metodologia
- Source (monorepo): https://gitlab.com/menjometre/menjometre
- Server (HTTP endpoint): https://www.menjometre.cat/mcp
Licence
AGPL-3.0-or-later. The proxy is intentionally tiny (~100 lines) so it can be audited in a minute.
