Use Locio from Claude Code, Claude Desktop and Cursor
About 10 minutes. Updated 11 September 2026.
Connect the address API to the agents you already use: one command for Claude Code, a connector for claude.ai and Claude Desktop, a JSON file for Cursor and VS Code. Then what to ask, and how to read the quota when an agent runs out.
The API is also an MCP server, so an agent can validate, geocode and look up Australian addresses without any code of yours in between. This guide connects the clients people already have. The endpoint, the four tools and every client's snippet are on the agents page; this is the walk through.
01Get a secret key
Claude Code, Cursor and VS Code send a key in a header, so create a secret key first. The hosted clients in step 3 do not need one: they sign in through OAuth and get a key of their own.
02Claude Code
One command. Claude Code keeps the key in its own config, per user by default.
claude mcp add --transport http locio https://api.locio.com.au/mcp \
--header "Authorization: Bearer lc_live_..."
# Add --scope project to write .mcp.json for the whole team instead.For a project everyone on the team opens, write the file instead and keep the key out of it: Claude Code expands ${LOCIO_KEY} from the environment.
// .mcp.json, checked in; the key comes from the environment
{
"mcpServers": {
"locio": {
"type": "http",
"url": "https://api.locio.com.au/mcp",
"headers": { "Authorization": "Bearer ${LOCIO_KEY}" }
}
}
}Then /mcp inside a session lists the server and its four tools. Ask for an address and watch it call resolve_address.
03Claude.ai and Claude Desktop
No key to paste. Open Customize, then Connectors, add a connector and give it the endpoint URL https://api.locio.com.au/mcp. Claude registers itself, sends you to locio.com.au to sign in and allow, and the connection appears on your Keys tab as a secret key named after it. Revoke that key and the connection stops. ChatGPT works the same way from its developer mode, and also accepts a pasted key.
04Cursor and VS Code
A JSON file in the project. Cursor reads the key from the environment; VS Code asks for it once and keeps it itself, never on disk.
// .cursor/mcp.json
{
"mcpServers": {
"locio": {
"type": "http",
"url": "https://api.locio.com.au/mcp",
"headers": { "Authorization": "Bearer ${env:LOCIO_KEY}" }
}
}
}// .vscode/mcp.json
{
"servers": {
"locio": {
"type": "http",
"url": "https://api.locio.com.au/mcp",
"headers": { "Authorization": "Bearer ${input:locio-key}" }
}
},
"inputs": [{ "id": "locio-key", "type": "password", "description": "Locio secret key" }]
}05What to ask
The tools are read only and each one is one endpoint, so ask the way you would use the API: most questions are a resolve. The G-NAF id is the thing to ask for: it is the address, whatever the text said.
Is "1 gorge rd sydenhum nsw" a real address? Give me the G-NAF id and the coordinates.
Here are five delivery addresses from a form. Tell me which ones do not resolve, and for
each of those, the nearest real address.
Look up GAVIC411711441 and tell me the suburb and postcode.
Add a gnaf_pid column to customers.csv by resolving the address column, and put
"unmatched" where nothing resolves.When an agent runs out
Each tool call costs the same as its endpoint: one unit, three for a fuzzy match. When the plan's units are spent the server answers 402 and the agent will tell you the quota is exhausted and when it resets; when it calls too fast it gets 429 and should slow down. Both are refusals, and refusals are free. A connection you no longer want is a key on the Keys tab: revoke it there.
Related
- Address autocomplete in plain JavaScript
- Address autocomplete in React
- Address autocomplete in Vue
- Stand up a React site with Australian address search
- Put a searched address on a map with MapLibre
- Validate and geocode Australian addresses in PHP
- Give an agent address tools with the Anthropic API
- Clean a spreadsheet of addresses with an agent
- The API reference, with every call in curl, Node, Python, Ruby, Go and PHP.