Location context
for any AI agent.
A quiet iOS and Android app that shares your location with the AI tools you already use — Claude Code, Cursor, OpenClaw, or anything that speaks MCP. Open source. Self-hostable. Your location is never persisted.
Works with the agent you already run.
PingClaw is a location source, not an agent companion. Any agent that speaks MCP or accepts a webhook can consume your location — configuration snippets for all of them are one tap away in the dashboard.
Three steps. The app comes first.
Install the app, sign in on the phone, then open the web dashboard with a code the app hands you. No phone number, no SMS, no account to recover.
Install the app
iOS or Android. Sign in with Apple or Google inside the app, grant background location, and you're done with the phone.
Open the dashboard
From the app, generate a one-time code and paste it below. That's how the site knows it's you — no separate login.
Connect your agent
In the dashboard, mint an API key and copy a one-line config for your client. Or register a webhook for anything else.
Paste the code
from your phone.
Open the PingClaw app, go to Settings, and generate a sign-in code. It's valid for five minutes and works once.
8 characters, letters and numbers. The middle dot is added automatically.
A quiet utility,
not an app you stare at.
PingClaw runs in the background. When your AI assistant needs your location, it gets the coordinates — accurate, current, scoped to the one API key that asked.
Coordinates only. Current only. Nothing is ever written to Postgres.
Native push for OpenClaw users.
For OpenClaw, PingClaw goes a step further and pushes each location update directly to your gateway. Your agent gets your position as context automatically — no polling, no manual queries.
Two ways in.
Install the PingClaw skill to let your agent fetch your location on demand, or configure gateway push delivery from the dashboard for real-time updates.
Push mode supports two actions: Wake, which injects location as context silently, and Agent, which triggers a full agent run on every update.
Run your own server.
PingClaw is open source and self-hostable. One binary, no dependencies — SQLite, in-memory cache. No Redis, no Postgres, no outbound calls you didn't configure yourself.
Install the app as usual. On the sign-in screen, pick Self-Hosted Server, enter your server URL, and paste the pairing token your server printed on first run. No Apple or Google account needed — your location never leaves the machine you chose.
See the server repo for details.
Give your agent a sense of place.
Install the app, pair your agent, and the next thing it answers about "near me" will actually mean something.
Your configuration.
Location
LiveAPI key
ActiveUsed by your AI agent. Shown only at creation and rotation — the server stores only a hash. Rotating breaks any agent using the previous key.
ChatGPT
Not connectedThe simplest way to use PingClaw. Open the PingClaw GPT once — ChatGPT will ask you to connect your PingClaw account. After that, just use ChatGPT normally.
Once connected, ask ChatGPT anything location-aware — Where am I?, What's near me?, How far am I from the office? — and it will check your live location automatically.
Open PingClaw GPT ↗︎MCP clients
Any agent that speaks MCPDrop the snippet into your client's MCP config. Works with Claude Code, Claude Desktop, Cursor, Zed, and VS Code.
OpenClaw gateway
Not connectedPush your GPS position directly to your OpenClaw gateway every time your phone reports a new location. No polling, no manual queries.
1. Enable hooks on your gateway
Add to your ~/.openclaw/openclaw.json and restart the gateway:
{
"hooks": {
"enabled": true,
"token": "pick-a-strong-random-secret",
"path": "/hooks"
}
}
Generate a good token with openssl rand -hex 24.
2. Make your gateway reachable
PingClaw's server needs to POST to your gateway over the internet:
- Tailscale Funnel —
tailscale funnel 18789 - ngrok —
ngrok http 18789 - Cloudflare Tunnel
- VPS with a public IP
3. Connect PingClaw
Enter your gateway URL and token in the form below. PingClaw will send a test message before saving.
4. Verify
Check your OpenClaw session for the test message. Then move around — your agent has your location as context from then on.
Wake vs Agent mode
In wake mode (default), location is injected as context silently — no tokens, no reply triggered. Your next location-aware question just works. Agent mode triggers a full agent run on every update. Use for standing instructions like "remind me when I'm near a pharmacy." Costs tokens per update.
Must be reachable from the internet — use Tailscale Funnel or a public deployment.
The hooks.token value from your openclaw.json.
Updates are sent to /hooks/{path} on your gateway.
Wake injects location as context silently. Agent triggers a full agent run on every update.
Add to your ~/.openclaw/openclaw.json:
Webhook
Not registeredFor any service that accepts a POST. PingClaw sends each location update to a URL you control, signed with a bearer secret.
Generate or rotate your API key above, copy it, then set it in your shell:
Any string works. PingClaw will replay it on every outbound POST so your receiver can verify:
Replace the URL with your receiver, then run:
Your data
VisibleEvery record the server stores about your account. Nothing hidden, nothing retrospective.
Delete account
IrreversiblePermanently delete your account and all stored data. This cannot be undone.