# Felt — how to use (mcp.ai)

Connect your Felt account and use 15 tools for developer tools straight from your AI agent. Connect with your own API key. Felt is a modern GIS platform that allows users to create, modify, and share interactive maps, integrating powerful mapping capabilities into various workflows and applications.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_felt?ms=1787295780000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `felt_create_or_update_elements`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/felt`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/felt/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/felt/create/or/update/elements` — Create or update map elements using GeoJSON FeatureCollection format. Creates new elements by default; to update existing elements, include 'felt:id' in the feature's properties. Supports Point, LineS
  - body: { type: string, map_id: string, features: object[] }
- `POST https://api.mcp.ai/api/felt/create/project` — Create a new Felt project with the specified name and visibility settings. Projects are organizational containers for grouping related maps within a workspace.
  - body: { name: string, visibility: string }
- `POST https://api.mcp.ai/api/felt/delete/element` — Tool to delete a specific element from a map. Use when you have both map and element IDs and need to remove the element permanently.
  - body: { map_id: string, element_id: string }
- `POST https://api.mcp.ai/api/felt/delete/layer` — Tool to delete a specific layer from a map. Use when you have the map's and layer's IDs and need to remove it permanently.
  - body: { map_id: string, layer_id: string }
- `POST https://api.mcp.ai/api/felt/delete/map` — Permanently deletes a map and all its associated data from Felt. WARNING: This action cannot be undone. The map and all its layers, elements, and comments will be permanently removed. Use when you hav
  - body: { map_id: string }
- `POST https://api.mcp.ai/api/felt/delete/project` — Tool to delete a project and all its contents. Use when you need to permanently remove a project after confirmation.
  - body: { project_id: string }
- `POST https://api.mcp.ai/api/felt/duplicate/map` — Creates a complete copy of a Felt map including all layers, elements, and configuration. Use when you need to clone an existing map to a new location or create a template-based map. The duplicated map
  - body: { title?: string, map_id: string, destination?: object }
- `POST https://api.mcp.ai/api/felt/get/map/details` — Retrieves comprehensive details of a specific Felt map including title, URL, layers, elements, basemap settings, access permissions, and timestamps. Requires a valid map ID. Use this when you need to:
  - body: { map_id: string }
- `POST https://api.mcp.ai/api/felt/get/user/details` — Tool to retrieve information about the authenticated user. Use after obtaining a valid token to fetch user profile details.
- `POST https://api.mcp.ai/api/felt/list/element/groups` — Retrieves all element groups from a Felt map. Element groups are collections of geographic features (points, lines, polygons) organized together. Each group returns a GeoJSON FeatureCollection with th
  - body: { map_id: string }
- `POST https://api.mcp.ai/api/felt/list/elements` — Lists all elements on a specific map as a GeoJSON FeatureCollection. Returns elements that are not in element groups. Use when you need to retrieve the map's direct elements after obtaining a valid ma
  - body: { map_id: string }
- `POST https://api.mcp.ai/api/felt/list/layers` — Tool to list all layers on a specific map. Returns all layers present on the map with their complete metadata including status, geometry type, styling, and attributes. Use this when you need to inspec
  - body: { map_id: string }
- `POST https://api.mcp.ai/api/felt/list/projects` — Tool to retrieve a list of projects accessible to the user. Use when you need to browse or select from existing projects before proceeding.
  - body: { workspace_id?: string }
- `POST https://api.mcp.ai/api/felt/list/sources` — List all data sources (external data connections) accessible to the authenticated user. Sources represent connections to external data providers like BigQuery, PostgreSQL, S3, Snowflake, etc. Use this
  - body: { workspaceId?: string }
- `POST https://api.mcp.ai/api/felt/update/project` — Tool to update an existing project's name or visibility. Use after confirming the project_id.
  - body: { name?: string, project_id: string, visibility?: string }

## Example prompts
- "What can I do in Felt?"
- "Show me a summary of my Felt account"

## More
- Page: https://mcp.ai/felt
- Agent spec (llms.txt): https://mcp.ai/felt/llms.txt
- Postman collection: https://mcp.ai/felt/postman.json
