# Felt (Collaborative Maps) MCP MCP

> Felt (Collaborative Maps) connects your AI agent directly to collaborative mapping services. You can upload complex datasets like GeoJSON, CSV, and KML, build maps from scratch, and manipulate every point, line, and polygon on a shared map using just conversation. It gives you full control over geospatial data without opening any desktop GIS software.

## Overview
- **Category:** collaboration
- **Price:** Free
- **Tags:** gis, mapping, spatial-data, collaborative-editing, geospatial, data-visualization

## Description

Connect Felt to your AI client to take charge of collaborative mapping projects through natural conversation. Forget clicking through dozens of menus—you tell your agent what you need done with the map, and it handles the rest. You can ask it to list all existing maps, or even create a brand new one centered on specific coordinates. Need to add data? Simply give instructions; your agent will handle uploading structured files like CSVs or GeoJSONs, building specialized layers in the process. If you find an element is wrong, you don't have to manually edit it; you just tell your agent to update a feature or delete an old boundary. This capability makes complex spatial work possible directly from any compatible client connected through Vinkius.

This MCP lets you manage every detail of a map project—from setting up the initial viewports to programmatically adding and styling elements on existing layers.

## Tools

### add_elements
Adds new geometric features like points and lines to a specified layer.

### create_layer
Uploads raw geographic data (CSV, KML, etc.) from a URL and builds it into a new map layer.

### create_map
Sets up an entirely new Felt map project with specific viewing boundaries.

### delete_element
Removes a single, identified geographic feature from the map.

### delete_layer
Deletes an entire layer of data from the map project.

### delete_map
Permanently deletes the entire collaborative map file.

### get_layer
Retrieves detailed information about an existing data layer on a specific map.

### get_map
Gets the full metadata and current state of a specific collaborative map file.

### list_maps
Shows a complete list of all maps you have access to in your account.

### update_element
Changes the coordinates or attributes of an existing feature on the map.

### update_layer
Modifies the properties, name, or style rules for a data layer.

## Prompt Examples

**Prompt:** 
```
List all my current Felt maps.
```

**Response:** 
```
I've retrieved your maps. You have 3 active maps: 'Urban Planning 2024', 'Logistics Hubs', and 'Environmental Study'. Which one would you like to inspect?
```

**Prompt:** 
```
Create a new map titled 'Project Alpha' centered on San Francisco.
```

**Response:** 
```
Map 'Project Alpha' has been created successfully with ID `map_12345`. It is centered at latitude 37.7749 and longitude -122.4194.
```

**Prompt:** 
```
Add a point element to layer `layer_abc` at [ -122.4, 37.8 ].
```

**Response:** 
```
I've added the point to the layer. The new element ID is `elem_9876`. You can now see it on your map.
```

## Capabilities

### List and Create Maps
Retrieves a list of all accessible maps or provisions a brand new collaborative map instance.

### Upload Datasets and Build Layers
Takes raw geographic data (CSV, KML, GeoJSON) from URLs and converts it into usable layers on the map.

### Place Specific Features
Adds new points, lines, or polygons to an existing layer using coordinates or defined geometries.

### Adjust Existing Data
Modifies the geometry or metadata of specific features (points, lines) already on the map.

### Manage Map Components
Deletes entire layers, individual elements, or even whole maps to keep your project clean and accurate.

## Use Cases

### The Planner Needs to Check Scope
A city planner has five different project maps. Instead of logging into five separate dashboards, they ask their agent to 'list all my current Felt maps.' The agent replies with a list, letting the planner immediately jump to the right visualization and check the scope against local regulations.

### The Scientist Needs New Data Visualized
A researcher finishes collecting survey data in a CSV file. They don't want to clean it up first. They tell their agent, 'Create a new layer using this URL.' The agent uses `create_layer` and uploads the data, making it visible on the map instantly for analysis.

### The Ops Team Needs an Adjustment
A logistics team notices that one of their service boundaries is drawn incorrectly. Rather than manually editing the source file, they tell their agent to 'Update element X' at specific coordinates. The map boundary corrects itself immediately.

### The Project Manager Needs a Clean Slate
A project concludes, leaving behind many temporary layers and old elements. The manager asks the agent to delete all non-core data using `delete_layer` and then uses `get_map` to confirm that only the final master layer remains.

## Benefits

- Stop manually juggling data uploads. By using `create_layer`, you simply give the agent a public URL, and it handles turning complex files like GeoJSON or KML into functional layers on the map.
- Never lose context again. If your AI client needs to know what's currently on the screen before making a change—like listing all accessible maps with `list_maps`—this MCP provides that immediate background detail.
- Need to correct an old boundary? Instead of opening the source file, you just tell the agent to update it. Using `update_element` allows for precise fixes directly within your conversational workflow.
- Keep projects clean. If a layer is obsolete or contains bad data, use `delete_layer` or `delete_map` to remove it instantly. This keeps your map workspace focused on what matters right now.
- Streamline analysis context by using the getter tools. Calling `get_map` and `get_layer` gives your agent all the necessary details—the metadata, the styling rules—to reason about spatial relationships correctly.

## How It Works

The bottom line is, you talk to your AI client, and it speaks directly to the map service to make changes on your behalf.

1. First, subscribe to this MCP on Vinkius and provide the required Felt API Token.
2. Next, tell your agent what you need: whether it's listing existing maps or creating a new one with specific coordinates.
3. Finally, give clear instructions like 'Add these points to the 'Service Routes' layer,' and your agent executes the full data operation.

## Frequently Asked Questions

**How do I list maps using the Felt (Collaborative Maps) MCP?**
You ask your agent to 'list all accessible maps.' The `list_maps` tool returns every map you have access to, letting you pick a starting point for work.

**Can I add elements using the Felt (Collaborative Maps) MCP?**
Yes. You instruct your agent to use the `add_elements` tool and provide the coordinates and the target layer, so it places points or lines instantly.

**What if I want to upload a big CSV file?**
You tell the agent to 'Create a new layer' and point it to the public URL for your CSV. The `create_layer` tool handles the data ingestion process for you.

**How do I update an element on a map?**
You use the `update_element` tool, providing the ID of the feature and the new coordinates or attributes. This modifies the existing point without creating a duplicate.

**Before using any map tool like `get_map` or `list_maps`, what credentials do I need to set up my agent?**
You must provide a Felt API Token during the initial setup. This token authorizes your AI client, giving it permission to read and modify your maps within the Felt workspace.

**Using `update_layer`, how can I apply complex visual styling or change names?**
You update layer appearance by referencing the Felt Style Object (FSO) in your prompt. This allows you to programmatically define colors, visibility rules, and naming conventions for detailed data visualization.

**If I want to archive an old project, is it safe to use `delete_map`?**
Yes, the `delete_map` tool handles complete removal of a map. However, this action permanently deletes all associated metadata and elements, so always confirm your intent first.

**When I run `get_layer`, what specific details can my agent retrieve about the uploaded dataset?**
The tool returns detailed layer metadata, including the original data source type (GeoJSON, CSV), the current element count, and any applied styling rules. This context is crucial before making updates or additions.

**Can I upload my own geographic data files to a map?**
Yes! Use the `create_layer` tool by providing a public URL to your GeoJSON, CSV, or KML file. The server will initiate the upload and processing into your specified Felt map.

**How do I add a specific point or shape to an existing layer?**
You can use the `add_elements` tool. Simply provide the `layer_id` and a JSON array of GeoJSON features (points, lines, or polygons) you want to add to that layer.

**Is it possible to change the visual style of a map layer?**
Yes. Use the `update_layer` tool and provide a 'Felt Style Object' (FSO) in the `style` parameter to programmatically change colors, icons, or visibility rules.