MCP servers · OpenStreetMap · MCP server
Connect Windsurf to OpenStreetMap
One line gives Windsurf your OpenStreetMap account as tools: 13 endpoints, notes, traces, map data, called with your own connection. No key in the prompt, a receipt for every call, revoke Windsurf's access alone any time.
Three steps
- Create a free 0n3 account and connect OpenStreetMap. Paste a key or sign in; it lands in your vault, encrypted.
- Install 0n3 into Windsurf. The mcp_config.json block.
- Ask Windsurf: whoami. Then: "Search notes in OpenStreetMap".
Write it yourself · ~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"0n3": {
"serverUrl": "https://0n3.app/mcp",
"headers": {
"Authorization": "Bearer <your 0n token>"
}
}
}
}The line above carries a placeholder; 0n3.app/install mints a real key named for Windsurf and fills it in.
What Windsurf can then do in OpenStreetMap
Notes · Map notes: read them, leave one where the map is wrong5
Search notes
GET /notes/search.jsonNotes in area
GET /notes.jsonGet a note
GET /notes/{id}.jsonCreate a note
POST /notes.jsonComment note
POST /notes/{id}/comment.jsonTraces · GPS traces uploaded to the account2
My traces
GET /user/gpx_files.jsonGet a trace
GET /gpx/{id}/detailsMap data · Raw map data for a small bounding box, or one element by id1
Map
GET /map.jsonAccount · The signed-in mapper and what this connection may do0
The signed-in mapper and what this connection may do
More · Everything else this app exposes.5
Me
GET /user/details.jsonPermissions
GET /permissions.jsonNode
GET /node/{id}.jsonWay
GET /way/{id}.jsonRelation
GET /relation/{id}.jsonOpenStreetMap in other AI clients
Claude Code + OpenStreetMapMCP server + skillClaude (desktop & claude.ai) + OpenStreetMapconnectorChatGPT + OpenStreetMapconnector · GPT actionGrok Bot (xAI) + OpenStreetMapcustom connectorCodex CLI + OpenStreetMapMCP serverGemini CLI + OpenStreetMapMCP serverCursor + OpenStreetMapMCP serverVS Code (Copilot) + OpenStreetMapMCP server
