Floors.live MCP Server
by Hakolsound
README.md
# Floors.live MCP Server
[](https://smithery.ai/server/ronp/floors-live)
MCP (Model Context Protocol) server for [Floors.live](https://floors.live) — the professional event floorplan designer. Lets AI assistants create events, design floorplans, manage guest lists, and run intelligent seating assignments.
## Prerequisites
You need a Floors.live API key. Create one at **[floors.live/profile](https://floors.live/profile)** under "API Keys" (free account), or via the API:
```bash
curl -X POST https://api.floors.live/v1/auth/keys \
-H "Authorization: Bearer YOUR_FIREBASE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "My MCP Key", "scopes": ["events:read","events:write","floorplans:read","floorplans:write","guests:read","guests:write","seating:read","seating:write"]}'
```
## Setup
### Claude Desktop
Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
```json
{
"mcpServers": {
"floors-live": {
"command": "npx",
"args": ["floors-mcp-server"],
"env": {
"FLOORS_API_KEY": "flr_sk_YOUR_KEY_HERE"
}
}
}
}
```
### Smithery (one-click install)
[smithery.ai/server/ronp/floors-live](https://smithery.ai/server/ronp/floors-live) — install into Claude, ChatGPT, Windsurf, or Cursor from the Smithery gateway; paste your `flr_sk_...` key when prompted.
### ChatGPT / remote MCP clients
Floors.live also runs a hosted Streamable-HTTP endpoint — no install needed:
```
https://api.floors.live/mcp
```
In ChatGPT: **Settings → Connectors → Add remote server**, paste the URL and use your `flr_sk_...` key as the Bearer token.
### Claude Code
```bash
claude mcp add floors-live -- npx floors-mcp-server
# Then set the env variable in your shell:
export FLOORS_API_KEY=flr_sk_YOUR_KEY_HERE
```
### Cursor
Add to `.cursor/mcp.json`:
```json
{
"mcpServers": {
"floors-live": {
"command": "npx",
"args": ["floors-mcp-server"],
"env": {
"FLOORS_API_KEY": "flr_sk_YOUR_KEY_HERE"
}
}
}
}
```
### ChatGPT
In ChatGPT, go to **Settings > MCP Servers > Add Server** and enter:
- **URL:** `https://api.floors.live/mcp`
- **Auth:** Bearer token — your API key (`flr_sk_YOUR_KEY_HERE`)
No setup or self-hosting required — the MCP endpoint is hosted by Floors.live.
### HTTP Transport (for web integrations)
```bash
FLOORS_API_KEY=flr_sk_YOUR_KEY npx floors-mcp-server --http
# MCP endpoint: http://localhost:3001/mcp
```
## Available Tools (32)
### Events
| Tool | Description |
|------|-------------|
| `list_events` | List all events |
| `create_event` | Create a new event |
| `get_event` | Get event details |
| `update_event` | Update event fields |
| `delete_event` | Delete event and all sub-resources |
### Floorplans
| Tool | Description |
|------|-------------|
| `list_floorplans` | List floorplans for an event |
| `create_floorplan` | Create a new empty floorplan |
| `get_floorplan` | Get floorplan with all objects |
| `update_floorplan` | Update floorplan settings |
| `delete_floorplan` | Delete a floorplan |
| `duplicate_floorplan` | Copy a floorplan with all objects |
| `get_floorplan_stats` | Get seat/table statistics |
### Objects (Canvas Items)
| Tool | Description |
|------|-------------|
| `list_objects` | List all objects on canvas |
| `add_objects` | Add tables, stages, walls, etc. |
| `update_object` | Move, resize, relabel an object |
| `delete_object` | Remove an object |
| `get_object_templates` | Browse 35+ object types with defaults |
### Guests
| Tool | Description |
|------|-------------|
| `list_guests` | List all guests |
| `add_guests` | Add one or more guests |
| `get_guest` | Get guest details |
| `update_guest` | Update guest info |
| `delete_guest` | Remove a guest |
| `import_guests` | Bulk import up to 100 guests |
### Groups
| Tool | Description |
|------|-------------|
| `list_groups` | List guest groups |
| `create_group` | Create a group with priority |
| `update_group` | Update group settings |
| `delete_group` | Delete a group (guests kept) |
### Relationships
| Tool | Description |
|------|-------------|
| `list_relationships` | List seating constraints |
| `create_relationship` | Set seat_together/keep_apart/etc. |
| `delete_relationship` | Remove a constraint |
### Seating
| Tool | Description |
|------|-------------|
| `get_seating` | Get current seat assignments |
| `replace_seating` | Replace all assignments |
| `assign_guest_to_seat` | Assign one guest to a seat |
| `unassign_guest` | Remove guest from seat |
| `auto_assign_seating` | Run intelligent auto-assign algorithm |
### Export & Sharing
| Tool | Description |
|------|-------------|
| `export_guests` | Export guest list (JSON/CSV) |
| `share_floorplan` | Generate a share link |
### Composite
| Tool | Description |
|------|-------------|
| `describe_floorplan` | Human-readable layout description |
| `get_event_summary` | Full event summary with stats |
## Example Workflow
Ask your AI assistant:
> "Create a wedding event for Sarah & Lior at The Grand Hall on June 15th. Set up a floorplan with 8 round tables of 10 seats each, a stage, a dance floor, and a bar. Then add 80 guests and run the auto-assign seating."
The assistant will use the MCP tools to:
1. `create_event` — Create the event
2. `create_floorplan` — Create a floorplan
3. `add_objects` — Place tables, stage, dance floor, and bar
4. `add_guests` — Add all 80 guests
5. `create_group` — Organize guests into groups
6. `auto_assign_seating` — Run intelligent seating
## Environment Variables
| Variable | Required | Description |
|----------|----------|-------------|
| `FLOORS_API_KEY` | Yes | Your API key (format: `flr_sk_...`) |
| `FLOORS_API_URL` | No | Override API base URL (default: `https://api.floors.live/v1`) |
| `PORT` | No | HTTP transport port (default: `3001`) |
## Rate Limits
- **Base tier:** 30 requests/min, 1,000/day
- **Pro tier:** 120 requests/min, 10,000/day
- Write operations cost 2x. Auto-assign costs 5x.
## Links
- [Floors.live](https://floors.live)
- [API Documentation](https://api.floors.live/v1/openapi.json)
- [Sign Up](https://floors.live/signup)
This server cannot be deployed
Maintenance
ActivitySlowing
ResponsivenessNo issues