glassmap.clyeh.xyz
An agent-native web map: WebMCP turns the map canvas into a semantic surface.
First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com
Answer 7 · Act 8 · Transact 0 · Score: Not yet scored
Tool inspector
set_map_view
Move the map camera. Give a place name or a feature id to jump to something by name, fit to frame something whole, or center/zoom/bearing/pitch to position the camera directly. place and feature_id fly to the thing at zoom 15, or keep the current zoom when it is already closer than that - going to a place never zooms you out; pass zoom to say otherwise. fit takes a drawing id or a feature id and frames that thing against what is currently on screen: an area (a district, a park, a circle or a route) is fitted so all of it is visible, which can zoom OUT when the thing is bigger than the view, while a target with no extent - a point of interest, a pinned note - behaves exactly like feature_id. fit needs the map to have rendered once; before that it answers "map not ready" rather than guessing how much you can see. Returns the new map state, so no follow-up read is needed.
Input schema
| Property | Type | Required | Description |
|---|---|---|---|
center |
object | no | Exact camera centre. Cannot be combined with place or feature_id. |
zoom |
number | no | Zoom level: 10 shows a city, 15 a neighbourhood, 18 a building. With place or feature_id it defaults to 15 without ever zooming out past the current view - the closer of the two wins - so pass zoom to override, including to pull back. Cannot be combined with fit, which decides its own zoom. |
bearing |
number | no | Map rotation in degrees clockwise from north; 0 is north-up. |
pitch |
number | no | Camera tilt in degrees; 0 looks straight down. |
place |
string | no | Name of a place in the loaded data, e.g. "Daan Station". Station suffixes are optional. If several places match equally well the map does not move and the answer lists candidates to choose from. Like every place name, it needs the base data the page loads on open; before that it answers "map data not ready" rather than guessing, and asking again works. |
feature_id |
string | no | Id of a loaded feature, e.g. "osm:node:123". Use this instead of place when you already have an id, or to resolve an ambiguous place. |
fit |
string | no | Frame this whole thing: a drawing id as draw_shape returns and map state lists ("drawing:1", including a shape the human drew by hand), or the id of a loaded feature ("district:daan", "osm:way:10"). An area is fitted to what is on screen and may zoom out to get all of it in; a target with no extent behaves exactly like feature_id, at any starting zoom - the two paths share one rule. Cannot be combined with center, place or feature_id, and not with zoom either - the fit is what decides the zoom. |
Raw JSON schema
{
"type": "object",
"properties": {
"center": {
"type": "object",
"properties": {
"lng": {
"type": "number",
"minimum": -180,
"maximum": 180,
"description": "Longitude in degrees."
},
"lat": {
"type": "number",
"minimum": -90,
"maximum": 90,
"description": "Latitude in degrees."
}
},
"required": [
"lng",
"lat"
],
"additionalProperties": false,
"description": "Exact camera centre. Cannot be combined with place or feature_id."
},
"zoom": {
"type": "number",
"minimum": 0,
"maximum": 22,
"description": "Zoom level: 10 shows a city, 15 a neighbourhood, 18 a building. With place or feature_id it defaults to 15 without ever zooming out past the current view - the closer of the two wins - so pass zoom to override, including to pull back. Cannot be combined with fit, which decides its own zoom."
},
"bearing": {
"type": "number",
"description": "Map rotation in degrees clockwise from north; 0 is north-up."
},
"pitch": {
"type": "number",
"minimum": 0,
"maximum": 85,
"description": "Camera tilt in degrees; 0 looks straight down."
},
"place": {
"type": "string",
"description": "Name of a place in the loaded data, e.g. \"Daan Station\". Station suffixes are optional. If several places match equally well the map does not move and the answer lists candidates to choose from. Like every place name, it needs the base data the page loads on open; before that it answers \"map data not ready\" rather than guessing, and asking again works."
},
"feature_id": {
"type": "string",
"description": "Id of a loaded feature, e.g. \"osm:node:123\". Use this instead of place when you already have an id, or to resolve an ambiguous place."
},
"fit": {
"type": "string",
"description": "Frame this whole thing: a drawing id as draw_shape returns and map state lists (\"drawing:1\", including a shape the human drew by hand), or the id of a loaded feature (\"district:daan\", \"osm:way:10\"). An area is fitted to what is on screen and may zoom out to get all of it in; a target with no extent behaves exactly like feature_id, at any starting zoom - the two paths share one rule. Cannot be combined with center, place or feature_id, and not with zoom either - the fit is what decides the zoom."
}
},
"additionalProperties": false
}
Similar websites
gabrielcatdeveloper.github.io
portami
carregados.com.br
Brazilian EV charging station map and trip planner for finding charging points and planning routes with charging stops across Latin America.
trip-world-taupe.vercel.app
TripBuilder is a shared itinerary workspace for humans and AI agents.
freemap.sk
Freemap Slovakia, a detailed digital map of Central Europe for hiking, cycling, cross-country skiing and horse riding, with marked trails and place search.