SB OGC MCP
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_collectionsA | List all available data collections (boundaries, NRM networks, demographics, analysis grids). Returns collection ID, title, and description for each. |
| describe_collectionB | Get detailed metadata for a collection: description, extent, properties, links. Use this before querying to understand available attributes. |
| list_processesA | List all available OGC API Processes (ODIN analysis, modal split, accessibility maps, spider diagrams). |
| describe_processA | Get detailed description of an OGC Process: required inputs, output format, execution mode. |
| get_featuresA | Fetch features from a collection. Returns GeoJSON. Args: collection_id: e.g. 'boundaries-gemeente', 'boundaries-pc4', 'bop-facilities' limit: max features to return (1-100) bbox: bounding box as 'minx,miny,maxx,maxy' (WGS84) properties: comma-separated property names to include filter_param: property filter e.g. 'statnaam=Amsterdam' |
| search_boundariesB | Search for a municipality, district, neighbourhood, or postal code by name. Args: name: search term (e.g. 'Amsterdam', 'Centrum', '1012') level: 'gemeente', 'wijk', 'buurt', 'pc4', or 'provincie' |
| run_odin_queryA | Run ODIN travel survey analysis for a Dutch location (20 years of data, ~3M trips). Returns modal split, trip purposes, distance distribution, hourly patterns, and trends. Provide at least one of: municipality, postcode, or province. Args: municipality: Dutch municipality name (e.g. 'Amsterdam', 'Utrecht', "'s-Gravenhage") postcode: 4-digit postcode (e.g. '1012', '3013') province: Province code (e.g. 'NH', 'ZH', 'UT') location_type: 'departure' or 'arrival' transport_mode: filter by mode (e.g. 'Fiets', 'Auto-best', 'Trein', 'Lopen', 'Btm', 'Overig', 'Auto-pass') trip_purpose: filter by purpose (e.g. 'Werken', 'Winkelen/boodschappen doen', 'Onderwijs/cursus volgen') distance_category: filter by distance (e.g. '<1½km', '1½-3½', '3½-5½', '7½-12½', '25-50km', '>50km') stedelijkheid: urbanization level filter year_min: start year (2004-2023) year_max: end year (2004-2023) include_trends: include yearly trend data include_cross_tabs: include mode×purpose and mode×distance matrices |
| run_odin_compareA | Compare ODIN travel survey data between two locations side-by-side. Provide municipality, postcode, or province for each location. Args: location_a_municipality: first location municipality (e.g. 'Amsterdam') location_a_postcode: first location postcode (e.g. '1012') location_a_province: first location province (e.g. 'NH') location_b_municipality: second location municipality (e.g. 'Rotterdam') location_b_postcode: second location postcode (e.g. '3013') location_b_province: second location province (e.g. 'ZH') year_min: start year (2004-2023) year_max: end year (2004-2023) include_trends: include yearly trend comparison |
| run_modal_splitA | Generate modal split analysis (Marimekko chart) for a location. Returns base64-encoded PNG image. Provide municipality, postcode, or province. Args: municipality: Dutch municipality name (e.g. 'Amsterdam') postcode: 4-digit postcode (e.g. '1012') province: Province code (e.g. 'NH') year_min: start year (2004-2023) year_max: end year (2004-2023) |
| run_odin_spiderA | Generate origin-destination desire lines (spider diagram) for a municipality. Returns GeoJSON with arc geometries showing trip flows between municipalities. Args: gemeente: Municipality name (e.g. 'Rotterdam', 'Amsterdam', "'s-Gravenhage") mode: Transport mode filter: AllModes, Auto, OV, Btm, Trein, Fiets, Lopen, Overig motive: Trip purpose: AllMotives, ToWork, ToHome, Shopping, ToEducation, etc. top_n: Number of top connections to return (1-100) include_internal: Include trips within the same municipality |
| run_accessibility_mapA | Generate BOP accessibility map showing travel times to amenities. Returns base64-encoded PNG image. Args: mode: Transport mode — car_24h, car_freeflow_24h, cycle, walk, pt_walk, pt_cycle, pt_cycle_walk amenity: Amenity type — bo (primary school), vo (secondary), mbo, hbo, wo, eerstehulp, huisarts, supermarkt, jobs, basket map_type: Visualization — traveltime (travel time), geen_keuze (no choice), wel_keuze (with choice) region_type: Extent — national, province, municipality region_id: Province key (e.g. 'noord-holland') or GM code (e.g. 'GM0599'). Required when region_type is province or municipality. |
| run_odin_profileA | Profile respondent mobility behaviour using 7 data-driven clusters. Clusters: 0=Pedestrian, 1=Long-distance driver, 2=Cyclist, 3=Mid-distance driver, 4=Transit user, 5=Multimodal, 6=Short-distance driver. Based on ~1M ODiN respondents (2004-2023). Args: municipality: Dutch municipality name (e.g. 'Amsterdam') postcode: 4-digit postcode (e.g. '1012') province: Province code (e.g. 'NH') location_type: 'departure' or 'arrival' year_min: start year (2004-2023) year_max: end year (2004-2023) cluster_id: filter to specific cluster (0-6), omit for all clusters |
| run_odin_spider_profileA | Get demographics of people traveling to/from a municipality. Returns sex, age, education, income, household composition distributions, plus home location distribution with gemeente centroids for mapping. Args: gemeente: Municipality name (e.g. 'Rotterdam', 'Amsterdam') mode: Transport mode filter (e.g. 'Auto', 'Fiets', 'OV', 'Trein') motive: Trip purpose filter (e.g. 'ToWork', 'Shopping') |
| run_respondent_profileA | Get demographic and mobility profile of ODIN respondents for a location. Based on ~1M respondents standardized across 20 years (2004-2023). Returns: sex, age, education, income, household composition, proximity class, trip generation (trips/day and km/day by mode). Provide at least one of: municipality, postcode, or province. Args: municipality: Dutch municipality name (e.g. 'Amsterdam', 'Rotterdam') postcode: 4-digit postcode (e.g. '1012', '3013') province: Province code (e.g. 'NH', 'ZH', 'UT') year_min: start year (2004-2023) year_max: end year (2004-2023) |
| generate_thematic_mapA | Generate a branded SB thematic map for a location. Returns base64-encoded PNG with SB styling (logo, legend, scale bar). Available indicators:
Args: indicator: Indicator ID (see above) location: Municipality name, province name, or 'national' location_type: 'gemeente', 'provincie', or 'national' year: Data year (default: latest) |
| list_map_indicatorsA | List all available map indicators with their legends and data sources. Use this to discover what thematic maps can be generated. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Studio-Bereikbaar/sb-ogc-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server