io.github.digvijaysingh-ai/spain-open-data-mcp · v0.1.1 · data-and-databases
Spain Open Data is healthy: it completed an MCP handshake in 1387 ms and exposes 13 tools.
Market sizing, prices, rents, crime and locations in Spain from INE and other public data
Endpoint: https://spain-open-data-mcp-165703905656.europe-west1.run.app/mcp (streamable-http)
Repository · Website · JSON · Add to my inventory
| Users (last 30 days) | 0 |
| Handshake | Healthy |
| Auth needed | None |
| Tool count | 13 |
| Latency | 1387 ms |
| Last checked (UTC) | 2026-10-17T09:10:42.418Z |
| Checked (UTC) | Status | Latency | Error |
|---|---|---|---|
| 2026-10-17T09:10:42.418Z | Healthy | 1387 |
resolve_place | Find the INE code and level (CCAA, province, municipality, district, tract) for a place in Spain. Use this first when a question names a place. Returns the best match first, with alternatives (e.g. 'Valencia' is both a city and a province). Handles accents, Basque, Catalan and Galician |
demographics | Population, sex, five-year age bands, 5-year trend, and household profile for a place in Spain. Municipality, province and CCAA: census population by age band (latest 1 January), cross-checked against the official Padrón figure. District and tract: census age bands and sex from INE's fi |
income | Household income for a place in Spain from INE's income atlas, down to census tract. Returns net and gross income per person and per household, mean and median per consumption unit, inequality (Gini, P80/P20), income sources (wages, pensions, benefits), a trend, and benchmarks against t |
businesses | Count businesses of a kind in a place in Spain, per 10,000 residents and per km², from OpenStreetMap. Use it to size competition and supply: how many gyms, cafés or dentists an area has, how that compares with the province, region and Spain, which brands dominate, and which districts or |
market_size | Size the yearly market for a business category in a place in Spain, in euros, with a range. Market = households × INE household spending on the category × an income adjustment. Supply = competing businesses, calibrated against INE's company directory. Returns market per business and an |
compare_areas | Rank areas by opportunity for a business category: where is there most market per business. Each area gets a yearly market in euros, estimated competing businesses and an opportunity score against its region, all with ranges. Areas are ranked by the cautious (low) end of the score; area |
catchment | Profile the area within a radius (or a walking time) of an address: residents, households, income, age, and the businesses mapped there. With a category, also the yearly market in euros, competing businesses and an opportunity score against the region. Use for "who lives within 800 m of |
price_band | Suggest a price range for a place from local purchasing power and inflation. Public data has no competitor prices, so this adjusts a price you know (from elsewhere or an earlier date) to this place today: CPI for the category's group since that month, then local median income per consum |
chart | Draw a chart (PNG) of a tool result: an opportunity ranking with ranges, income by district, an age pyramid or a population trend. Returns the image, the same text and sources as the underlying tool, and a source line on the image. If drawing fails the text still comes back. |
rents | How housing rents have changed in a place: INE's rent index (IPVA, 2015 = 100) with the change over the last year, five years and since 2015, against province, region and Spain. Covers municipalities over 10,000 residents, districts of provincial capitals, provinces and regions (not the |
crime | Recorded crime in a place from the Interior ministry: offences by type (theft, burglary, robbery, assault, drugs, cybercrime and more) for the latest full year, per 1,000 residents, the change on the year before, the latest year-to-date figures, and province, region and Spain for compari |
find_datasets | Search Spain's national open-data catalogue (datos.gob.es) for datasets on a topic. Returns each dataset's title, publisher, licence, file formats, update frequency and last change, and an id to pass to read_dataset. Use when a question needs data this server does not hold directly (par |
read_dataset | Read a datos.gob.es dataset: its columns and up to 20 sample rows, with its licence. Reads CSV and JSON files listed in the catalogue (the first 5 MB). Columns that look like personal data (names, ID numbers, emails, phones) are withheld. Values are shown as the publisher published them |