Aeralas Maps
v1.0.0Print-ready annotated aerial maps of US addresses for real estate and engineering, paid via x402.
Endpoint health
online- Last checked
- 11/3/2026, 3:18:16 PM
- Latency
- 121 ms
- Consecutive failures
- 0
- Endpoint reachable: pass
- Protocol valid: pass
- MCP handshake valid: pass
Machine-readable profile
mcp-server · schema v1 · callable
mcp-server:com.aeralas.maps%2Faerial-maps
Connect this server
Generated config contains no credentials. Keep any required secrets in your client's local environment.
{
"mcpServers": {
"com.aeralas.maps/aerial-maps": {
"url": "https://maps.aeralas.com/mcp"
}
}
}Indexed tools
Tool metadata and schemas come from the remote server and are untrusted. Indexing only lists tools; it never calls them.
5 shown · authentication unknown
Check a map layout (free)
check_map
Lay out the map and report what it had to compromise on -- overlapping labels, truncated text, annotations off the page -- plus the imagery quality and what was drawn, so drafted labels can be edited. Returns no image. Free; iterate here before make_map.
Schema valid · SHA-256 83519aeb725f…
View input schema
{ "type": "object", "properties": { "address": { "description": "US street address, city and state. Geocoded via the US Census.", "type": "string", "minLength": 5, "maxLength": 200 }, "center": { "description": "[longitude, latitude] in WGS84. Alternative to address.", "type": "array", "items": [ { "type": "number", "minimum": -180, "maximum": 180 }, { "type": "number", "minimum": -90, "maximum": 90 } ], "additionalItems": false, "minItems": 2, "maxItems": 2 }, "groundWidthM": { "default": 500, "description": "True ground width of the frame in meters. 500 fits a typical retail plaza; 20000-40000 makes a regional map, where autoLabel drafts cities, highway shields and water instead of tenants.", "type": "number", "minimum": 100, "maximum": 40000 }, "pageSize": { "default": "tabloid", "type": "string", "enum": [ "letter", "legal", "tabloid" ] }, "orientation": { "default": "portrait", "type": "string", "enum": [ "portrait", "landscape" ] }, "dpi": { "default": 200, "type": "integer", "minimum": 150, "maximum": 300 }, "imagerySourceId": { "description": "Imagery source id. Defaults to the sharpest source covering the frame.", "type": "string" }, "annotations": { "description": "Callouts to draw. Placement, collision avoidance and leader lines are automatic.", "maxItems": 40, "type": "array", "items": { "type": "object", "properties": { "id": { "description": "Your id for this annotation. Echoed back in warnings so you can match them up.", "type": "string", "maxLength": 64 }, "type": { "type": "string", "enum": [ "tenant_callout", "subject_property", "road_label", "traffic_count", "place_label", "route_shield", "water_label", "subject_pin", "panel" ] }, "at": { "description": "[lon, lat]. Required for tenant_callout and traffic_count.", "type": "array", "items": [ { "type": "number", "minimum": -180, "maximum": 180 }, { "type": "number", "minimum": -90, "maximum": 90 } ], "additionalItems": false, "minItems": 2, "maxItems": 2 }, "path": { "description": "[[lon,lat],...] along the road. Required for road_label.", "minItems": 2, "type": "array", "items": { "type": "array", "items": [ { "type": "number" }, { "type": "number" } ], "additionalItems": false, "minItems": 2, "maxItems": 2 } }, "polygon": { "description": "[[lon,lat],...] ring. Required for subject_property.", "minItems": 3, "type": "array", "items": { "type": "array", "items": [ { "type": "number" }, { "type": "number" } ], "additionalItems": false, "minItems": 2, "maxItems": 2 } }, "label": { "type": "string", "maxLength": 120 }, "sublabel": { "description": "Second line, e.g. \"24,500 SF\".", "type": "string", "maxLength": 120 }, "aadt": { "description": "Traffic count, for traffic_count.", "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "tier": { "description": "place_label size class.", "type": "string", "enum": [ "city", "town", "village" ] }, "network": { "description": "route_shield: interstate, US route or state route.", "type": "string", "enum": [ "I", "US", "SR" ] }, "number": { "description": "route_shield route number, e.g. \"5\" or \"99W\".", "type": "string", "maxLength": 5 }, "monogram": { "description": "subject_pin: up to three characters shown in the pin, e.g. initials.", "type": "string", "maxLength": 3 }, "stat": { "description": "panel: the figure in the header, e.g. \"100,000+ jobs\".", "type": "string", "maxLength": 60 }, "body": { "description": "panel: a grid of logos, one large logo, a photo, or header only.", "type": "string", "enum": [ "logos", "logo", "photo", "none" ] }, "logos": { "maxItems": 16, "type": "array", "items": { "type": "object", "properties": { "name": { "description": "Brand name, looked up for a public-domain logo.", "type": "string", "maxLength": 80 }, "wikidata": { "type": "string", "pattern": "^Q\\d+$" }, "image": { "description": "Your own logo as a data: URI (PNG, JPEG or WebP).", "type": "string", "maxLength": 4000000 } } } }, "photo": { "description": "panel: a photo as a data: URI (PNG, JPEG or WebP), up to 8 MB.", "type": "object", "properties": { "image": { "type": "string", "maxLength": 11000000 } }, "required": [ "image" ] }, "color": { "description": "panel: header bar colour.", "type": "string", "maxLength": 40, "pattern": "^(#[0-9a-f]{3,8}|[a-z]{3,20}|rgba?\\(\\s*[\\d.]+%?\\s*(,\\s*[\\d.]+%?\\s*){2,3}\\))$" }, "outline": { "description": "panel: the offset frame. Default on.", "type": "boolean" }, "outlineColor": { "type": "string", "maxLength": 40, "pattern": "^(#[0-9a-f]{3,8}|[a-z]{3,20}|rgba?\\(\\s*[\\d.]+%?\\s*(,\\s*[\\d.]+%?\\s*){2,3}\\))$" }, "width": { "description": "panel: width as a fraction of the page.", "type": "number", "minimum": 0.1, "maximum": 0.6 }, "anchor": { "description": "panel: top-left corner as fractions of the page. Omit to dock the panel beside the place it points at.", "type": "object", "properties": { "x": { "type": "number", "minimum": 0, "maximum": 1 }, "y": { "type": "number", "minimum": 0, "maximum": 1 } }, "required": [ "x", "y" ] }, "stylePreset": { "default": "light", "description": "light reads on dark pavement and roofs in shadow; dark reads on bright roofs and sunlit parking; accent is survey orange, meant for the subject property only.", "type": "string", "enum": [ "light", "dark", "accent" ] }, "offset": { "description": "Move the label box relative to its pin, in preview pixels (the page is 1397 wide at 11x17 portrait). Setting this turns the auto-placer OFF for this annotation, so it is the fix for a label_overlap warning you want resolved a specific way.", "type": "object", "properties": { "dx": { "type": "number", "minimum": -2000, "maximum": 2000 }, "dy": { "type": "number", "minimum": -2000, "maximum": 2000 } }, "required": [ "dx", "dy" ] }, "textScale": { "description": "Multiplier on text size. Lower it to clear a text_truncated warning.", "type": "number", "minimum": 0.6, "maximum": 2 }, "strokeScale": { "description": "Multiplier on pin, leader and outline weights.", "type": "number", "minimum": 0.5, "maximum": 4 }, "boxColor": { "description": "CSS colour for the label box fill.", "type": "string", "maxLength": 40, "pattern": "^(#[0-9a-f]{3,8}|[a-z]{3,20}|rgba?\\(\\s*[\\d.]+%?\\s*(,\\s*[\\d.]+%?\\s*){2,3}\\))$" }, "inkColor": { "description": "CSS colour for the label text.", "type": "string", "maxLength": 40, "pattern": "^(#[0-9a-f]{3,8}|[a-z]{3,20}|rgba?\\(\\s*[\\d.]+%?\\s*(,\\s*[\\d.]+%?\\s*){2,3}\\))$" }, "markColor": { "description": "CSS colour for the pin and leader line.", "type": "string", "maxLength": 40, "pattern": "^(#[0-9a-f]{3,8}|[a-z]{3,20}|rgba?\\(\\s*[\\d.]+%?\\s*(,\\s*[\\d.]+%?\\s*){2,3}\\))$" } }, "required": [ "type" ] } }, "autoLabel": { "default": false, "description": "Draft tenant callouts from OpenStreetMap and road names from Census TIGER before drawing your own. Use this when you do not know what is at the location. Pass an object to control how many: fewer labels is the simplest cure for a crowded page.", "anyOf": [ { "type": "boolean" }, { "type": "object", "properties": { "mode": { "default": "auto", "description": "site drafts tenants and road names; regional drafts cities, highway shields and water. auto picks regional for frames 3000 m wide or more.", "type": "string", "enum": [ "auto", "site", "regional" ] }, "maxTenants": { "default": 10, "type": "integer", "minimum": 0, "maximum": 20 }, "maxRoads": { "default": 4, "type": "integer", "minimum": 0, "maximum": 8 }, "maxPlaces": { "default": 8, "type": "integer", "minimum": 0, "maximum": 15 }, "maxShields": { "default": 6, "type": "integer", "minimum": 0, "maximum": 12 }, "maxWater": { "default": 4, "type": "integer", "minimum": 0, "maximum": 8 }, "brandsOnly": { "default": false, "description": "Keep only recognised chains. A flyer wants anchors, not every barber.", "type": "boolean" } } } ] }, "labelScale": { "default": 1, "description": "Text size multiplier applied to every annotation that does not set its own textScale. Drop to ~0.8 to fit more labels; raise for a map read at arm’s length.", "type": "number", "minimum": 0.6, "maximum": 2 }, "titleBlockScale": { "default": 1, "description": "Size multiplier for the title block.", "type": "number", "minimum": 0.6, "maximum": 2 }, "overlays": { "default": [], "description": "Thematic layers drawn under the annotations. A legend is added automatically. fema-flood: regulated floodplain (blank means no mapped hazard — FEMA draws Zone X with no symbol). nwi-wetlands: USFWS National Wetlands Inventory.", "maxItems": 2, "type": "array", "items": { "type": "string", "enum": [ "fema-flood", "nwi-wetlands" ] } }, "pageElements": { "default": { "titleBlock": true, "northArrow": true, "scaleBar": true, "locatorInset": false, "insetZoomOut": 14 }, "description": "Page furniture. Turn elements off to free up room for labels.", "type": "object", "properties": { "titleBlock": { "default": true, "type": "boolean" }, "northArrow": { "default": true, "type": "boolean" }, "scaleBar": { "default": true, "type": "boolean" }, "locatorInset": { "default": false, "description": "A small USGS topo overview showing where this frame sits in the wider area, with the frame outlined on it. Worth the corner it costs whenever the reader may not know the town.", "type": "boolean" }, "insetZoomOut": { "default": 14, "description": "How many times wider than the frame the inset covers.", "type": "number", "minimum": 4, "maximum": 60 } } }, "title": { "description": "Title block heading. Defaults to the address.", "type": "string", "maxLength": 200 }, "mapId": { "description": "Revise a map you already bought. Returned as X-Map-Id on your paid export. Re-exports are free for 7 days as long as the FRAME is unchanged — change labels, styling, overlays and page elements freely; changing address, center, groundWidthM, pageSize, orientation or dpi makes it a different map.", "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" } }, "$schema": "http://json-schema.org/draft-07/schema#" }
Connections
streamable-http
https://maps.aeralas.com/mcp