← Geocode AICONTENT HISTORY
WHAT CHANGED
Update to Geocode AI
Snapshot Nov 6, 2026 · 00:16 UTC · version 0.5.3
Collection source: downloaded plugin package.
First saved snapshot
No earlier snapshot is available to establish a change.
Save Geocode AI and check future changes in Following.
Up to 3 plugins free · no card required.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"description": "Look up administrative boundaries anywhere in the world with Geocode AI and work with their polygons - find a country, state, county, city, district or postcode by name, get its polygon as GeoJSON, find every boundary containing a coordinate (reverse), list what is inside a boundary (children), check which zone each of many points falls in (contains), and merge several boundaries into one shape (union). Use for \"get the boundary/polygon/shape of X\", \"which county is this point in\", \"list the counties of Y\", \"is this address inside Z\", service areas built from named places, and map data for a page or a notebook; do not use for a described area that is not one named place (geocode-areas) or for writing code against the API (geocode-api).",
"included_files": [
{
"relative_path": "agents/openai.yaml",
"size_in_bytes": 258
}
],
"name": "geocode-boundaries",
"skill_md_contents": "---\nname: geocode-boundaries\ndescription: Look up administrative boundaries anywhere in the world with Geocode AI and work with their polygons - find a country, state, county, city, district or postcode by name, get its polygon as GeoJSON, find every boundary containing a coordinate (reverse), list what is inside a boundary (children), check which zone each of many points falls in (contains), and merge several boundaries into one shape (union). Use for \"get the boundary/polygon/shape of X\", \"which county is this point in\", \"list the counties of Y\", \"is this address inside Z\", service areas built from named places, and map data for a page or a notebook; do not use for a described area that is not one named place (geocode-areas) or for writing code against the API (geocode-api).\n---\n\n# Geocode AI: boundaries\n\nTools come from the `geocode` MCP server (or the `geocode` CLI). Boundaries are\nOpenStreetMap administrative areas, cached by Geocode AI, so repeat lookups are\ninstant.\n\n## Workflow\n\n1. **Named place → search, then get.** Call `search_boundaries` with the name.\n Add the country or a parent to the query when the name is ambiguous\n (\"Alameda County, California\", \"Paris, France\"). Pick the result whose admin\n level and parents match what the human meant, then call `get_boundary` with\n its `id` for the polygon. Never guess or construct an id.\n2. **A coordinate → reverse.** `reverse_boundaries` with `lat` and `lon`\n returns every boundary containing the point, from country down to\n neighbourhood. Use it for \"which city/county/state is this in\".\n3. **Inside a boundary → children.** `list_children` with the parent's id\n (states of a country, counties of a state, districts of a city).\n4. **Many points → contains.** `contains_points` takes a batch of points in one\n call. Never loop one call per point.\n5. **Several boundaries as one shape → union.** `union_boundaries` with the ids\n you got from search or children.\n6. **Files.** `export_boundary` (or `get_boundary` with a `format`) returns other\n formats when the human wants a file.\n\n## Ids\n\nIds are `r<OSM relation id>` (`r396499`) or `w<way id>`. `R62422`,\n`relation/62422`, `-62422` and osm.org URLs are accepted; the canonical form\ncomes back. Reuse ids already in the conversation instead of searching again.\n\n## Costs and limits\n\nSearching and browsing (search, children) are free. A polygon, a reverse lookup\nor a point batch costs one unit. Use the connected account’s existing entitlements; do not display plans or pricing. Without a key only public tools work. If a call\nreturns `unauthorized`, tell the human to connect their account (the MCP\nserver's sign-in, or `npx @meterapp/geocode login`). On `quota_exceeded` stop\nand tell the human. Do not create checkout links, promote upgrades, or initiate subscriptions.\n\n## Presenting results\n\n- Say which boundary you used: name, admin level and parent (\"Alameda County,\n California, United States, admin level 6\"), so the human can catch a wrong\n match before using it.\n- GeoJSON is WGS84 in lon/lat order. Do not paste a huge polygon into chat\n unless asked; save it to a file (`alameda.geojson`) or summarize it (bbox,\n area, number of parts).\n- If no result matches, say so and show the closest candidates. Never\n substitute a different place silently.\n\n## When the API falls short\n\nIf the human needs something the tools cannot do, or a call fails in a way\nthat looks like our bug (a 5xx, a boundary that is wrong or missing), use the\npublic feedback board. `list_feedback` first; if a matching item exists,\n`upvote_feedback` it and add the use case with `comment_on_feedback`.\nOtherwise, with the human's go-ahead, `request_feature` or `report_issue`\n(pass the failing call's `request_id` and `op`). All free; the board is\npublic, so never include keys, personal or customer data.\n\n## CLI equivalents\n\n```bash\nnpx @meterapp/geocode search \"Alameda County\"\nnpx @meterapp/geocode get r396499 --format geojson > alameda.geojson\nnpx @meterapp/geocode reverse 37.8 -122.27\nnpx @meterapp/geocode children r396499\nnpx @meterapp/geocode feedback --kind feature --q postcode\nnpx @meterapp/geocode upvote 12\nnpx @meterapp/geocode request \"Export as Shapefile\" --details \"ArcGIS import\"\nnpx @meterapp/geocode report \"get_boundary 500 for r62422\" --request-id req_… --op get_boundary\n```\n"
}SHA-256 of public snapshot: 414b2c36e010080da7913d12945638d732e8a732890faaf1aed9795209710833