Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
USER_AGENTYesRequired by Nominatim policy - set to a descriptive value identifying your applicationopen-reach-mcp/0.1.0 (...)
CACHE_MAXSIZENoTTL cache maximum size2048
OSRM_BASE_URLNoRouting upstream URLhttps://router.project-osrm.org
CACHE_TTL_SECONDSNoTTL cache time-to-live in seconds86400
OVERPASS_BASE_URLNoPOI upstream URLhttps://overpass-api.de
NOMINATIM_BASE_URLNoGeocoding upstream URLhttps://nominatim.openstreetmap.org
HTTP_TIMEOUT_SECONDSNoUpstream call timeout in seconds15.0
RATE_LIMIT_MIN_INTERVAL_SECONDSNoPer-host request spacing in seconds1.0

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
pingA

Health-check tool.

Returns {"status": "ok"} so any MCP client can confirm reachability.

Example: ping() -> {"status": "ok"}

geocodeA

Forward geocode a place name to a WGS84 coordinate (decimal degrees).

Units: latitude/longitude in decimal degrees. Example: geocode(query="KLCC") -> GeoPoint(lat=3.1579, lon=101.7116)

reverse_geocodeA

Reverse geocode a coordinate to a human-readable address.

Units: lat/lon in decimal degrees; returns a display-name string. Example: reverse_geocode(lat=3.15, lon=101.71) -> "Bukit Bintang, ..."

isochroneA

Reachable-area polygon within a travel-time budget.

Units: lat/lon in decimal degrees; minutes in minutes; polygon ring as [lon, lat] pairs; area_m2 in square metres. Example: isochrone(lat=3.15, lon=101.71, mode="walk", minutes=10)

catchment_poisA

Points of interest inside a site's catchment, grouped by category.

Units: lat/lon decimal degrees; minutes minutes. categories is enum-constrained (no free-text queries). Example: catchment_pois(lat=3.15, lon=101.71, minutes=10, mode="walk", categories=["cafe","retail"])

site_reach_scoreA

Composite reach score in [0, 1] for a single OOH site.

Combines gravity-weighted POI density, junction density, and category diversity (public urban-analytics methodology). Returns the score plus an auditable breakdown. Units: lat/lon decimal degrees; minutes minutes; score unitless [0,1]. Example: site_reach_score(lat=3.15, lon=101.71, minutes=10, mode="walk")

compare_sitesA

Rank candidate sites by reach score (server-side, deterministic).

Ranking is computed here, not by the client model. Tie-break chain: score desc, POI density desc, category diversity desc, name asc. Units: lat/lon decimal degrees; minutes minutes. Example: compare_sites(sites=[{"name":"KLCC","lat":3.16,"lon":101.71}, {"name":"Bukit Bintang","lat":3.15,"lon":101.72}], minutes=10, mode="walk")

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

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/abangbroy/ooh_reach_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server