Geo-Insights Environmental Data
Server Details
Dutch environmental data + BGI climate adaptation: 12 tools, 44 measures, 35 parameters. No auth.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 12 tools
The set splits cleanly into two domains — BGI measure catalog tools (search/detail/compare/rank/policy) and environmental reading tools (sources/parameters/latest/history/freshness) — and the descriptions explicitly contrast near-neighbors like get_latest_readings vs. get_readings_history. The only mild overlap is between get_context_summary and the reading tools, both keyed on lat/lon and both returning local environmental context, but their outputs (socioeconomic/livability vs. sensor observations) are clearly differentiated.
Every tool is snake_case and verb-led (get_*, list_*, search_*, compare_*, rank_*, lookup_*), with nouns that mirror the domain vocabulary. No mixed conventions or stray styles anywhere in the set.
Twelve tools is squarely in the well-scoped range for a dual-purpose data API. Each tool covers a distinct slice (discovery, retrieval, analysis, policy), and nothing appears redundant or padded.
The read-only data surface is well covered: source discovery, parameter enumeration, point-in-time and time-series retrieval, and freshness/health checking all exist, plus a full BGI lifecycle from search to detail, comparison, ranking, and policy lookup. Minor gaps remain — e.g. no station/datastream-level detail tool, no way to list available policy profiles or valid goal values, and nothing to resolve an address or place name to coordinates other than context lookup.
Publisher details
- Operator
- Geo Insights · Publisher source
- Operator website
- https://geo-insights.nl/ · Publisher source
- Vendor relationship
- First-party
- Documentation
- https://github.com/Geo-insights/sensorthings-testbed-connector/tree/main/mcp_server · Publisher source
- Trust center
- Not available
- Restrictions
- Free tier: no authentication required, rate-limited to 100 requests/minute per IP. Data covers the Netherlands only. · Publisher source
Available Tools
12 toolscompare_measuresCompare BGI MeasuresARead-onlyIdempotentInspect
Side-by-side comparison of 2-5 BGI measures.
Args:
measure_slugs: List of 2-5 measure slugs (e.g. ["green-roof", "bioswale"]).
Use search_bgi_measures to find valid slugs.
Returns aligned comparison with goal scores, key performance parameters
(retention, cooling, infiltration), costs, maintenance level, and scale.
Inputs: measure_slugs (required). Returns: count, measures, last_updated
get_context_summaryGet Environmental Context for LocationBRead-onlyIdempotentInspect
Get environmental and socioeconomic context for a location in the Netherlands.
Returns the neighborhood (buurt), municipality, population density,
green space accessibility, health indicators, and livability scores.
Args:
lat: Latitude in WGS84 (e.g. 51.92 for Rotterdam)
lon: Longitude in WGS84 (e.g. 4.47 for Rotterdam)
Useful for understanding the local context before recommending BGI measures.
Inputs: lat (required), lon (required). Returns: wijk_code, woz_value, avg_income, buurt_code, +11 more
get_data_freshnessCheck Data FreshnessARead-onlyIdempotentInspect
Check how fresh the data is for each of the 10 sources.
Returns sources with latest_observation timestamp, age_seconds, and a
status classification: "fresh" (<1h), "stale" (<24h), "offline" (>24h),
or "unreachable" (query failed for that source).
Use this to verify data availability before querying readings, or to
monitor source health. Individual source failures are reported per-source
(status: "unreachable") rather than failing the entire call.
This is also the server's health check — if this tool works, the server
is operational.
Inputs: no named parameters. Returns: sources
get_latest_readingsGet Latest Environmental ReadingsARead-onlyIdempotentInspect
Get the most recent environmental readings near a location.
Args:
lat: Latitude in WGS84 (e.g. 51.92 for Rotterdam)
lon: Longitude in WGS84 (e.g. 4.47 for Rotterdam)
radius_km: Search radius in kilometers (default 10, max 50)
parameter: Optional filter by parameter name or alias (e.g. "pm2_5",
"temperature", "pm25", "no2"). Use get_parameters() to see
all valid names and aliases.
limit: Maximum number of readings to return (default 100, max 500)
Returns the single most recent reading per datastream within the radius.
Each reading includes parameter, value, unit, timestamp, station_name,
lat, lon, source, and source_attribution.
For time-range queries, use get_readings_history instead.
Invalid coordinates return an error with the valid ranges.
An unrecognized parameter returns an error with the full list of valid names.
If the data source is unreachable, returns cause (timeout, circuit_breaker_open)
and retry_after_seconds.
Inputs: lat (required), lon (required), limit, parameter, +1 more. Returns: count, readings
get_measure_detailGet BGI Measure DetailARead-onlyIdempotentInspect
Get full detail for one BGI measure: performance, costs, scores, constraints.
Args:
measure_id_or_slug: UUID or slug (e.g. "green-roof", "bioswale",
"permeable-paving"). Use search_bgi_measures to find
valid slugs.
Returns complete measure spec: description, all goal scores with confidence,
performance parameters (retention, cooling, infiltration, etc.) with ranges
and units, CAPEX/OPEX costs, site requirements, co-benefits, constraint
compatibility, and evidence count.
Inputs: measure_id_or_slug (required). Returns: result
get_parametersList Environmental ParametersARead-onlyIdempotentInspect
List all 35 available environmental parameters with units and aliases.
Returns parameters with name, display_name, unit_display (human-readable),
unit_ucum (formal UCUM code), definition_url (CF Conventions), and aliases.
Use aliases in the 'parameter' argument of get_latest_readings or
get_readings_history (e.g. "pm25", "temperature", "no2").
No FROST query needed — this is an instant in-memory lookup. Call it to
discover valid parameter names before querying readings.
Inputs: no named parameters. Returns: parameters
get_policy_requirementsGet Municipality Policy RequirementsARead-onlyIdempotentInspect
Get BGI policy requirements for a Dutch municipality.
Extracted from Officiele Bekendmakingen (official government publications).
Shows what's required, recommended, or subsidized per gemeente.
Args:
gemeente_code_or_name: CBS code (e.g. "GM0599") or municipality name
(e.g. "Rotterdam"). Use lookup_municipality to find codes.
measure_slug: Optional — filter to one measure's requirements
Returns requirements grouped by type (subsidy, regulation, obligation)
with document titles, dates, amounts, and source URLs.
Inputs: gemeente_code_or_name (required), measure_slug. Returns: count, last_updated, requirements, gemeente_code, +1 more
get_readings_historyGet Historical ReadingsARead-onlyIdempotentInspect
Get historical environmental readings near a location over a time range.
Use this for trend analysis, comparisons, and time-series queries.
Unlike get_latest_readings (which returns only the most recent value),
this returns multiple observations per station within the time window.
Args:
lat: Latitude in WGS84 (e.g. 51.92 for Rotterdam)
lon: Longitude in WGS84 (e.g. 4.47 for Rotterdam)
parameter: Parameter name or alias (required — e.g. "temperature",
"pm25", "no2"). Use get_parameters() for valid names.
start: Start of time range in ISO 8601 (e.g. "2026-11-01T00:00:00Z")
end: End of time range in ISO 8601 (default: now)
radius_km: Search radius in kilometers (default 10, max 50)
limit: Maximum readings per station (default 100, max 1000)
Returns stations grouped by location, each with a time-ordered array of
readings, plus parameter info and the actual time range covered.
Invalid coordinates, unrecognized parameters, or unparseable dates return
a structured error. Data source failures include cause and retry timing.
Inputs: lat (required), lon (required), start (required), parameter (required), +3 more. Returns: stations, parameter, period_end, period_start, +1 more
list_sourcesList Environmental Data SourcesARead-onlyIdempotentInspect
List all environmental data sources with station counts and geographic coverage.
Call this first to discover which data sources are available and how many
stations each one has. Returns sources with name, station_count,
datastream_count, and source_attribution (CC-BY license info).
Sources include KNMI (weather), Luchtmeetnet (air quality), BRO
(groundwater), Samen Meten (citizen science), Sensor.Community, and more.
Typical workflow: list_sources → get_parameters → get_latest_readings.
On error, returns a structured error with cause (timeout, circuit_breaker_open,
connection_failed) and retry_after_seconds.
Inputs: no named parameters. Returns: sources
lookup_municipalityLookup MunicipalityARead-onlyIdempotentInspect
Find Dutch municipalities by name or province.
Returns CBS codes needed for other tools (get_policy_requirements,
rank_measures). All 342 Dutch municipalities are searchable.
Args:
name: Partial name match (e.g. "Rotter" finds Rotterdam)
province: Filter by province name (e.g. "Zuid-Holland")
Inputs: name, province. Returns: count, municipalities
rank_measuresRank BGI Measures for MunicipalityARead-onlyIdempotentInspect
Rank BGI measures for a municipality using policy-weighted scoring.
Combines goal alignment, cost-effectiveness, and maintenance into a
single ranked list. Use different policy profiles to see how priorities
change the ranking.
Args:
gemeente_code: CBS municipality code (e.g. "GM0599" for Rotterdam).
Use lookup_municipality to find codes.
goal: Optional boost for a specific goal (flood, heat, drought,
biodiversity, social)
policy_profile: Scoring profile — one of: Balanced, Flood-focused,
Heat-focused, Drought-focused, Biodiversity-first,
Cost-efficient (default: Balanced)
limit: Max results (default 10, max 50)
Inputs: gemeente_code (required), goal, limit, policy_profile. Returns: count, measures, last_updated, gemeente_code, +2 more
search_bgi_measuresSearch BGI MeasuresARead-onlyIdempotentInspect
Search the Blue-Green Infrastructure measure catalog (44 measures).
All parameters are optional — call with no args to list all measures.
Args:
goal: Filter by climate goal: flood, heat, drought, biodiversity, social
category: Filter by category: water_retention, heat_mitigation,
surface_water, biodiversity
keyword: Search in name, Dutch name, and description (e.g. "dak", "roof")
limit: Max results (default 20, max 50)
Returns measures with goal scores, category, scale, and maintenance level.
Use get_measure_detail for full specs on a specific measure.
Inputs: goal, limit, keyword, category. Returns: count, measures, last_updated
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Netherlands Open Data (data.overheid.nl/data) CKAN MCP.
data.overheid.nl MCP — the Netherlands national open-data portal (CKAN API).
Luchtmeetnet MCP — official Netherlands air quality (RIVM Luchtmeetnet, api.luchtmeetnet.nl)
Weather, climate, soil, terrain, fire and flood risk data for any point or polygon. Free tier.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants and applications to access Dutch weather information, including current conditions, forecasts, alerts, historical data, and automatic resolution of Dutch location names to grid identifiers.17 npmApache 2.0
- AlicenseAqualityCmaintenanceEnables accessing and querying Dutch government open datasets from CBS and data.overheid.nl, with tools for searching, filtering, downloading, and analyzing data using CSV, Parquet, DuckDB, or Pandas.9MIT

SWATGenX MCP Serverofficial
AlicenseNot gradedqualityCmaintenanceEnables search and retrieval of calibrated SWAT+ watershed models, national groundwater lithology and PFAS inventories, plus API-key-secured ordering and downloading of custom watershed models.1MIT- AlicenseNot gradedqualityDmaintenanceProvides AI agents with access to CO2 emissions data, climate projections, and risk assessments for heat, flooding, and drought, supporting ESG analysis and CSRD compliance.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.