# Robin MCP

> Robin connects your AI client directly to workplace logistics. Use it to map global company offices, check meeting room schedules, book available desks, and reserve space—all from a single chat conversation.

## Overview
- **Category:** productivity
- **Price:** Free
- **Tags:** desk-booking, room-scheduling, hybrid-work, office-management, workplace-analytics, resource-allocation

## Description

Robin connects your AI client directly to workplace logistics data. You don't have to open a web portal or juggle multiple tabs; you just tell your agent what you need, and it handles the booking.

### Global Office Mapping
You can map out every corporate hub with simple commands. Your agent uses `list_locations` to give you a complete list of all office locations managed by Robin. If you want to know more about a specific campus—like its full address or total capacity—you just call `get_location`. This tool pulls detailed information for any single office location.

### Managing Meeting Rooms
Managing rooms is where this thing shines. First, your agent can list every single bookable meeting room within an entire location using `list_spaces`. If you need to check the specifics of one particular room—like how big it is or what equipment it has—you call `get_space`.

You're trying to schedule a meeting? You don’t want conflicts. Your agent checks multiple rooms at once with `get_free_busy`, telling you which specific spaces are available during your required time window. If you need to see the full history of what’s booked in one room, checking previous events is easy; use `list_space_events` for that. Once you confirm a space works, you book it instantly using `book_space`. You specify the space ID, give it a title, and set the start and end times, and boom—it’s reserved.

### Hot Desk and Seating Management
Need a desk? Your agent handles that too. To see what's open right now on the floor, you call `list_desks`. This lists every hot desk and assigned seat available at your location. If you want to snag a specific spot for later, you use `reserve_desk`, telling the system exactly which desk and what date you need it. You’ll get confirmation that the reservation is set.

And if plans change? No sweat. To clear out an existing hot desk booking, your agent uses `cancel_desk_reservation`. You only need to provide the unique ID number of the reservation to make sure it clears properly.

## Tools

### book_space
Books a meeting room by specifying the space ID, title, and start/end times.

### cancel_desk_reservation
Removes an existing hot desk reservation using its unique ID number.

### get_free_busy
Checks if multiple specified meeting rooms are available during a given time window.

### get_location
Retrieves detailed information, like capacity or address, for a single office location.

### get_space
Gets specific details about one particular meeting room.

### list_desks
Lists all hot desks and assigned seats available at a given location.

### list_locations
Provides a list of every office location managed by Robin.

### list_space_events
Lists all events already booked in a specific meeting room over time.

### list_spaces
Shows every bookable meeting room within an entire office location.

### reserve_desk
Reserves a specific hot desk for you on a particular date.

## Prompt Examples

**Prompt:** 
```
Show me the office locations available in our organization.
```

**Response:** 
```
I used `list_locations` and found 3 active offices in your Robin directory. Your 'Global HQ' (ID: 154), 'New York Branch', and 'London Tech Hub'. Let me know if you want to inspect meeting rooms at the HQ.
```

**Prompt:** 
```
Check if room 555 and room 121 are free tomorrow from 10 AM to 11 AM.
```

**Response:** 
```
I ran `get_free_busy` for the indicated space IDs. Room 121 is currently open and has no events blocking that slot. However, Room 555 is heavily utilized with a blocked schedule. Would you like me to book Room 121 for you?
```

**Prompt:** 
```
Book space ID 73 tomorrow at 3 PM. Title is Project Vinkius Sync.
```

**Response:** 
```
Reservation confirmed via `book_space`. The room 73 is now booked under the title 'Project Vinkius Sync' from 3:00 PM to 4:00 PM for you. Your space allocation on Robin is active!
```

## Capabilities

### Map Global Offices
Lists all corporate office locations and retrieves detailed information about specific hubs.

### Check Room Availability
Checks schedules for multiple meeting rooms to see which ones are free during a given time range.

### Schedule Meeting Rooms
Books an available meeting room by creating a confirmed event in the calendar system.

### Find Available Desks
Lists all hot desks and assigned seating at a location, showing what's open right now.

### Reserve Hot Desk Space
Secures a specific desk for you on a chosen date, acting as a reservation system.

### Cancel Reservations
Removes an existing hot desk booking using its unique reservation ID.

## Use Cases

### The spontaneous team sync-up
A project lead needs to meet with three people today. They don't know if a conference room is free, or if there are enough desks nearby. The agent runs `list_spaces` to see all options, then uses `get_free_busy` for the desired time slot. It finds Room 104 open and books it using `book_space` instantly.

### The global move
An employee is relocating to a new hub city. They need to know where the corporate offices are globally. The agent runs `list_locations`, identifying all available hubs, and then uses `get_location` on the new site to confirm addresses and capacity.

### The last-minute desk change
Someone was supposed to work at a hot desk but realized they need to move seats. They use their agent to run `list_desks`, find an open spot, and immediately call `reserve_desk` for the new location.

### The multi-day project booking
A team needs a dedicated space over several days. The assistant checks room schedules using `list_space_events`, verifies the time slots are clear, and books the room block across multiple dates with one command to `book_space`.

## Benefits

- Check room availability instantly. Instead of opening multiple calendar apps, simply ask your agent to run `get_free_busy` for a time window across several spaces.
- Manage location details without leaving the chat. Use `list_locations` and `get_location` to map out corporate hubs or find an address—all in one query.
- Book desks and rooms atomically. You can ask your agent to find an open room, then book it using `book_space` and reserve a desk with `reserve_desk`, all based on natural language input.
- Simplify complex cancellations. If plans change, you just need the reservation ID to run `cancel_desk_reservation`, eliminating manual calendar deletions.
- See what's available right now. Running `list_desks` gives you a live view of open hot desks, helping you plan your day before you even walk in the door.

## How It Works

The bottom line is, you chat with your AI client like talking to an actual office manager—it runs the tools and gives you instant results.

1. Install the Robin extension module in your MCP environment.
2. Grab your `Robin Access Token` from the dashboard and add it to the authentication parameters.
3. Just talk naturally: "Check room availability at HQ tomorrow afternoon, and book a desk for me."

## Frequently Asked Questions

**How do I check if multiple rooms are free using the list_spaces tool?**
You use `get_free_busy` for that. Just give your agent a JSON array of space IDs and the time range you need to check. It tells you exactly which ones have clear schedules.

**If I change my mind, how do I cancel my desk using cancel_desk_reservation?**
You must provide the unique reservation ID when calling `cancel_desk_reservation`. This guarantees you're deleting the correct booking and keeps your records clean.

**What if I need to know the address of a location before booking anything?**
Run `get_location` first. You provide the specific office ID, and it returns all the detailed info you need—address, capacity, etc.—before you even think about booking.

**Does Robin MCP Server handle finding available desks?**
Yes, use `list_desks` to see all hot desks at a site. Once you find an open desk, run `reserve_desk` with the specific date and ID.

**What credentials are required to use the `list_locations` tool?**
You must provide a valid Robin Access Token for this tool to function. The token links your AI client directly to your organization's workspace data, allowing it to list all connected office hubs.

**If I use the `book_space` tool and the room is already booked, what happens?**
The function call fails immediately with a scheduling conflict error. The system doesn't override existing bookings; you must first run `get_free_busy` to confirm availability before attempting to book.

**How does the `get_space` tool provide information about a meeting room?**
The `get_space` tool pulls detailed specifications for a specific room ID. This includes capacity, available amenities (like A/V equipment), and floor plans, helping you choose the right fit.

**Can I use `list_space_events` to see who booked a meeting room?**
Yes, `list_space_events` pulls all scheduled events for a given space ID. It shows event titles, attendees, and time blocks, letting you review the room's current usage schedule.

**Can the AI automatically invite participants or manage employee Microsoft/Google calendars via this plugin?**
No, this integration interacts strictly with Robin's environment. The tool (`book_space`) targets space and desk allocation inside Robin's directory. Connecting events inside Robin to your external Exchange or Google Workspaces is a configuration you must perform manually via the Robin Web Dashboard outside of this AI tool's scope.

**How do I check availability without locking the room immediately?**
You can ask the assistant to query the system using the `list_space_events` tool indicating a specific space ID to read the calendar logic of reservations. Or better, state a date span and use the `get_free_busy` action passing multiple room IDs to detect scheduling conflicts instantly across multiple assets before issuing a separate booking command.

**Can I cancel a desk reservation after it has been made?**
Yes. Simply ask the assistant to cancel a specific reservation using `cancel_desk_reservation` with the reservation ID. The desk will be released immediately and made available for others to book.