> For the complete documentation index, see [llms.txt](https://developers.felt.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.felt.com/ai-agents-and-mcp.md).

# AI agents and MCP

Felt runs a remote [Model Context Protocol](https://modelcontextprotocol.io) (MCP) server, so AI assistants and coding agents such as Claude, ChatGPT, Cursor and VS Code can work in your Felt workspace directly. An agent connected to Felt can create maps, load and style data, query layers and connected databases with SQL, edit features, and render maps inline in the conversation.

{% hint style="info" %}
Requires Business or Enterprise, and included in the free trial. See [Plans, access and limits](/plans-access-and-limits.md).
{% endhint %}

## Connect

The server URL is:

```
https://felt.com/mcp
```

Most clients connect with OAuth: you add the URL, a browser window opens, you sign in to Felt and choose which workspace the agent may use.

{% tabs %}
{% tab title="Claude" %}
In Claude, open **Settings → Connectors → Add custom connector**, name it Felt, and enter `https://felt.com/mcp`.
{% endtab %}

{% tab title="Claude Code" %}

```bash
claude mcp add --transport http felt https://felt.com/mcp
```

{% endtab %}

{% tab title="Cursor" %}
Add to `~/.cursor/mcp.json` (or `.cursor/mcp.json` in a project):

```json
{
  "mcpServers": {
    "felt": { "url": "https://felt.com/mcp" }
  }
}
```

{% endtab %}

{% tab title="VS Code" %}
Add to `.vscode/mcp.json`:

```json
{
  "servers": {
    "felt": { "type": "http", "url": "https://felt.com/mcp" }
  }
}
```

{% endtab %}
{% endtabs %}

### Connect with an API token

For scripts, CI, or clients without OAuth support, send a workspace [API token](/rest-api/authentication.md) as a bearer token instead:

```json
{
  "mcpServers": {
    "felt": {
      "url": "https://felt.com/mcp",
      "headers": { "Authorization": "Bearer felt_pat_ABCDEF..." }
    }
  }
}
```

The agent then acts in the workspace the token belongs to, with the permissions of the person who created it.

## What an agent can do

| Area                                   | Tools                                                                                                                                                                                                                                                                                      |
| -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Maps and projects                      | `create_map`, `get_map`, `update_map`, `share_map`, `delete_map`, `list_maps`, `list_projects`, `get_project`, `render_map`, `export_map_image`                                                                                                                                            |
| Layers                                 | `get_map_layers`, `get_layer_properties`, `inspect_layer`, `update_layer_properties`, `set_visibility`, `organize_layers`, `duplicate_layer_to_map`, `delete_layer`                                                                                                                        |
| Layer groups                           | `get_layer_group_properties`, `update_layer_group_properties`, `set_layer_group_interaction`                                                                                                                                                                                               |
| Loading data                           | `import_layer_from_url`, `prepare_file_upload`, `upload_contents_to_map`, `poll_layer_processing_status`, `refresh_url_layer`                                                                                                                                                              |
| Databases, Felt Server and the library | `list_data_sources`, `browse_data_source_tables`, `inspect_data_source_table_columns`, `get_tabular_data_from_data_source`, `create_layer_from_data_source`, `add_data_source_table_to_map`, `refresh_data_source_layer`, `list_felt_servers`, `browse_felt_server`, `browse_felt_library` |
| SQL and analysis                       | `get_tabular_data_from_felt_layers`, `create_layer_from_felt_layers`, `get_sql_guidance`                                                                                                                                                                                                   |
| Editing data                           | `edit_features`, `edit_layer_attributes`, `get_sql_editing_guidance`                                                                                                                                                                                                                       |
| Annotations                            | `list_annotations`, `upsert_annotations`, `delete_annotation`                                                                                                                                                                                                                              |
| Styling and help                       | `generate_fsl`, `developer_docs`, `help_center`, `who_am_i`                                                                                                                                                                                                                                |

Some of these go beyond the REST API: SQL over your layers, spatial analysis, and editing individual features are only available through MCP or the Felt app.

`render_map` shows an interactive map inside clients that support MCP Apps, so the agent can show you its work as it goes.

## Usage

* Most tools are free to call. `generate_fsl`, `developer_docs` and `help_center` run Felt AI and use your workspace's Felt AI credits. When credits run out, those three wait until the monthly reset and every other tool keeps working.

## Tips for agents

* Call `who_am_i` first to confirm the workspace.
* Use `developer_docs` for exact REST, SDK and FSL shapes instead of guessing; it answers from these docs and the API reference.
* Poll `poll_layer_processing_status` after an upload or refresh before styling or querying the layer.
* Changes an agent makes through MCP are saved to the map, so they're visible to everyone who can see it.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://developers.felt.com/ai-agents-and-mcp.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
