Address validation & geocoding for AI agents: 240+ countries, UK PAF, free US/CA enrichment
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer <your Acuris API key> — get a free trial key via the request_trial_key tool or https://www.acuris-geo.com/acuris-pricing/
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Address autocomplete (type-ahead): ranked, standardized address suggestions for a partial input `q` (typed so far), with lat/lng whenever the reference row carries a coordinate. Use it to help a person pick an address, then pass the chosen one to validate_address. `country` is ISO-3 lowercase. `limit` 1-50 (default 10). `state` narrows USA/Canada. For UK (gbr) the query may be, or start with, a postcode: a full or partial postcode returns every delivery point there (labelled with building/organisation names). UK requests are served from the Royal Mail PAF service; suggestions do not carry UDPRN/UPRN, so validate the chosen address to get them. Cost: billed exactly like the /suggest endpoint it wraps; see https://www.acuris-geo.com/acuris-pricing/
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Address autocomplete (type-ahead): ranked, standardized address suggestions for a partial input `q` (typed so far), with lat/lng whenever the reference row carries a coordinate. Use it to help a person pick an address, then pass the chosen one to validate_address. `country` is ISO-3 lowercase. `limit` 1-50 (default 10). `state` narrows USA/Canada. For UK (gbr) the query may be, or start with, a postcode: a full or partial postcode returns every delivery point there (labelled with building/organisation names). UK requests are served from the Royal Mail PAF service; suggestions do not carry UDPRN/UPRN, so validate the chosen address to get them. Cost: billed exactly like the /suggest endpoint it wraps; see https://www.acuris-geo.com/acuris-pricing/
| Argument | Type | Description |
|---|---|---|
| q* | string | |
| limit | integer | |
| state | string | |
| country* | string |
{
"type": "object",
"title": "autocomplete_addressArguments",
"required": [
"country",
"q"
],
"properties": {
"q": {
"type": "string",
"title": "Q"
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 10
},
"state": {
"type": "string",
"title": "State",
"default": ""
},
"country": {
"type": "string",
"title": "Country"
}
}
}Show the connected API key's remaining credit balances (validation, geocode, email, phone pools; trial expiry; the UK free-trial PAF counter for trial keys). Free — never consumes credits.
No arguments.
{
"type": "object",
"title": "check_balanceArguments",
"properties": {}
}Address → census & geographic codes (USA + Canada), FREE with validation. USA: state & county FIPS, census tract (11-digit GEOID), block group, CBSA/MSA, congressional district (119th Congress), school district. Canada: province, census division, dissemination area, census subdivision, census tract, CMA/CA, federal electoral district. Sources: US Census Bureau TIGER/Line; Statistics Canada (open data). The enrichment is attached when the address resolves to a house-number- or street-accurate match; centroid-only matches return no enrichment (the point could fall in the wrong area). `country` must be "usa" or "can". Cost: 1 validation credit (the enrichment itself is free); failed lookups are refunded.
| Argument | Type | Description |
|---|---|---|
| city | string | |
| state | string | |
| street | string | |
| country* | string | |
| postcode | string | |
| address_line | string | |
| house_number | string |
{
"type": "object",
"title": "enrich_us_ca_addressArguments",
"required": [
"country"
],
"properties": {
"city": {
"type": "string",
"title": "City",
"default": ""
},
"state": {
"type": "string",
"title": "State",
"default": ""
},
"street": {
"type": "string",
"title": "Street",
"default": ""
},
"country": {
"type": "string",
"title": "Country"
},
"postcode": {
"type": "string",
"title": "Postcode",
"default": ""
},
"address_line": {
"type": "string",
"title": "Address Line",
"default": ""
},
"house_number": {
"type": "string",
"title": "House Number",
"default": ""
}
}
}Expand a UK postcode into every Royal Mail delivery point at that postcode — organisation, building, street, town, county, plus UDPRN, UPRN and rooftop coordinates for each address. Cost: 1 credit per postcode, regardless of how many addresses come back; an unknown/invalid postcode is refunded automatically.
| Argument | Type | Description |
|---|---|---|
| postcode* | string |
{
"type": "object",
"title": "expand_uk_postcodeArguments",
"required": [
"postcode"
],
"properties": {
"postcode": {
"type": "string",
"title": "Postcode"
}
}
}Forward-geocode an address to coordinates (lat/lng) with an explicit accuracy_type — you always know what you got. accuracy_type is an OPEN set; new tiers are added as reference data improves. Do NOT write code that treats an unrecognised value as a failure. Branch on the boolean `point_coordinate` instead, which is true when the coordinate identifies one address. Current values: rooftop and arrival_point (both point coordinates — a point on the building, or the property's entrance / access point), then street_interpolated, street_centroid, postcode_centroid, locality_centroid, admin_centroid. House-number-level matches may ALSO carry `arrival_point: {lat, lng}` — the premise's entrance/access coordinate beside the served pin (equal to lat/lng when accuracy_type is arrival_point). Use it for delivery and navigation; omitted when not on file. `country` is ISO-3 lowercase. Give fielded parts or a single line in `q`. For UK (gbr) addresses use validate_address instead — it returns point coordinates from Royal Mail PAF. Cost: 1 credit per successful geocode; failures are refunded.
| Argument | Type | Description |
|---|---|---|
| q | string | |
| city | string | |
| state | string | |
| street | string | |
| country* | string | |
| postcode | string | |
| house_number |
Get an instant FREE Acuris trial API key — 100 credits, valid 7 days, no card, no signup form. Idempotent: asking again with the same email within 24h returns the SAME key. BEFORE calling with accept_terms=true you MUST show the user both links and get their explicit confirmation that they agree: Terms of Service: https://api.acuris-geo.com/legal/terms UK PAF Evaluation Terms: https://api.acuris-geo.com/legal/uk-evaluation-terms Never set accept_terms=true on the user's behalf without that confirmation. Without it the tool mints nothing and returns these links. After receiving the key, reconfigure this MCP server connection with the header "Authorization: Bearer <key>" (or set ACURIS_API_KEY for stdio). UK (Royal Mail PAF) lookups are capped at 5 per UTC day and the free UK evaluation runs 90 days from acceptance. Paid plans: https://www.acuris-geo.com/acuris-pricing/
| Argument | Type | Description |
|---|---|---|
| email* | string | |
| accept_terms | boolean |
{
"type": "object",
"title": "request_trial_keyArguments",
"required": [
"email"
],
"properties": {
"email": {
"type": "string",
"title": "Email"
},
"accept_terms": {
"type": "boolean",
"title": "Accept Terms",
"default": false
}
}
}Coordinates → nearest address(es). Returns the closest reference addresses to (lat, lng), nearest first, with distances. Optional: `country` (ISO-3) to constrain the search, `radius_m`, `limit`. Cost: 1 credit per successful lookup; an empty radius (no addresses found) is refunded.
| Argument | Type | Description |
|---|---|---|
| lat* | number | |
| lng* | number | |
| limit | integer | |
| country | string | |
| radius_m | integer |
{
"type": "object",
"title": "reverse_geocodeArguments",
"required": [
"lat",
"lng"
],
"properties": {
"lat": {
"type": "number",
"title": "Lat"
},
"lng": {
"type": "number",
"title": "Lng"
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 0
},
"country": {
"type": "string",
"title": "Country",
"default": ""
},
"radius_m": {
"type": "integer",
"title": "Radius M",
"default": 0
}
}
}Validate and standardize one postal address (240+ countries; UK via the official Royal Mail PAF with UDPRN + UPRN). Give `country` as ISO-3 lowercase (e.g. usa, can, deu, gbr) plus EITHER a free-text `address_line` OR fielded parts (street, house_number, city, state, postcode). Returns an honest verdict — status "verified" (exact) or "corrected" (fixed), or partial_match with reasons — plus the standardized form, confidence, coordinates with an explicit accuracy_type, and, for street-accurate USA/Canada matches, a FREE `enrichment` block (census tract, block group, FIPS, CBSA/MSA, congressional district, school district / Canadian equivalents). Cost: 1 validation credit per successful lookup; no-match and errors are refunded automatically (you pay for results, not attempts).
| Argument | Type | Description |
|---|---|---|
| city | string | |
| state | string | |
| street | string | |
| country* | string | |
| postcode | string | |
| address_line | string | |
| house_number | string |
{
"type": "object",
"title": "validate_addressArguments",
"required": [
"country"
],
"properties": {
"city": {
"type": "string",
"title": "City",
"default": ""
},
"state": {
"type": "string",
"title": "State",
"default": ""
},
"street": {
"type": "string",
"title": "Street",
"default": ""
},
"country": {
"type": "string",
"title": "Country"
},
"postcode": {
"type": "string",
"title": "Postcode",
"default": ""
},
"address_line": {
"type": "string",
"title": "Address Line",
"default": ""
},
"house_number": {
"type": "string",
"title": "House Number",
"default": ""
}
}
}Validate up to 50 addresses in one call (mixed countries allowed). `addresses` is a list where each entry is either a free-text string, or an object {"input": <string or fielded object>, "country": "iso3"}. Entries without their own country use the `country` parameter. UK (gbr) rows are routed individually to the Royal Mail PAF service; everything else goes through the batch endpoint. Results come back in the same order, each with the same shape as validate_address. Cost: 1 validation credit per successfully validated row; failed rows are refunded. For files bigger than 50 rows, call this tool repeatedly.
| Argument | Type | Description |
|---|---|---|
| country | string | |
| addresses* | array |
{
"type": "object",
"title": "validate_addresses_batchArguments",
"required": [
"addresses"
],
"properties": {
"country": {
"type": "string",
"title": "Country",
"default": ""
},
"addresses": {
"type": "array",
"items": {},
"title": "Addresses"
}
}
}| string |
{
"type": "object",
"title": "geocode_addressArguments",
"required": [
"country"
],
"properties": {
"q": {
"type": "string",
"title": "Q",
"default": ""
},
"city": {
"type": "string",
"title": "City",
"default": ""
},
"state": {
"type": "string",
"title": "State",
"default": ""
},
"street": {
"type": "string",
"title": "Street",
"default": ""
},
"country": {
"type": "string",
"title": "Country"
},
"postcode": {
"type": "string",
"title": "Postcode",
"default": ""
},
"house_number": {
"type": "string",
"title": "House Number",
"default": ""
}
}
}