A Claude Code plugin for booking desks and rooms in Seatsurfing - the open-source desk sharing and room booking solution for hybrid workplaces.
- List locations and spaces
- Check availability for specific time slots
- Create and cancel bookings
- View your upcoming bookings
- Auto-login with saved credentials
# Add the marketplace
/plugin marketplace add RaulSimpetru/Seatsurfing-MCP
# Install the plugin
/plugin install seatsurfing@seatsurfing-mcp-marketplaceclaude mcp add seatsurfing \
-e SEATSURFING_URL=https://seatsurfing.example.com \
-e SEATSURFING_EMAIL=you@example.com \
-e SEATSURFING_PASSWORD=yourpass \
-e SEATSURFING_ORG_ID=your-org-uuid \
-- uvx seatsurfing-mcpAdd to your config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"seatsurfing": {
"command": "uvx",
"args": ["seatsurfing-mcp"],
"env": {
"SEATSURFING_URL": "https://seatsurfing.example.com",
"SEATSURFING_EMAIL": "you@example.com",
"SEATSURFING_PASSWORD": "yourpass",
"SEATSURFING_ORG_ID": "your-org-uuid"
}
}
}
}Restart Claude Desktop after saving.
Run the setup command and follow the prompts:
/seatsurfing:setup
This saves your credentials to ~/.seatsurfing/config.json and works across all platforms.
| Variable | Required | Description |
|---|---|---|
SEATSURFING_URL |
Yes | Base URL of your Seatsurfing instance |
SEATSURFING_EMAIL |
Yes | Your login email |
SEATSURFING_PASSWORD |
Yes | Your password |
SEATSURFING_ORG_ID |
Yes | Your organization UUID |
- Open your Seatsurfing web app
- Open browser Developer Tools (F12)
- Go to the Network tab
- Login and look at the POST request to
/auth/login - The
organizationIdis in the request payload
| Command | Description |
|---|---|
/seatsurfing:setup |
Configure your credentials |
/seatsurfing:book |
Book a space |
/seatsurfing:my-bookings |
List your upcoming bookings |
/seatsurfing:cancel |
Cancel a booking |
| Tool | Description |
|---|---|
seatsurfing_login |
Login to Seatsurfing |
seatsurfing_list_locations |
List all locations |
seatsurfing_list_spaces |
List spaces in a location |
seatsurfing_check_availability |
Check space availability |
seatsurfing_create_booking |
Create a new booking |
seatsurfing_list_my_bookings |
List your bookings |
seatsurfing_cancel_booking |
Cancel a booking |
Just tell Claude what you need:
- "Book me a desk tomorrow from 9am to 5pm"
- "What's available next Monday afternoon?"
- "Show me my bookings"
- "Cancel my Friday booking"
# Clone the repository
git clone https://github.com/RaulSimpetru/Seatsurfing-MCP.git
cd Seatsurfing-MCP
# Install with uv
uv sync
# Or with pip
pip install -e .# Create virtual environment
python -m venv venv
source venv/bin/activate # or `venv\Scripts\activate` on Windows
# Install in dev mode
pip install -e ".[dev]"
# Run locally
seatsurfing-mcpMake sure all four environment variables are set correctly, including SEATSURFING_ORG_ID.
- Check that the URL is correct (no trailing
/ui/) - Make sure your server is reachable
- Try the URL in a browser first
You're probably missing the SEATSURFING_ORG_ID. See "Finding Your Organization ID" above.
Seatsurfing can also be used with Clawdbot to book desks via Telegram, Signal, Discord, and other channels.
# Copy the plugin to clawdbot extensions
cp -r clawdbot ~/.clawdbot/extensions/seatsurfing
# Install dependencies
cd ~/.clawdbot/extensions/seatsurfing && npm install
# Enable the plugin
clawdbot plugins enable seatsurfing
# Restart the gateway
clawdbot gateway restartThe plugin uses the same credentials as the MCP server from ~/.seatsurfing/config.json or environment variables.
- Python 3.10+
- A Seatsurfing instance with API access
- Claude Code, Claude Desktop, or Clawdbot
MIT