Geocode AI

dev.geocodeaiPublished by geocodeai.devOfficial publisherv1.0.2Updated Nov 5, 2026

Administrative boundaries for every place on Earth: search, reverse lookup, polygons, areas.

VerifiedStreamable HTTPWeb executableLocation & LifestyleFiles & StorageData & Analytics

Overview

AI-generated overview

Geocode AI gives an assistant administrative boundaries for places worldwide: search by name, reverse lookup by point, polygons, exports and merged areas.

What you can do
  • Search and browse boundaries: find countries, states, counties, cities, districts and postcodes by name in any language, list their subdivisions, and fetch a polygon as GeoJSON.
  • Look up a coordinate: return every boundary containing a point, country down to district, plus postcode areas.
  • Test and combine shapes: check up to 10,000 points against one boundary, merge boundaries into one polygon, or turn a plain-language area description into a validated polygon.
  • Export and share files: build a boundary as geojson, kml, wkt, svg or gml, save it to an organization file library, and share it with teams or people.
  • Manage the account: view plan, usage, API keys, members, teams, invites, audit…
When to use it
Useful when an assistant needs real administrative geography: tagging addresses or deliveries with their country, state and city, geofencing or service-area checks, building drill-down region pickers, or producing boundary files for GIS work. It is also a fit when a described area such as a sales territory or contract clause must become one polygon.
Requirements
Runs as a remote endpoint or as a local npm package over stdio. Public tools work without credentials at 20 calls a minute per IP; the rest need a GEOCODE_API_KEY (geo_...) from the provider's dashboard or login command. Paid operations consume units from the organization's plan.
Before you install
Paid operations spend units (one per boundary geometry, reverse lookup or point batch; 50 for a described area), and the free plan includes 1,000 units a month. Tools can create and revoke API keys, change profile and email settings, save, rename, share and delete library files, and file public feedback. Checkout and billing links lead to Stripe; the assistant should never pay, change plans or handle card details. Feature requests and comments are public, so no keys or personal data should go…

Installation

In SourceWeft

  1. Open Geocode AI in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/dev.geocodeai%2Fgeocode/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "geocode-ai": {
      "type": "http",
      "url": "https://geocodeai.dev/mcp"
    }
  }
}

Tools

43

search_boundaries

Search boundaries

Finds administrative boundaries (countries, states, counties, cities, districts) and postcode areas by name, in any language. Filter by country, kind or admin_level; bias toward a point with near. Free and public. Returns candidates with id, kind, admin_level, country, parents, bbox, centroid and population, but no polygon: pass the id to get_boundary for that.

Parametersqrequiredkindnearlimitcountryadmin_level

get_boundary

Get boundary polygon

Returns one boundary as a GeoJSON Feature: its polygon at a chosen detail plus properties (name, kind, admin_level, parents, bbox, area_km2, population, wikidata). Fetched from OpenStreetMap the first time anyone asks, then served from cache. Costs 1 unit; detail=low is also public without a key (for map previews). include=parents adds the full hierarchy, include=children the direct subdivisions. If the polygon is too big for one response, geometry is null and download_url points to the file.

Parametersidrequireddetailincluderequiredprecision

export_boundary

Export boundary file

Builds a boundary's polygon as a file (geojson, kml, wkt, svg or gml) at a detail level and returns a permanent public URL on our CDN; the REST route redirects straight to it. Use it for large polygons, GIS tools and bulk downloads. Costs 1 unit; each file is built once and then shared. Needs an API key or a connected account.

Parametersidrequireddetailformat

reverse_boundaries

Boundaries at a point

Every administrative boundary containing a point, country first down to the smallest district, plus postcode areas. Use it to tag an address, a store or a delivery with its country, state, county and city in one call. Costs 1 unit. Returns ids you can pass to get_boundary. Needs an API key or a connected account.

Parameterslatrequiredlonrequired

list_children

List subdivisions

The direct subdivisions of a boundary: a country's states, a state's counties, a city's districts. Without admin_level it picks the next level that exists. Free and public. Use it to build drill-down pickers or to cover a region with its parts.

Parametersidrequiredadmin_level

contains_points

Points in boundary

Tests up to 10,000 points ([lon, lat] pairs) against one boundary and returns a boolean per point plus the inside count. Use it for geofencing, service-area checks and filtering customer lists. Costs 1 unit per 1,000 points. Needs an API key or a connected account.

Parametersidrequiredpointsrequired

union_boundaries

Merge boundaries

Merges boundaries into one polygon: the union of include minus the union of exclude (e.g. three counties minus one city). Use it for sales territories, delivery zones and service areas. Up to 50 boundaries; costs 1 unit per boundary. Returns a GeoJSON Feature with area_km2. To describe an area in words instead, use create_area. Needs an API key or a connected account.

Parametersdetailexcludeincluderequired

create_area

Create area from a description

Turns a plain-language description of an area ("Alameda and Contra Costa counties excluding San Jose, plus SFO") or wording from a contract or policy into one validated land-only polygon. An AI agent plans includes/excludes from real administrative boundaries; you get GeoJSON plus each part's source, or a 422 explaining what could not be mapped. Takes 30 s to a few minutes. For a single named place use search_boundaries + get_boundary instead: it is instant and costs 1 unit. Needs an API key or a connected account.

Parametersseedtextrequiredsourcecountry

get_account

Get account

The signed-in account and the organization the call acts in: email and profile, the organization (id, slug, name, personal or shared) and the caller's role in it (viewer, member, admin or owner), how the call is authenticated (api_key, oauth or session), the organization's plan in force (status, renewal date, set to cancel or not), this month's use of every limit (units used and remaining, described areas remaining, API keys, requests a minute, when units reset), and what the next plan adds with its checkout_url. Plan, usage and limits belong to the organization and are shared by its members and keys. Free. Call it before a large batch to check it fits, and after a human pays to see the new plan. Needs an API key or a connected account.

Takes no parameters.

update_profile

Update profile

Sets the account's name, company, use case (what you are building) and language (the language for emails and the dashboard). Send only the fields to change; an empty string clears a text field. Free. Returns the updated profile. Needs an API key or a connected account.

Parametersnamelocalecompanyuse_case

get_usage

Get usage

The organization's daily usage for the last N days (default 30), by op, with cache hit counts, across every member and key. Use it to explain a bill or spot a runaway client. Needs an API key or a connected account.

Parametersdays

list_api_keys

List API keys

The organization's API keys (prefix, name, who created it, last use; never the secret). Members see the keys they created; admins and owners see every key, including those of people who left. Needs an API key or a connected account.

Parametersinclude_revoked

create_api_key

Create API key

Creates an API key for the organization and returns the secret once. Store it in an environment variable (GEOCODE_API_KEY); it cannot be shown again. The key acts in this organization only, with its creator's role (at most admin), and keeps working if the creator leaves until an admin revokes it. Needs an API key or a connected account.

Parametersname

revoke_api_key

Revoke API key

Revokes an API key by id. Requests with it fail with 401 immediately. Members revoke the keys they created; admins and owners revoke any key in the organization. Needs an API key or a connected account.

Parametersidrequired

get_email_preferences

Get email preferences

Which automated emails the account receives: the global subscription and one switch per kind (getting-started notes, first boundary, usage milestones, quota warnings, check-ins, monthly digest). Free. Sign-in codes are always sent. Needs an API key or a connected account.

Takes no parameters.

update_email_preferences

Update email preferences

Turns automated emails on or off: `subscribed: false` stops all of them (the same as the unsubscribe link), `subscribed: true` resubscribes, and `kinds` switches individual kinds. Kinds not named keep their setting. Free. Returns the preferences after the change. Needs an API key or a connected account.

Parameterskindssubscribed

list_orgs

List organizations

The organizations you belong to, with your role in each and which one this call acts in (current). Personal is the one made for you at signup. An API key acts in its own organization only, so with a key this lists that one. Free. Needs an API key or a connected account.

Takes no parameters.

list_members

List members

The people in the organization: email, name, role (viewer, member, admin, owner), when they joined and their teams. Free. Use it to find who to share a file with. Inviting, removing and changing roles is done by a person on the dashboard. Needs an API key or a connected account.

Takes no parameters.

list_teams

List teams

The organization's teams: slug, name, description and members with their team role (maintainer or member). Free. Pass a team's slug to share_file to share a library file with everyone in it. Needs an API key or a connected account.

Takes no parameters.

list_invites

List invites

Invitations to the organization: email, role, teams, status (pending, accepted, expired, revoked) and when they expire. Admins and owners only. Free. Sending, resending and revoking invites is done on the dashboard. Needs an API key or a connected account.

Parametersinclude_closed

list_audit_log

List audit log

The organization's audit log, newest first: who (a person, an API key, an OAuth client or the system) changed membership, roles, teams, invites, API keys, billing or file sharing, and when. Admins and owners only. Free. Needs an API key or a connected account.

Parameterslimitactionoffset

save_file

Save boundary file to the library

Exports a boundary (like export_boundary) and saves it in the organization's file library, so teammates find it on the dashboard and through list_files. visibility org (default) shares it with every member at their role; restricted keeps it to you, admins and whoever you share it with (share_file). Saving the same boundary, format and detail again returns the existing entry. Costs 1 unit. Returns the library entry with its permanent download url. Needs an API key or a connected account.

Parametersnamedetailformatvisibilityboundary_idrequired

list_files

List library files

The boundary files in the organization's library that you can see, newest first: org-visible ones plus restricted ones shared with you or a team you are in. Each has your access (read, write or admin). Free. Needs an API key or a connected account.

Parameterslimitoffset

get_file

Get library file

One library file: its boundary, format, detail, visibility, your access, the permanent download url and, when you can manage it, who it is shared with. Free. Needs an API key or a connected account.

Parametersidrequired

update_file

Rename or change visibility

Renames a library file (write access) or sets its visibility (admin access on the file): org shares it with every member at their role, restricted keeps it to its creator, admins and explicit shares. Free. Needs an API key or a connected account.

Parametersidrequirednamevisibility

delete_file

Remove from the library

Removes a file from the organization's library and its shares (admin access on the file). The exported file itself stays in the public cache; export_boundary rebuilds the url any time. Free. Needs an API key or a connected account.

Parametersidrequired

share_file

Share library file

Shares a library file with a team (by slug or id) or a person in the organization (by email or user id) at read, write or admin access; sharing again changes the access. Needs admin access on the file (its creator, an org admin, or an admin share). Viewers are capped at read whatever the share says. Free. Returns the file's shares. Needs an API key or a connected account.

Parametersidrequiredteamuseraccess

unshare_file

Stop sharing library file

Removes one share of a library file by its grant id (from get_file). Needs admin access on the file. Org-visible files stay visible to every member; make it restricted with update_file to limit it to its shares. Free. Needs an API key or a connected account.

Parametersidrequiredgrant_idrequired

get_subscription

Get subscription

The organization's plan and subscription: plan, status, when the period renews or ends, whether it is set to cancel, the price, this month's use of every limit (units, described areas, API keys, rate) and what the next plan adds, with its checkout_url. Free. The same as get_account without the profile. Call it before suggesting an upgrade, and after handing a human a checkout link to see when the payment went through (plan changes from free to the plan bought, usually within seconds). Needs an API key or a connected account.

Takes no parameters.

list_feedback

List feature requests and issues

The feedback board: feature requests and published issues with their status and upvotes, most upvoted first (with a key, also your own private issues, and whether you voted). Free and needs no key. Call it before request_feature or report_issue to find an existing item to upvote instead of filing a duplicate, or when the human asks what is planned or shipped.

Parametersqkindminesortlimitcursoroffsetstatus

get_feedback

Get a feature request or issue

One feedback item with its status, upvotes, comments (official team responses marked) and timeline of status changes. Free and needs no key for public items; a private issue is visible to its reporter and the team.

Parametersidrequired

list_my_feedback

List my feedback and subscriptions

What you filed (including private issues), what you follow because you voted or commented, and your review, each with its current status. Free; needs a key. Use it to check on an issue you reported or a feature you asked for. Needs an API key or a connected account.

Parameterslimit

request_feature

Request a feature

Files a feature request on the public board and upvotes it for you. Use it when the human wishes the API did something it cannot (a boundary type, export format, op or option). It first looks for similar requests: if any match it files nothing and returns them in `similar`, so you can upvote_feedback the right one; pass force: true to file anyway. Free; needs a key; 10 new items per account a day. The human gets a thank-you email and an email on every status change. Feature requests are public (never the author's email); issues are private to you and the team. Do not include API keys, personal data or customer data. Needs an API key or a connected account.

Parametersforcetitlerequireddetails

report_issue

Report an issue

Reports a problem with Geocode AI: a failing or wrong API call, a wrong or missing boundary, a docs error. Call it after a call fails in a way that looks like our bug (5xx, a wrong polygon, a boundary that should exist), with the failing call's request_id (X-Request-Id header or the error's request_id) and op; add query, boundary_id and the error in context. Issues are private to you and the team. It first returns similar issues you can see, filing nothing; upvote_feedback the same one or pass force: true. Free; needs a key; 10 new items per account a day. The human gets an email with the reference and on every status change. Needs an API key or a connected account.

Parametersopforcetitlerequiredcontextdetailsrequest_id

upvote_feedback

Upvote a feature request or issue

Adds your upvote to a feature request or issue (a "me too"); votes decide what gets built and fixed first, and you get an email when its status changes. Idempotent: one vote per account. A vote on a duplicate goes to the original. Free; needs a key. Returns the item with its new vote count. Needs an API key or a connected account.

Parametersidrequired

remove_feedback_vote

Remove an upvote

Takes back your upvote on a feature request or issue, and stops its emails unless you filed or commented on it. Free; needs a key. Returns the item with its new vote count. Needs an API key or a connected account.

Parametersidrequired

comment_on_feedback

Comment on a feature request or issue

Adds context to an existing feature request or issue: your use case, another failing request id, a workaround. Prefer it (with upvote_feedback) over filing a near-duplicate. You then get its status emails; its author gets a daily digest of comments. Free; needs a key; 50 comments per account a day. Feature requests are public (never the author's email); issues are private to you and the team. Do not include API keys, personal data or customer data. Needs an API key or a connected account.

Parametersidrequiredbodyrequired

list_reviews

Read reviews

Published reviews of Geocode AI with the average rating and the distribution, and the team's response under each. Free and needs no key. Use it when the human asks what other users think.

Parameterssortlimitoffsetrating

get_my_review

Get my review

Your review of the product, if you posted one, with its status (published, pending a check, or hidden with the reason) and the team's response. Free; needs a key. Needs an API key or a connected account.

Takes no parameters.

submit_review

Post or edit a review

Posts the human's public review of Geocode AI (1–5 stars, what they like and dislike, what they use it for), or replaces their existing one; each account has one review and earlier versions are kept. Only call it with the human's own rating and words, never invented ones. Published at once unless it holds links or the account is under a day old (then pending). Free; needs a key; one edit an hour. The human gets a thank-you email. Needs an API key or a connected account.

Parametersbodylikestitleratingrequireddislikesuse_casedisplay_namedisplay_companymarketing_consent

get_pricing

Get plans and prices

Every plan with its monthly price, included units, limits (units, described areas, requests a minute, API keys), features and checkout_url, plus what each call costs in units and what works without a key. Free and needs no key. Call it before a large batch, when the human asks what something costs, or before create_checkout_link; never quote prices from memory.

Takes no parameters.

Version history

3
  1. v1.0.2LatestNov 5, 2026
  2. v1.0.1Nov 3, 2026
  3. v1.0.0Nov 3, 2026

Score

75% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • License10 pts

    Declare a license in the repository or the registry entry.