what3words

liveGeography

what3words geocoding API — convert coordinates to/from 3-word addresses and autocomplete partial inputs. BYO key.

4tools
0msauth
free tier50 calls/day

Tools

coords_to_wordsrequired: latitude, longitude

Convert a lat/lon to a what3words 3-word address. Defaults to English; pass a 2-letter language code for other languages.

Parameters
NameTypeDescription
latitudereqnumberLatitude
longitudereqnumberLongitude
languageoptstring2-letter language code
▶Try it
words_to_coordsrequired: words

Convert a 3-word address ("filled.count.soap") to a lat/lon centre + 3m×3m bounding box.

Parameters
NameTypeDescription
wordsreqstringThree-word address
▶Try it
autosuggestrequired: input

Given a partial / mistyped 3-word input, return ranked suggestions. Optional focus point biases results toward proximity.

Parameters
NameTypeDescription
inputreqstringPartial three-word string
n_resultsoptnumber1-100
focus_latitudeoptnumberBias toward this latitude
focus_longitudeoptnumberBias toward this longitude
countryoptstringISO country code filter
languageoptstring2-letter language
▶Try it
list_languages

Supported languages for 3-word output (code + name).

No parameters required.

▶Try it

Test with curl

The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.

List available tools
bash
curl -X POST https://gateway.pipeworx.io/what3words/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Call a tool
bash
curl -X POST https://gateway.pipeworx.io/what3words/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"coords_to_words","arguments":{"latitude": 37.7749, "longitude": -122.4194}}}'

Use with the SDK

Install @pipeworx/sdk to call tools from any TypeScript/Node project.

TypeScript
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("coords_to_words", {"latitude":"example","longitude":"example"});
ask_pipeworx
// Or ask in plain English:
const answer = await px.ask("what3words geocoding api — convert coordinates to/from 3-word addresses and autocomplete partial inputs");