Integrate Loqate into AI Agents & multi-agent systems using GBG Reach CLI or MCP
Integrate Loqate into AI Agents & multi-agent systems using our CLI or MCP. It verifies addresses, emails, and phone numbers in real time — returning a confidence score, a policy-aware recommendation, and a full audit trail in one command.
# macOS (Apple Silicon) curl -sL https://github.com/gbgplc/lqt/releases/latest/download/lqt_darwin_arm64.tar.gz | tar xz sudo mv lqt /usr/local/bin/ export LOQATE_API_KEY=your-key-here lqt verify -a "10 Downing St, London, GB" --policy shipping -o json
CLI is the recommended interface for most use cases — one binary, works in any agent framework, and pipes straight into your tool loop.
Try 'lqt help' to see all commands
One engine. Two audiences.
Pipe -o json straight into your agent's tool loop. Switch to -o table when a human needs to eyeball the same call in a terminal. Identical logic, two renderings.
{
"address": {
"confidence": 0.95,
"recommendation": "accept",
"avc": "V44-I44-P7-100",
"verification_status": "V",
"match_level": "premise"
},
"email": {
"confidence": 0.15,
"recommendation": "reject",
"response_code": "Valid",
"risk": "high",
"flags": [
"disposable_domain"
]
},
"phone": {
"confidence": 0.93,
"recommendation": "accept",
"verified": true,
"number_type": "mobile"
},
"overall": {
"recommendation": "reject",
"confidence": 0.15
},
"policy": "strict"
}┌─ Verification ──────────────────────────────────┐ │ │ │ Field Confidence Recommendation │ │ ──────── ────────── ────────────── │ │ Address 0.95 accept (premise) │ │ Email 0.15 reject (disposable) │ │ Phone 0.93 accept (mobile) │ │ │ │ Overall: reject (policy: strict) │ └─────────────────────────────────────────────────┘
Overall = most conservative recommendation. Overall confidence = minimum across fields.
Nine tools. Same decisions across CLI, MCP, and Claude Agent Skill.
Every interface runs the same logic engine. Same input, same confidence score, everywhere.
Verify an address with a confidence score, AVC-derived match level, and policy-aware recommendation.
Detect disposable domains, catch-all and fraud-risk flags, and deliverability risk level.
Validate phone numbers, detect type, and decide whether to proceed.
Run address, email, and phone together. Overall = the most conservative decision.
Parse and standardize messy input via Claude Haiku — no Loqate credits spent (stdio only).
List the four built-in policies: strict, shipping, standard, permissive.
Inspect a policy's thresholds, match-level floor, and reject rules.
Register a custom policy for the current session (stdio only).
Describe your use case; get a recommended policy (stdio only).
Deterministic. Numeric. Auditable.
Every address verification returns a score between 0 and 1 — derived from Loqate's verification signals and country-aware coverage. Same input, same score, every time. Any system can threshold it.
No letter grades. No opaque interpretations. Just a number your agent — or your workflow — can act on.
The same address. Different answers.
Strict for KYC. Shipping for delivery. Standard for general verification. Permissive for lead capture. Four built-in policies — or drop in a custom JSON policy tuned to any workflow.
| Policy | Addr confidence | Match level | Email confidence | Phone required | Use case |
|---|---|---|---|---|---|
| strict | 0.90 | premise | 0.85 | yes | KYC, fraud prevention, regulated |
| shipping | 0.70 | street | 0.50 | no | Physical delivery, ecommerce |
| standard | 0.55 | street | 0.45 | no | General verification (default) |
| permissive | 0.30 | locality | 0.30 | no | Lead capture, early funnel |
Resolution order: --policy-file → --policy → LOQATE_POLICY env var → .loqate-policy.json in the working directory → default standard.
Validate before shipping: lqt policy validate my-policy.json
{
"name": "my-custom-policy",
"description": "Tuned for my use case",
"address": {
"min_confidence": 0.65,
"min_match_level": "street",
"reject_verification_status": ["U", "R"]
},
"email": {
"min_confidence": 0.50,
"allow_catch_all": true,
"reject_disposable": true
},
"phone": {
"min_confidence": 0.40,
"required": false
}
}Call it however your agent likes.
Output parity is a design principle: same input produces the same confidence score across CLI, MCP, and Claude Agent Skill.
A single Go binary. Verify, parse, batch-process, pipe the JSON, ship it. Exports a ready-made tool definition for LangChain, OpenAI, or any agent framework.
lqt verify -a "221B Baker St, London, GB" \
-e "sherlock@example.com" \
-p "+442071234567" \
--policy strict -o jsonStdio for local agents (9 tools). HTTP for hosted deployments (6 tools) with per-IP rate limiting, request logging, and a /health endpoint. Supports tools & prompts.
lqt mcp # stdio lqt mcp --http :8080 # HTTP, rate-limited
Verification inside Claude. Connect once, ask in plain language, get decisions. Install via npx.
# Claude Code — from GitHub npx skills add https://github.com/gbgplc/loqate-skill
Verify contact data in any MCP client.
Connect Loqate to Claude, Cursor, Windsurf, or any MCP-compatible tool and verify addresses, emails, and phone numbers using plain language.
Not a fourth interface — this is the HTTP MCP interface, hosted by us so you don't have to deploy it yourself. Just bring your Loqate API key.
245+ countries & territories
Deliverability & risk scoring
Type, carrier & line status
Parse, correct & standardize
Add the Loqate connector
Works in any MCP-compatible client — no install required.
- 1Open your MCP client's connector settings
- 2Add a new connector named "Loqate"
- 3Paste the server URL below and save
Provide your Loqate key
The Loqate tools need an API key to call the service. How you provide it depends on your client.
Get a free API keyAn admin adds your key once — every team member gets it automatically.
<loqate_api_key>YOUR-KEY</loqate_api_key>Same tag, scoped to your own profile. Great for personal accounts.
<loqate_api_key>YOUR-KEY</loqate_api_key>Type your key in chat and it's used for the session. Fastest way to try it out.
Loqate tools accept a key parameter on every call. Most MCP clients let you set default tool parameters in their config — add your API key there so it's passed automatically.
Works with your existing Loqate API keys.
No new contract. No procurement friction. Install the binary and run your first verification in under five minutes.
Questions? Email labs@gbg.com
Frequently asked questions
- How do I install Reach?
- Download the pre-built lqt binary from https://github.com/gbgplc/lqt/releases/latest, place it on your PATH, set LOQATE_API_KEY, and run `lqt verify -a "your address" --policy shipping -o json`. macOS (Apple Silicon) and Windows (x86_64) builds are provided.
- Which agent frameworks does Reach support?
- Anything that speaks MCP (Claude Desktop, Claude Code, Cursor, Cline), the Claude Agent Skill format, or anything that can call a CLI. Use `lqt tool-description` to export a JSON tool schema for LangChain, OpenAI tool-calling, and other frameworks.
- What policies are built in?
- Four built-in policies: strict (KYC), shipping (deliverability), standard (general), and permissive (marketing). Custom policies can be registered per session.
- What does Reach cost?
- The CLI and MCP server are free. Verification calls draw from your existing Loqate account credits. Reach works on a Bring-Your-Own-Key model.