loading…
Search for a command to run...
loading…
GPS coordinates to AI-ready location context — returns place name, stable category (gym, supermarket, restaurant…), and live opening hours via OpenStreetMap. Wo
GPS coordinates to AI-ready location context — returns place name, stable category (gym, supermarket, restaurant…), and live opening hours via OpenStreetMap. Works in Claude Desktop, Claude Code, Hermes Agent, OpenClaw, and any MCP client.
Turn GPS coordinates into AI-ready location context — for Claude Desktop, Claude Code, and any MCP-compatible assistant.
Send coordinates. Get back a place name, category, and real-time opening hours:
{
"label": "Walmart",
"category": "supermarket",
"is_open": true,
"closes_at": "23:00",
"opening_hours": "Mo-Su 06:00-23:00"
}
Claude can then answer: "You're at Walmart, which closes in 47 minutes."
Free at geolabel.dev — 100 requests/day, no credit card required.
Pick your client below.
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"geolabel": {
"command": "uvx",
"args": ["geolabel-mcp"],
"env": {
"GEOLABEL_API_KEY": "glk_your_key_here"
}
}
}
}
Restart Claude Desktop. The GeoLabel tool will appear in the tools list.
claude mcp add geolabel -- uvx geolabel-mcp
export GEOLABEL_API_KEY=glk_your_key_here
Edit ~/.hermes/config.json:
{
"mcpServers": {
"geolabel": {
"command": "uvx",
"args": ["geolabel-mcp"],
"env": {
"GEOLABEL_API_KEY": "glk_your_key_here"
}
}
}
}
See Hermes Agent MCP docs for more.
# Register the server
openclaw mcp set geolabel \
--command uvx \
--args geolabel-mcp \
--env GEOLABEL_API_KEY=glk_your_key_here
# Verify it's registered
openclaw mcp list
See OpenClaw MCP docs for more.
You: I'm at 41.8827, -87.6233 — what's here and is it open?
Agent: You're at Planet Fitness (a gym). It's currently open and closes
at 11:00 PM tonight — you have about 3 hours left.
get_location_labelIdentifies the nearest named place within radius metres of the given coordinates.
| Parameter | Type | Default | Description |
|---|---|---|---|
lat |
float | required | Latitude (-90 to 90) |
lng |
float | required | Longitude (-180 to 180) |
radius |
int | 100 | Search radius in metres (max 500) |
Response fields:
| Field | Type | Description |
|---|---|---|
place |
string | null | Raw venue name from OpenStreetMap |
label |
string | Clean, display-ready name |
category |
string | null | Stable type: gym, supermarket, restaurant, etc. |
distance_meters |
float | null | Distance from your coordinates to the place |
is_open |
bool | null | true open · false closed · null no hours data |
opens_at |
string | null | Next opening time HH:MM (when closed) |
closes_at |
string | null | Today's closing time HH:MM (when open) |
opening_hours |
string | null | Raw OSM opening_hours string |
cached |
bool | Served from 10-min cache; hours always recalculated live |
# pip
pip install geolabel-mcp
# run directly
GEOLABEL_API_KEY=glk_xxx geolabel-mcp
claude mcp add geolabel -- uvx geolabel-mcp
Then set your key:
# add to your shell profile or .env
export GEOLABEL_API_KEY=glk_your_key_here
| Variable | Required | Description |
|---|---|---|
GEOLABEL_API_KEY |
Yes | Your GeoLabel API key |
GEOLABEL_BASE_URL |
No | Override API base URL (default: https://api.geolabel.dev) |
GeoLabel strips coordinates from all server logs before they touch disk. No movement history is stored. Data is processed in real-time and immediately discarded. Full privacy policy →
MIT
Add this to claude_desktop_config.json and restart Claude Desktop.
{
"mcpServers": {
"geolabel-geolabel-mcp": {
"command": "npx",
"args": []
}
}
}pro tip
Just installed geolabel/geolabel-mcp? Say to Claude: "remember why I installed geolabel/geolabel-mcpand what I want to try" — it'll save into your Vault.
how this works →