# OpenStreetMap MCP for AI Agents AI Agent Connect

> OpenStreetMap MCP. Connect your AI agent to the world's largest open geographic database to query, create, and update map elements like points of interest, roads, and boundaries. Manage changesets and fetch geospatial data directly through your agent without manual exports.

## Overview
- **Category:** data-management
- **Price:** Free
- **Endpoint:** https://edge.vinkius.com/vk_preview_lYsdJXjQWE6aDpvmlzimYbbJoVMB0mBSaq4KoX0x/ai-agent-connect
- **Tags:** geospatial, map-data, cartography, gis, location-services, open-data

## Description

This Connector gives your AI agent the keys to the OpenStreetMap database. Instead of jumping between map editors and raw data files, you can talk to your agent to perform GIS tasks. You can pull data for specific bounding boxes, manage complex map elements like roads or boundaries, and even handle changesets to group your edits for the community. If you need to see how a specific road or point of interest has evolved over time, your agent can pull the version history for you. It also handles GPS traces, letting you upload and read metadata for outdoor data. By using this Connector through the Vinkius catalog, you turn your AI into a functional GIS specialist that can audit data, contribute to open-source maps, or build location-based features without leaving your current workspace. You can manage private user messages and notes, check your permissions, and even download changesets in OsmChange format. This means you can handle the entire lifecycle of map data, from initial research and history checking to active contribution and metadata management, all through a single natural conversation. Whether you are looking for specific points of interest, building out entire road networks, or managing complex boundaries, your agent handles the heavy lifting of the OpenStreetMap API. You can even query changesets by user or time range to monitor local mapping activity, making it a powerful tool for both individual contributors and professional analysts.

## Tools

### close_changeset
Closes an open changeset. This finalizes your edits and submits them for review by the community.

### close_note
Closes an existing map note. This is useful for cleaning up your notes once you have finished a task.

### comment_note
Adds a comment to a map note. Use this to add extra context to your saved map notes.

### create_changeset
Creates a new changeset to group your edits. This is essential for contributing your changes to the community.

### create_element
Creates a new node, way, or relation. This lets you add new points of interest or roads to the map.

### create_note
Creates a new map note. Use this to save specific details about a location for later reference.

### delete_element
Deletes a node, way, or relation from the map. Use this to remove outdated or incorrect geographic data.

### download_changeset
Downloads a changeset in OsmChange format. This is great for local backups or further data processing.

### get_auth_user_details
Fetches details for the currently authenticated user. Use this to check your current session status.

### get_changeset
Reads the details of a specific changeset by its ID. This allows you to inspect the contents of a specific group of edits.

### get_element_history
Pulls the version history for a node, way, or relation. Use this to see how a specific map feature has changed over time.

### get_element
Reads a specific node, way, or relation by its ID. This retrieves the current properties of a single map element.

### get_elements
Fetches multiple nodes, ways, or relations at once. This is faster when you need to pull a list of several map features.

### get_gpx_data
Downloads data for a specific GPS trace. Use this to retrieve raw coordinates for outdoor activities.

### get_gpx_metadata
Reads the metadata for a GPS trace. This provides the context and info for your uploaded outdoor traces.

### get_inbox
Retrieves the authenticated user's message inbox. Use this to see private messages from other map contributors.

### get_map_data
Fetches map data for nodes, ways, and relations within a bounding box. This is the primary way to pull regional data.

### get_message
Reads a specific message from your inbox. Use this to view the content of a single private message.

### get_note
Reads a specific map note by its ID. Use this to retrieve the details of a saved note.

### get_permissions
Checks the OAuth permissions for the authenticated user. Use this to verify what actions your agent can perform.

### get_user_preferences
Fetches the preferences for the authenticated user. This allows your agent to see your personal settings.

### get_user
Fetches details for a specific user. Use this to look up information about other community members.

### list_notes
Lists all map notes within a specific bounding box. This helps you find notes related to a specific geographic area.

### list_user_gpx
Lists all GPS traces for the authenticated user. Use this to manage your collection of outdoor activities.

### query_changesets
Queries changesets using specific filters like user or time. This is perfect for monitoring recent mapping activity.

### search_notes
Searches for specific map notes. Use this to find a specific note when you only know part of its content.

### send_message
Sends a private message to another user. Use this to coordinate with other map contributors.

### update_changeset
Updates the tags of an open changeset. This lets you refine the metadata of your current group of edits.

### update_element
Updates an existing node, way, or relation. Use this to fix errors or add new tags to map features.

### update_message_status
Updates the read status of a message. This helps you track which private messages you have already seen.

### upload_gpx
Uploads a GPS trace in GPX format. Use this to share your outdoor routes with the community or your own records.

### delete_message
Removes a message from your inbox. This helps you keep your private communications organized.

### get_outbox
Retrieves the authenticated user's message outbox. This shows messages you have sent to other users.

## Prompt Examples

**Prompt:** 
```
Can you find all the main roads in downtown Chicago?
```

**Response:** 
```
I've pulled the map data for downtown Chicago. Here are the primary roads identified in that area:

| Road Name | Type | Length (m)
| :--- | :--- | :--- |
| Michigan Ave | Way | 1200
| State St | Way | 850
| Wacker Dr | Way | 1500

Would you like me to pull more details on any of these or check a different area?
```

**Prompt:** 
```
I need to see how the park boundary at ID 12345 has changed over the last two years.
```

**Response:** 
```
I've pulled the version history for element 12345. Here is the summary of changes:

* **2023-05-12**: Added 'nature_reserve' tag by user *MapMaster*
* **2022-11-30**: Boundary expanded by 50 meters to include the north pond.
* **2021-08-15**: Original creation of the relation.

Would you like to see the full raw data for the most recent version?
```

**Prompt:** 
```
Help me create a new changeset for some new bike lanes I want to add in Portland.
```

**Response:** 
```
I've started a new changeset for your Portland bike lane project. 

**Changeset Details:**
* **Status**: Open
* **Description**: Adding bike lanes in Portland

I'm ready to start adding elements. Just tell me the location or describe the bike lane you want to create, and I'll use the `create_element` tool to add it to this changeset.
```

## Capabilities

### Pull map data for specific regions
Fetch nodes, ways, and relations within a bounding box for analysis.

### Create new map points, roads, and boundaries
Add new nodes, ways, or relations to the geographic database.

### Group edits into community changesets
Create and manage changesets to group your map edits together.

### Track historical changes of map elements
Retrieve the version history of any map element to see past updates.

### Manage GPS traces and metadata
Upload GPX files and read metadata for outdoor traces.

### Audit map notes and messages
Search, list, and manage map notes and private user messages.

## Use Cases

### Regional Data Audit
A GIS analyst needs to check road names in a specific city. They ask the agent to use get_map_data for a bounding box and then ask for a summary of changes.

### Bulk Map Contribution
A contributor wants to update 50 building footprints. They use create_changeset to start a session and create_element to add the new data points.

### History Research
A researcher wants to see how a park boundary has shifted. They ask the agent to use get_element_history on a specific relation ID.

### GPS Trace Management
A hiker wants to upload a route. They ask the agent to use upload_gpx and then request the metadata via get_gpx_metadata.

## Benefits

- Stop manual data exports by using get_map_data to pull regional info directly into your workspace for analysis.
- Manage community contributions faster by using create_changeset and update_changeset to group your edits and metadata.
- Audit map history easily with get_element_history to see exactly how specific features have changed over time.
- Handle GPS data without extra tools by using upload_gpx and get_gpx_data for seamless trace management.
- Automate map element creation using create_element to build out points of interest and roads through simple chat commands.

## How It Works

The bottom line is you get a direct bridge between your AI and the world's largest open-source geographic database.

1. Subscribe to the OpenStreetMap MCP and grab your OAuth token.
2. Connect your token to your AI client like Claude or Cursor.
3. Ask your agent to find data, create map elements, or manage changesets.

## Frequently Asked Questions

**Can the OpenStreetMap MCP help me update map data?**
Yes. You can create, update, and delete map elements like roads and points of interest directly through your AI agent.

**Can I use the OpenStreetMap MCP to see the history of a specific building?**
Yes. Your agent can pull the full version history for any map element to show you how it has changed over time.

**Does the OpenStreetMap MCP work for GPS traces?**
Yes. You can upload GPX files and retrieve metadata or raw data for GPS traces using the Connector.

**How does the OpenStreetMap MCP handle map edits?**
It lets you manage changesets, which group your edits together and provide metadata for the OpenStreetMap community.

**Can I use the OpenStreetMap MCP to find data in a specific area?**
Yes. You can query map data for any specific bounding box to get a list of nodes and ways in that region.

**Is the OpenStreetMap MCP good for GIS analysts?**
Yes. It helps GIS analysts extract raw data for analysis without needing to perform manual exports from the web interface.

**How can I download map data for a specific region?**
Use the `get_map_data` tool by providing a bounding box string (left, bottom, right, top). The agent will retrieve all nodes, ways, and relations within those coordinates.

**Can I see who edited a specific road or building?**
Yes! Use the `get_element_history` tool with the element type (node, way, or relation) and its ID. It will return the full version history, including timestamps and user information.

**Is it possible to search for recent map updates in a city?**
You can use `query_changesets` with a `bbox` (bounding box) parameter. This will list all changesets that intersect with that area, allowing you to inspect recent mapping activity.