{"ok":true,"site":{"host":"map-truth.vercel.app","url":"https://map-truth.vercel.app/","type":"live","desc":"A WebMCP geography proof. Compare an invented AI map with a generative redraw grounded in a locked, inspectable OpenStreetMap source view.","tools":[{"name":"inspect_map_context","kind":"answer","impl":"imperative","description":"Read the current viewport, live OSM lock, verification state, and up to 20 visible feature references.","title":"Inspect live map context","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"detail":{"type":"string","enum":["summary","features"]}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"navigate_map","kind":"act","impl":"imperative","description":"Move the camera to validated longitude, latitude, and zoom. Camera coordinates never become artwork geometry.","title":"Navigate the map","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"center":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},"zoom":{"type":"number","minimum":2,"maximum":18},"label":{"type":"string","maxLength":60}},"required":["center","zoom"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"focus_place","kind":"act","impl":"imperative","description":"Move the map to a place named in plain language (for example \"Jakarta\") and lock its live OSM geometry. Use this to ground generation in the place a prompt is actually about.","title":"Focus the map on a named place","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"place":{"type":"string","minLength":1,"maxLength":120},"lock":{"type":"boolean"}},"required":["place"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"lock_live_osm","kind":"act","impl":"imperative","description":"Create an immediate, traceable geometry lock from the OSM vector tiles already loaded in the visible viewport.","title":"Lock live OSM viewport","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"verify_osm_lock","kind":"act","impl":"imperative","description":"Upgrade the active live-tile lock through Overpass. A failed verification preserves the current live lock.","title":"Verify with canonical OSM","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"mark_from_osm","kind":"act","impl":"imperative","description":"Work out which kinds of place the current brief needs — gathering points, medical posts, transit and so on — then mark the real ones from OpenStreetMap on the map itself, so they are inside any capture.","title":"Mark what the brief asks for","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"generate_comparison","kind":"act","impl":"imperative","description":"Stage one or more gpt-image-2 routes. The page requires visible user approval before any costed request begins.","title":"Stage GPT Image comparison","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"prompt":{"type":"string","minLength":1,"maxLength":1200},"routes":{"type":"array","items":{"type":"string","enum":["promptOnly","screenshotGrounded"]},"minItems":1,"maxItems":2,"uniqueItems":true}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"inspect_comparison","kind":"act","impl":"imperative","description":"Read compact per-route progress, errors, duration, and prompt lineage for the current comparison.","title":"Inspect image comparison","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"verify_geography","kind":"act","impl":"imperative","description":"Recompute feature hashes, activate the truth seam, and report mismatches without changing coordinates.","title":"Verify rendered geography","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"export_artwork","kind":"act","impl":"imperative","description":"Download a completed generated image. Defaults to the grounded route; its inspectable source provenance remains visible in the page.","title":"Export generated artwork","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"route":{"type":"string","enum":["promptOnly","screenshotGrounded"]}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"AI & Agents","favicon":"/favicons/map-truth.vercel.app.svg","apiSurface":"spec","toolCount":10}}