# IndoorAtlas MCP MCP

> IndoorAtlas helps you manage and analyze indoor location services for commercial buildings. List venues, upload floor plans, and run positioning models from raw signal data. Get full control over your building's digital twin by connecting it directly to any AI client.

## Overview
- **Category:** iot-hardware
- **Price:** Free
- **Tags:** indoor-positioning, mapping, smart-buildings, location-services, floorplan-analysis, geolocation

## Description

You can take complete control of smart building infrastructure without needing a dedicated GIS team on retainer. This MCP connects your entire facility management system—from floor plan storage to real-time tracking analysis—to your agent. You start by defining the physical space, listing all available venues and uploading precise GeoJSON floor plans. Once the map is set up, you can trigger the complex radio map generation process using signal data. From there, your agent tracks anything inside: determine a device's location simply from an incoming Wi-Fi scan or retrieve historical paths of people over weeks. You’ll find that Vinkius makes connecting these specialized services simple; instead of switching between three different platforms to analyze occupancy, you handle everything through natural conversation.

## Tools

### upload_floorplan_geojson
Accepts and uploads a new floor map as a GeoJSON file, geo-referencing it to make it ready for accurate positioning overlays.

### create_venue
Sets up a new building container in IndoorAtlas, requiring you to specify the name, entrance coordinates, and initial setup parameters.

### trigger_map_generation
Initiates the server-side computation that creates the positioning model for a specific floor plan using collected signal data.

### get_fingerprint_paths
Retrieves the specific routes surveyors walked for calibration as GeoJSON, helping pinpoint areas needing more signal mapping data.

### get_session_data
Fetches the full track record of a single positioning session, including all timestamped coordinates and accuracy metrics recorded over time.

### get_venue_details
Pulls detailed metadata on a specific venue, reporting its total mapped area, floor count, and current calibration status before deployment.

### list_floorplans
Returns a list of every floor plan uploaded to the venue, detailing their dimensions, floor number, and whether mapping is ready for use.

### list_positioning_sessions
Provides an indexed list of historical tracking sessions by returning IDs, start/end times, and associated device information for analysis.

### list_venues
Lists all buildings registered in your account, giving you the ID, name, and geographic coordinates for every mapped facility.

### position_from_wifi_scan
Calculates an estimated indoor location by accepting observed Wi-Fi signal strengths and returning a calculated latitude, longitude, and floor level.

## Prompt Examples

**Prompt:** 
```
List all indoor venues in my IndoorAtlas account
```

**Response:** 
```
I've found 3 venues: 'Corporate HQ' (ID: v-123), 'Retail Mall' (ID: v-456), and 'Logistic Warehouse' (ID: v-789). All are currently mapped and calibrated. Which one would you like to see floorplans for?
```

**Prompt:** 
```
Check the calibration paths for the 3rd floor of the 'Retail Mall'
```

**Response:** 
```
Retrieving calibration paths… I've fetched the walk paths for Floor 3 (ID: fp-987). The GeoJSON data shows extensive coverage in the main aisles, but the storage areas appear to need more fingerprinting. Would you like the coordinate list?
```

**Prompt:** 
```
List the most recent positioning sessions recorded today
```

**Response:** 
```
I've found 12 positioning sessions from today. The longest session lasted 45 minutes in the 'Corporate HQ'. Average accuracy across all sessions is 2.4 meters. Would you like to inspect the trace data for the most active session?
```

## Capabilities

### Inventory Building Locations
List all physical venues in your organization and inspect a venue's detailed metadata, including its coordinate system and floor count.

### Upload and Align Floor Plans
Import new facility maps as GeoJSON files and correctly align them to real-world coordinates for accurate positioning overlays.

### Calibrate the Positioning Map
Run signal fingerprinting walk paths to check coverage and generate the necessary models that allow location tracking to work on a specific floor.

### Analyze Occupancy History
Retrieve full positioning session data, giving you timestamped coordinates to analyze where people spent their time or how often they moved through certain areas.

### Determine Live Location from Signals
Calculate a device's estimated indoor position by submitting observed Wi-Fi signal strengths, useful when mobile SDK integration isn't possible.

## Use Cases

### Optimizing Retail Flow
A retail operations manager needs to know if seasonal displays are drawing people to a specific corner. They run `list_positioning_sessions`, identify the high-traffic times, and then use that data to reposition merchandise for better visitor flow.

### Onboarding New Campus Wings
A developer gets a new wing built and needs it mapped. They first run `list_venues` to confirm the site exists, then call `create_venue`, upload the plans with `upload_floorplan_geojson`, and trigger map generation.

### Assessing Safety Risks
The safety officer suspects a certain utility closet is rarely checked. They run `get_fingerprint_paths` for that area to see if the calibration coverage was adequate, ensuring future tracking will work there.

## Benefits

- Audit Building Usage: Instead of relying on manual counts, use `get_session_data` to analyze occupancy patterns and understand dwell times across the facility.
- Quickly Map New Areas: Upload a plan with `upload_floorplan_geojson`, then initiate positioning models using `trigger_map_generation`—all without complex GIS software.
- Know Your Space: Use `list_venues` to quickly find all registered buildings and check their status before starting any new project or analysis.
- Determine Location Remotely: When you can't use a mobile app, submitting raw signals via `position_from_wifi_scan` still gives your agent an estimated coordinate.
- Full Site Overview: By calling `get_venue_details`, you get immediate confirmation of the building’s total mapped area and calibration completeness.

## How It Works

The bottom line is that this MCP turns static architectural drawings into dynamic, actionable data layers for your agent to read and analyze.

1. First, use the `create_venue` tool to define the building name and its entrance coordinates.
2. Next, upload floor plans using `upload_floorplan_geojson`, then run the map generation process with `trigger_map_generation`. The system computes the positioning model from your signal data and geometry.
3. After setup, you can request historical tracking via `list_positioning_sessions` or get a current estimate by calling `position_from_wifi_scan`.

## Frequently Asked Questions

**How do I start the map generation process for a new floor plan?**
Use the `trigger_map_generation` tool with your Floorplan ID. This initiates the server-side computation that creates the positioning model. It's a critical step before indoor positioning can work on that level.

**Can I determine a position using Wi-Fi scans through my agent?**
Yes. The `position_from_wifi_scan` tool allows you to submit observed Wi-Fi signal strengths. Your agent will return estimated coordinates and floor level, which is perfect for server-side positioning logic.

**How can I analyze visitor traffic patterns in our building?**
Use the `list_positioning_sessions` tool to retrieve historical traces. Your agent can help you analyze occupancy patterns and dwell times by processing the timestamped coordinate fixes from past sessions.

**How does using the list_venues tool help me discover all potential locations for mapping?**
It returns an array of every registered facility, providing their IDs, names, and geographic coordinates. Always call this first to confirm which buildings are ready before attempting to retrieve specific floor plan or session data.

**When I use upload_floorplan_geojson, what specific GeoJSON structure must the file have?**
The uploaded document needs to be a valid GeoJSON that geo-references the indoor map image. This process ties the digital floor plan directly to real-world coordinates, making accurate positioning possible.

**If I call get_session_data for years of records, how big is the output data set?**
The tool returns a full position trace as thousands of timestamped fixes. Be aware that your AI client needs robust memory handling to process potentially massive amounts of positional coordinate data.

**What should I check if there are gaps in my signal mapping using get_fingerprint_paths?**
The output GeoJSON shows all recorded walk paths. You analyze this data layer to pinpoint specific areas or zones that lack coverage and require additional physical surveying runs for better accuracy.

**After listing floor plans with list_floorplans, what's the necessary next step to actually enable positioning?**
Listing only provides metadata. You must use those IDs to upload the plan via upload_floorplan_geojson and then explicitly trigger map generation before any positioning data will work.