npm package: @honeyfield/rent2b-mcp
Description: MCP server for rent2b rental management API
Latest version: 1.2.0

# @honeyfield/rent2b-mcp

MCP Server for the rent2b Rental Management API. This server provides 105 tools for managing rooms, items, bookings, locations, guests, availability, categories, statistics, and more.

## Installation

```bash
npm install -g @honeyfield/rent2b-mcp
```

Or use directly with npx:

```bash
npx @honeyfield/rent2b-mcp
```

## Configuration

### Environment Variable

Set your rent2b API key as an environment variable:

```bash
export RENT2B_API_KEY=r2b_your-api-key
```

Optionally override the API URL (defaults to `https://rent2b-api.azurewebsites.net/api/v1`):

```bash
export RENT2B_API_URL=https://your-custom-api-url/api/v1
```

### Claude Desktop / Claude Code

Add to your MCP configuration:

```json
{
  "mcpServers": {
    "rent2b": {
      "command": "npx",
      "args": ["@honeyfield/rent2b-mcp"],
      "env": {
        "RENT2B_API_KEY": "r2b_your-api-key"
      }
    }
  }
}
```

### Streamable HTTP Mode (Recommended)

For HTTP-based MCP clients (stateless-friendly, works well with load balancers):

```bash
npx @honeyfield/rent2b-mcp --http --port=8080
```

This exposes a single `/mcp` endpoint supporting POST (JSON-RPC messages), GET (SSE notifications), and DELETE (session termination). Sessions are tracked server-side via the `Mcp-Session-Id` header.

**Authentication:** In HTTP and SSE mode, each client sends their own API key per request via header:

```
Authorization: Bearer r2b_your-api-key
```

or:

```
X-API-Key: r2b_your-api-key
```

The API key is validated on session creation. The `RENT2B_API_KEY` environment variable is **not required** in HTTP/SSE mode.

### SSE Mode (Legacy)

For SSE transport (e.g. for older web-based MCP clients):

```bash
npx @honeyfield/rent2b-mcp --sse --port=8080
```

## Available Tools (105)

### Rooms (14 Tools)

| Tool | Description |
|------|-------------|
| `rent2b_rooms_create` | Create a new room |
| `rent2b_rooms_list` | List all rooms in the organization |
| `rent2b_rooms_organization_list` | Get all rooms for an organization with pagination and search |
| `rent2b_rooms_location_list` | Get all rooms for a location with pagination and search |
| `rent2b_rooms_get` | Get details of a specific room by ID |
| `rent2b_rooms_update` | Update a room's properties |
| `rent2b_rooms_delete` | Delete a room |
| `rent2b_rooms_images_create` | Upload images for a room |
| `rent2b_rooms_images_list` | Get all images for a room |
| `rent2b_rooms_images_delete` | Delete a room image |
| `rent2b_rooms_images_primary_update` | Set an image as primary for a room |
| `rent2b_rooms_buffer_times_list` | Retrieve buffer time configuration |
| `rent2b_rooms_buffer_times_update` | Configure buffer time before and after bookings |
| `rent2b_rooms_pricing_rules_list` | Get available pricing rules |

### Items (17 Tools)

| Tool | Description |
|------|-------------|
| `rent2b_items_create` | Create a new rental item |
| `rent2b_items_list` | List all rental items in the organization |
| `rent2b_items_organization_list` | Get all items with pagination, search, and radius filtering |
| `rent2b_items_location_list` | Get all items for a location |
| `rent2b_items_get` | Get details of a specific rental item by ID |
| `rent2b_items_update` | Update a rental item's properties |
| `rent2b_items_delete` | Delete a rental item |
| `rent2b_items_quantity_update` | Update available quantity of an item |
| `rent2b_items_images_create` | Upload images for an item |
| `rent2b_items_images_list` | Get all images for an item |
| `rent2b_items_images_delete` | Delete an item image |
| `rent2b_items_images_primary_update` | Set an image as primary for an item |
| `rent2b_items_buffer_times_list` | Retrieve buffer time configuration |
| `rent2b_items_buffer_times_update` | Configure buffer time before and after bookings |
| `rent2b_items_analyze_image_create` | AI-powered image analysis for item suggestions |
| `rent2b_items_favorites_create` | Toggle favorite status for an item |
| `rent2b_items_favorites_delete` | Remove item from favorites |

### Bookings (15 Tools)

| Tool | Description |
|------|-------------|
| `rent2b_bookings_create` | Create a new booking for an item or room |
| `rent2b_bookings_list` | List all bookings for the organization |
| `rent2b_bookings_my_list` | List bookings where the authenticated user is the renter |
| `rent2b_bookings_get` | Get details of a specific booking |
| `rent2b_bookings_update` | Update a booking |
| `rent2b_bookings_confirm` | Confirm a pending booking |
| `rent2b_bookings_reject` | Reject a pending booking |
| `rent2b_bookings_cancel` | Cancel a booking and process refund |
| `rent2b_bookings_reservations_pending_requests_list` | List off-platform reservations needing approval |
| `rent2b_bookings_reservations_pending_list` | List pending/reserved booking reservations |
| `rent2b_bookings_reservations_confirm_create` | Confirm an off-platform reservation |
| `rent2b_bookings_reservations_reject_create` | Reject an off-platform reservation |
| `rent2b_bookings_reviews_create` | Create a review for a completed booking |
| `rent2b_items_reviews_list` | Get reviews for an item |
| `rent2b_available_resources` | Get all available rooms and items |

### Availability (8 Tools)

| Tool | Description |
|------|-------------|
| `rent2b_rooms_availability` | Get availability calendar for a specific room |
| `rent2b_items_availability` | Get availability calendar for a specific item |
| `rent2b_availability_check` | Check availability and pricing for a specific date range |
| `rent2b_bookings_rooms_availability_bulk_create` | Get availability for multiple rooms at once |
| `rent2b_bookings_items_availability_bulk_create` | Get per-day availability breakdown for multiple items |
| `rent2b_locations_items_availability_list` | Get item availability calendar |
| `rent2b_locations_items_availability_generate_create` | Generate availability for date range |
| `rent2b_locations_items_availability_block_create` | Block specific dates |

### Locations (8 Tools)

| Tool | Description |
|------|-------------|
| `rent2b_locations_create` | Create a new location |
| `rent2b_locations_list` | List all locations for the organization |
| `rent2b_locations_organization_list` | Get all locations for an organization |
| `rent2b_locations_get` | Get details of a specific location |
| `rent2b_locations_update` | Update a location |
| `rent2b_locations_delete` | Delete a location |
| `rent2b_locations_address_search_create` | Search for addresses using Google Places |
| `rent2b_locations_place_details_create` | Get detailed place information including coordinates |

### Time Slots (6 Tools)

| Tool | Description |
|------|-------------|
| `rent2b_timeslots_create` | Create a time slot for a location |
| `rent2b_timeslots_list` | List time slots for a specific location |
| `rent2b_time_slots_day_list` | Get all time slots for a specific day |
| `rent2b_time_slots_list` | Get a specific time slot |
| `rent2b_timeslots_update` | Update a time slot |
| `rent2b_timeslots_delete` | Delete a time slot |
| `rent2b_timeslots_create_weekly` | Create a full weekly schedule |

### Guests (5 Tools)

| Tool | Description |
|------|-------------|
| `rent2b_guests_create` | Create a new guest |
| `rent2b_guests_list` | List guests for the organization |
| `rent2b_guests_get` | Get a specific guest by ID |
| `rent2b_guests_update` | Update a guest's information |
| `rent2b_guests_delete` | Delete a guest |

### Categories & Attributes (10 Tools)

| Tool | Description |
|------|-------------|
| `rent2b_categories_create` | Create a new category |
| `rent2b_categories_list` | List all item categories |
| `rent2b_categories_get` | Get a specific category by ID |
| `rent2b_categories_update` | Update a category |
| `rent2b_categories_delete` | Delete a category |
| `rent2b_categories_attributes_create` | Create a new attribute for a category |
| `rent2b_categories_attributes_list` | Get all attributes for a category |
| `rent2b_categories_attributes_update` | Update an attribute |
| `rent2b_categories_attributes_delete` | Delete an attribute |
| `rent2b_categories_items_attributes_list` | Get all attributes for an item |

### Statistics (7 Tools)

| Tool | Description |
|------|-------------|
| `rent2b_statistics_overview` | Get comprehensive organization statistics |
| `rent2b_statistics_summary` | Get a quick summary of organization statistics |
| `rent2b_statistics_revenue` | Get detailed revenue statistics |
| `rent2b_statistics_utilization` | Get utilization statistics |
| `rent2b_statistics_location_list` | Get detailed analytics for a specific location |
| `rent2b_statistics_location_summary_list` | Get key metrics summary for dashboard display |
| `rent2b_statistics_location_revenue_list` | Get comprehensive revenue breakdown and trends |

### Checklists (4 Tools)

| Tool | Description |
|------|-------------|
| `rent2b_bookings_checklists_create` | Create a checklist instance for a booking |
| `rent2b_checklists_list` | List all checklists for a specific booking |
| `rent2b_checklists_get` | Get a specific checklist by ID |
| `rent2b_bookings_checklists_items_update` | Check/uncheck an item or add a note |

## Development

```bash
# Install dependencies
npm install

# Generate tools from OpenAPI spec
npm run generate

# Build
npm run build

# Run in development
npm run dev
```

## Testing with MCP Inspector

```bash
# stdio (default)
npx @anthropic-ai/mcp-inspector dist/index.js

# Streamable HTTP
npx @anthropic-ai/mcp-inspector --transport http --url http://localhost:8080/mcp
```

## License

MIT

## Links

- [rent2b Website](https://rent2b.net)
- [GitHub Repository](https://github.com/Honeyfield-Org/rent2b-mcp)