Source: https://mayphus.org/map/ Title: Natural Language City Map Metadata: {"category":"tool","id":"map","kind":"tool","language":"en","route":"/map/","social_image":{"alt":"A generated road map of Hangzhou with major routes highlighted in red and yellow.","height":846,"type":"image/webp","url":"https://mayphus.org/map/maps/hangzhou-base.webp","width":1200},"tags":["maps","openstreetmap","cities"],"type":"project"} A bounded city-map workflow This page documents the map project. It is a reading page, without a request form, interactive basemap, panning or zoom controls. The public [map API](https://mayphus.org/api/map) accepts a city and supported topic, or a natural-language request. It returns OpenStreetMap features as a GeoJSON FeatureCollection with query metadata; a client can use those features in its own map interface. ## Try a bounded request The explicit HTTP parameters are `city` and `topic`. For example: ```http GET /api/map?city=Helsinki&topic=libraries ``` [Request Helsinki libraries as GeoJSON](https://mayphus.org/api/map?city=Helsinki&topic=libraries). The natural-language form uses `request`, for example `GET /api/map?request=parks%20in%20London`. [The API descriptor](https://mayphus.org/api/map) lists current parameters and supported topics. Through an explicitly connected MCP client, call `generate_city_map` with these arguments: ```json {"city":"Helsinki","topic":"libraries"} ``` A successful HTTP response is a GeoJSON `FeatureCollection`. MCP returns a count, source and `geojson_url`; its `browser_url` leads to this project record, not a rendered result map. These requests query public map data and do not change site content. This remains an upstream-dependent prototype. During live checks on 11 October 2026, the HTTP example returned a GeoJSON result, while other attempts and the MCP tool encountered upstream map-data lookup failures. A valid request is not a guarantee of a successful response. If the lookup is unavailable, HTTP returns an error and the MCP tool reports the failure. ## How the query works - A request names a place and subject, such as “parks in London” or “wheelchair-accessible museums in Paris”. A city name by itself defaults to parks. - Intent interpretation selects supported categories and filters within a bounded radius. Natural-language requests use a 2–20 km range; explicit city-and-topic queries use 12 km. Server code constructs the Overpass query rather than executing model-generated query code. - The result contains geographic features and source metadata. It does not turn this reading page into an interactive map. Availability depends on the upstream map services; a query can fail or time out. City search and map data come from [OpenStreetMap contributors](https://www.openstreetmap.org/copyright). The [agent guide](https://mayphus.org/agents/) also describes the public MCP interface and its map capability.