MCP server for AI assistants
Work with your geofences from any AI assistant.
Add https://mcp.mapsocket.com/mcp to Claude, ChatGPT, Groq or any MCP client and it gets the geofencing API as tools. Ask for a ten-minute walking area around a station, check which of fifty addresses fall in your service area, or see who arrived at the depot yesterday.
What you get
-
Hosted, nothing to install
One URL for every client: https://mcp.mapsocket.com/mcp, over Streamable HTTP. Prefer to run it yourself? The same server is on npm as @mapsocket/mcp.
-
Sign in, pick a project
Claude and ChatGPT connect with OAuth: you sign in to MapSocket, choose a project and approve. The assistant never sees a key, and you can disconnect by revoking it under API keys.
-
Keys for API clients
Groq, the OpenAI and Anthropic APIs, Cursor and VS Code can send a project key as a bearer token instead. A secret key unlocks every tool; a publishable key only lookups, tracking and trips.
-
Read-only when you want
Connections are read-only unless you tick “Allow changes”. Key callers can add ?read_only=true to the URL. Deletes are marked destructive, so clients ask first.
How it works
-
Claude
Settings → Connectors → Add custom connector. Paste https://mcp.mapsocket.com/mcp, then sign in to MapSocket and pick a project.
-
ChatGPT
Settings → Apps & Connectors → Advanced, turn on Developer mode, then Create. Paste the URL, choose OAuth, and sign in to MapSocket.
-
Groq, OpenAI and Anthropic APIs
Add a remote MCP tool with the URL and an Authorization header carrying a project key. The model calls MapSocket during the request.
-
Cursor, VS Code, Claude Code
Add the URL as an HTTP MCP server. Clients that support OAuth sign you in; others take the key as a header.
curl https://api.groq.com/openai/v1/responses \
-H "Authorization: Bearer $GROQ_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-oss-120b",
"input": "Is 40.7411,-73.9897 inside any of my geofences?",
"tools": [{
"type": "mcp",
"server_label": "mapsocket",
"server_url": "https://mcp.mapsocket.com/mcp",
"headers": { "Authorization": "Bearer sk_live_…" },
"require_approval": "never"
}]
}' claude mcp add --transport http mapsocket https://mcp.mapsocket.com/mcp {
"mcpServers": {
"mapsocket": {
"url": "https://mcp.mapsocket.com/mcp",
"headers": { "Authorization": "Bearer sk_live_…" }
}
}
} MAPSOCKET_API_KEY=sk_live_… npx -y @mapsocket/mcp Good to know
- Each connection works with one project. Connect again to use another.
- Keys you send as a header are passed to the MapSocket API and nowhere else. Use a project you're happy for the assistant to change, or read-only mode.
Also in every MapSocket project
- Live vector tiles Vector tiles from your PostGIS tables that update seconds after a row changes.
- Files and web services Tiles from GeoJSON, Shapefiles, GeoPackages, Esri services and WFS, rebuilt when the data changes.
- Geofencing API Send a location, get enter, exit and dwell events for circles, polygons and travel-time areas.
- Trips and ETAs Live ETAs, approaching and arrival events for deliveries, pickups and visits.
- Places, regions and fraud checks Every location named: the place, country and state, beacons, and whether to trust the fix.
- Georeferencer Put scanned maps, site plans and drone photos on the map, under your live data.
- Elevation API Ground elevation for up to 100 points per request, anywhere on Earth, in metres or feet.
- Custom tile domains Serve tiles from tiles.yourcompany.com, with certificates handled for you.