Spain Open Data MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SPAIN_MCP_OFFLINE | No | `1` serves only from cache (tests, evals) | |
| SPAIN_MCP_CACHE_DIR | No | On-disk cache of upstream responses | ~/.cache/spain-open-data-mcp |
| SPAIN_MCP_HTTP_TIMEOUT | No | Seconds per upstream request | 60 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| resolve_placeA | Find the INE code and level (CCAA, province, municipality, district, tract) for a place in Spain. |
| demographicsA | Population, sex, five-year age bands, 5-year trend, and household profile for a place in Spain. |
| incomeA | 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 the province, region and Spain. Use it for purchasing power, price positioning and choosing between districts. Figures are euros of the data year; the atlas runs about two years behind. |
| businessesA | Count businesses of a kind in a place in Spain, per 10,000 residents and per km², from OpenStreetMap. |
| market_sizeA | 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 opportunity score against the region (1.0 = same as the region), with every assumption listed. Assumptions can be overridden to test scenarios. Use for "how big is the market for X in Y" and "is Y under-served for X". |
| compare_areasA | Rank areas by opportunity for a business category: where is there most market per business. |
| catchmentA | 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 this shop" or "is there room for a bakery near Calle X". Addresses are checked against the municipality they name; ambiguous ones are refused with suggestions. |
| price_bandA | Suggest a price range for a place from local purchasing power and inflation. |
| chartA | 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. |
| rentsA | 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. |
| crimeA | 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 comparison. |
| find_datasetsA | Search Spain's national open-data catalogue (datos.gob.es) for datasets on a topic. |
| read_datasetA | Read a datos.gob.es dataset: its columns and up to 20 sample rows, with its licence. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| size_a_market | Market size, competitors and opportunity for a business in a place. |
| pick_a_location | Rank areas for a new business and check a specific address. |
| explore_public_datasets | Find and summarise open datasets on datos.gob.es. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| data-status | How fresh each data source is on this server, and when the next releases are due. |
| data-licences | Where each figure comes from, its licence and the attribution it requires. |
TDQS
Scored across 13 tools
Most tools have clearly distinct purposes, but the business/market cluster (businesses, market_size, compare_areas, catchment) overlaps enough that careful reading is needed to pick the right one. Their scopes differ by geography and output, so descriptions help avoid misselection.
All names use snake_case, but the set mixes noun resource names (rents, businesses, demographics, income, crime) with verb_noun action names (resolve_place, read_dataset, compare_areas, find_datasets). The pattern is readable but not fully consistent.
With 13 tools, the server is well within the ideal 3–15 range. Each tool appears to serve a distinct analytical or helper purpose, so none feel redundant or excessive.
The surface covers core location and market analytics (places, demographics, income, businesses, market sizing, crime, rents, pricing) plus dataset discovery and charting. Minor gaps remain, such as full dataset download, housing sale prices, and employment/transport data, but find_datasets and read_dataset provide partial workarounds.