Felt MCP
Enables to interact with Felt maps programmatically through an MCP server. Supports listing, retrieving details, and creating maps with natural language.
README
Felt MCP
An MCP server for interacting with Felt maps programmatically.
Prerequisites
- Python 3.14+
- uv
- A Felt API token
Configuration
Set your Felt API token as an environment variable:
export FELT_API_TOKEN=felt_pat_...
Running locally
uv sync
uv run python -m felt_mcp.main
The server uses stdio transport by default, which is the standard for MCP servers launched as subprocesses by an MCP client.
Running with Docker
docker build -t felt-mcp .
docker run -e FELT_API_TOKEN felt-mcp
MCP client configuration
Add this to your MCP client config (e.g. Claude Desktop claude_desktop_config.json):
{
"mcpServers": {
"felt": {
"command": "uv",
"args": ["run", "--directory", "/path/to/felt-mcp", "python", "-m", "felt_mcp.main"],
"env": {
"FELT_API_TOKEN": "felt_pat_..."
}
}
}
}
Or with Docker:
{
"mcpServers": {
"felt": {
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "FELT_API_TOKEN", "felt-mcp"],
"env": {
"FELT_API_TOKEN": "felt_pat_..."
}
}
}
}
Available tools
list_maps
Lists all maps accessible to the authenticated Felt user. Returns maps from all projects with their id, title, URL, project, and access level.
get_map_details
Get details for a specific Felt map, including its layers, elements, and settings.
| Parameter | Type | Required | Description |
|---|---|---|---|
map_id |
string | Yes | The ID of the map to retrieve |
get_map_layers
List all layers on a specific Felt map.
| Parameter | Type | Required | Description |
|---|---|---|---|
map_id |
string | Yes | The ID of the map whose layers to list |
create_new_map
Create a new Felt map with an optional title and initial viewport.
| Parameter | Type | Required | Description |
|---|---|---|---|
title |
string | No | Title for the new map |
lat |
float | No | Initial latitude |
lon |
float | No | Initial longitude |
zoom |
int | No | Initial zoom level |
Development
uv sync # install all dependencies including dev
just lint # format, lint, and type check
just test # run test suite
just test-failed # re-run previously failed tests
License
See LICENSE.md.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.