nexudus-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@nexudus-mcp Book me a conference room tomorrow at 2pm for 6 people"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
nexudus-mcp
An MCP server that lets Claude Code book and manage rooms in Nexudus coworking spaces using natural language.
"Book me a conference room tomorrow at 2pm for 6 people"
What it does
List rooms with capacity and amenities
Check availability for a time window
Book rooms by name (fuzzy matching)
View your upcoming bookings
Cancel bookings
View a room's schedule for a given day
Related MCP server: DiSH MCP Server
Setup
Prerequisites
Claude Code installed
A Nexudus member account with login credentials
Your portal URL (e.g.,
yourspace.spaces.nexudus.com)Node.js 18+
Quick setup (let Claude do it)
Tell Claude Code:
Clone github.com/jude-stiel/nexudus-mcp and set it up as an MCP server for Nexudus room booking
Claude will walk you through the rest. Or do it manually:
Manual setup
Clone and build
git clone https://github.com/jude-stiel/nexudus-mcp.git
cd nexudus-mcp
npm install
npm run buildCreate
.env
cat > .env << 'EOF'
NEXUDUS_EMAIL=your-email@example.com
NEXUDUS_PASSWORD=your-password
NEXUDUS_PORTAL=yourspace.spaces.nexudus.com
NEXUDUS_COWORKER_ID=your-coworker-id
EOFNEXUDUS_EMAIL / NEXUDUS_PASSWORD — your Nexudus login credentials
NEXUDUS_PORTAL — your space's portal hostname (check your browser URL bar when logged in)
NEXUDUS_COWORKER_ID — (optional) your member ID in Nexudus. If omitted, the server extracts it from your existing bookings. To find it manually: open DevTools on the portal, book a room, and look for
CoworkerIdin the network request body.
Test your credentials
read -rs 'pass?Password: ' && echo && curl -s -X POST https://spaces.nexudus.com/api/token \
--data-urlencode 'grant_type=password' \
--data-urlencode "username=YOUR_EMAIL" \
--data-urlencode "password=$pass" | python3 -c "import sys,json; d=json.load(sys.stdin); print('Token OK' if 'access_token' in d else f'Auth failed: {d}')"Register with Claude Code
Add to .mcp.json in your working directory (create the file if it doesn't exist):
{
"mcpServers": {
"nexudus-rooms": {
"command": "/absolute/path/to/nexudus-mcp/start.sh"
}
}
}Restart Claude Code — the server will connect automatically on startup.
Usage
Just talk to Claude naturally:
You say | What happens |
"What rooms are available at 2pm tomorrow?" | Searches availability for conference rooms |
"Book the main conference room Thursday 10-11am" | Books the room via the checkout flow |
"What do I have booked this week?" | Lists your upcoming bookings |
"Cancel my 3pm booking" | Looks up the booking ID and cancels it |
"What's the schedule for the small meeting room today?" | Shows all bookings for that room |
"I need a room for 8 people tomorrow at noon" | Searches, filters by capacity, suggests options |
How it works
The server authenticates with Nexudus using your member credentials (OAuth bearer token) and calls the same portal API endpoints that the Nexudus web portal uses. It does not require admin API access.
See WALKTHROUGH.md for a detailed technical explanation of the architecture, API reverse-engineering process, and obstacles overcome.
Limitations
Member-level access only — uses the portal API, not the admin REST API. This works for booking and cancelling your own rooms but can't perform admin operations.
Availability data — the portal returns bookings for the current month. Availability checks for dates far in the future may be incomplete.
No recurring bookings yet — each booking is a one-off. The Nexudus data model supports repeating bookings but the creation flow hasn't been implemented.
Token refresh — tokens are cached and refreshed automatically, but if your password changes you'll need to update
.envand restart.
License
MIT
Available Tools
6 toolsbook_roomC
Book a room for a specific time slot
Inputs: date (required), room (required), end_time (required), start_time (required), +1 more.
cancel_bookingC
Cancel a booking by its ID
Inputs: booking_id (required).
get_room_scheduleB
View all bookings for a specific room on a given date
Inputs: date (required), room (required).
list_roomsB
List all bookable rooms with capacity and amenities. Can filter by type (Conference Room, Lab Equipment, Wellness Room).
Inputs: type.
my_bookingsB
List your upcoming (or recent past) bookings
Inputs: include_past.
search_available_roomsC
Find which rooms are free during a specific time window
Inputs: date (required), end_time (required), start_time (required), type.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Each tool targets a distinct aspect of room booking: inventory (list_rooms), availability search (search_available_rooms), schedule viewing (get_room_schedule), booking action (book_room), personal bookings (my_bookings), and cancellation (cancel_booking). No two tools overlap in purpose, and descriptions clearly delineate their scope.
Five of six tools follow a consistent verb_noun snake_case pattern (list_rooms, search_available_rooms, get_room_schedule, book_room, cancel_booking). 'my_bookings' deviates as a possessive noun phrase, but the overall convention remains readable and predictable.
Six tools provide a well-scoped set for a room booking domain, covering discovery, availability, scheduling, booking, and cancellation without redundancy. The count is typical for a focused MCP server.
Core lifecycle operations are present: list rooms, check availability, view schedules, book, list personal bookings, and cancel. The only notable gap is a dedicated update/reschedule operation, but this can be worked around by canceling and rebooking.
Related MCP Connectors
Find free rooms and book, change or cancel them. Sign in from Claude, ChatGPT or Grok Bot.
Find and book coworking spaces, meeting rooms and offices in Latin America from your AI assistant.
Book desks and meeting rooms, see who's in the office, and manage your workplace in Officely.
AI-native scheduling and booking: check availability, book meetings, share links.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables Claude to search for available meeting rooms, check reservation status, and create room bookings through an integrated SSO-authenticated meeting room system. Supports natural language queries for room availability by date, time, floor, and duration requirements.-
- FlicenseAqualityDmaintenanceEnables interaction with the DiSH room booking platform to search availability, create bookings, and manage reservations. It allows AI assistants to handle meeting room logistics directly through natural language commands.3-
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to search for available desk space, submit room reservations, and let admins approve or reject booking requests through a scoped MCP API.-
- AlicenseAqualityBmaintenanceEnables booking UNC Davis Library study spaces through LibCal, including availability checks, ranked suggestions, confirmed reservations, and optional Apple Calendar integration from natural-language agent requests.51MIT