> ## Documentation index
> Fetch the complete documentation index at: https://developer.rhombus.com/llms.txt
> Use it to discover all available pages before exploring further.

# Rhombus API MCP Server

> Give Claude and other AI assistants direct access to your Rhombus cameras, doors, sensors, and alerts through the Model Context Protocol (MCP) Node.js server.

The **Rhombus API MCP Server** connects AI tools directly to your Rhombus security platform. Unlike the [Documentation MCP](https://developer.rhombus.com/documentation-mcp) (which searches docs), this server gives AI assistants the ability to **take actions** — list cameras, pull clips, manage doors, review alerts, and more — using your Rhombus API key.

> **Warning**: This MCP server acts on your live Rhombus organization: tools that unlock doors, change lockdowns or reboot devices act on the real world. Give an assistant a key with a **read-only role** by default. If it must take actions, use a separate key whose role covers only those devices, and keep your MCP client's confirmation for tool calls turned on, so a person approves each action.

## What you can do

The server provides 30+ tools organized by capability:

**Cameras & Video**

- **camera-tool** — List cameras, get camera details, view status and health
- **clips-tool** — Search and retrieve saved video clips (manual and policy-triggered)
- **video-walls-tool** — Manage video wall configurations for multi-camera monitoring
- **reboot-cameras** — Remotely reboot cameras
- **camera-uptime-tool** — Check camera uptime and connectivity history

**Access Control & Doors**

- **access-control-tool** — Manage access control systems, credentials, and users
- **door-tool** — Lock, unlock, and monitor door status
- **door-schedule-exception-tool** — Create and manage door schedule overrides
- **guest-management-tool** — Manage guest access and visitor credentials

**Security & Monitoring**

- **alarm-monitoring-tool** — Check monitoring status, manage threat cases
- **policy-alerts-tool** — Review and dismiss policy-triggered alerts (motion, person detection, etc.)
- **events-tool** — Query security events and activity logs
- **rules-tool** — Manage automation rules and triggers

**Analytics & Search**

- **analytics-tool** — Space utilization, traffic patterns, and real-time scene analysis
- **search-tool** — Search across cameras, events, and entities
- **count-tool** — People counting and occupancy data
- **faces-tool** — Face recognition person lookup
- **lpr-tool** — License plate recognition searches

**Organization & Users**

- **user-tool** — Manage users and permissions
- **user-audit-tool** — Review user activity audit trails
- **user-access-trail-tool** — Track user access history
- **location-tool** — Manage locations and site configuration
- **get-org-information** — Retrieve organization details
- **report-tool** — Generate and retrieve reports

**Utilities**

- **entity-lookup-tool** — Look up any entity by UUID
- **get-entity-tool** — Get detailed entity information
- **time-tool** — Current time utilities
- **time-conversion-tool** — Convert between time formats and timezones
- **update-tool** — Update entity properties

## Prerequisites

- A Rhombus organization with API access enabled
- An API key generated from the [Rhombus Console](https://console.rhombussystems.com/settings/integrations/api-tokens/), with the narrowest role the assistant needs (see [Permissions](https://developer.rhombus.com/authentication/permissions#least-privilege))
- **Node.js 18+** (for npx) or **Docker** (for container-based setup)

## Setup

**Claude Code**

Add the Rhombus MCP server with a single command:

```bash
claude mcp add rhombus -- npx --yes --package rhombus-node-mcp mcp-server-rhombus
```

Set your API key as an environment variable:

```bash
export RHOMBUS_API_KEY=YOUR_API_KEY
```

Verify by asking Claude Code:

```text
"List all my Rhombus cameras"
```

**Claude Desktop (npx)**

Add to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "rhombus": {
      "command": "npx",
      "args": ["--yes", "--package", "rhombus-node-mcp", "mcp-server-rhombus"],
      "env": {
        "RHOMBUS_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}
```

> **Tip**: On macOS, this file is located at `~/Library/Application Support/Claude/claude_desktop_config.json`

**Claude Desktop (Docker)**

Run via Docker for an isolated environment:

```json
{
  "mcpServers": {
    "rhombus": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "RHOMBUS_API_KEY=YOUR_API_KEY",
        "rhombussystems/mcp-server-rhombus"
      ],
      "env": {
        "RHOMBUS_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}
```

**Cursor**

Add to your Cursor MCP settings (`Cmd+Shift+P` → "Open MCP settings"):

```json
{
  "mcpServers": {
    "rhombus": {
      "command": "npx",
      "args": ["--yes", "--package", "rhombus-node-mcp", "mcp-server-rhombus"],
      "env": {
        "RHOMBUS_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}
```

Restart Cursor after saving.

**Smithery**

Install automatically via [Smithery](https://smithery.ai/server/@RhombusSystems/rhombus-node-mcp):

```bash
npx -y @smithery/cli install @RhombusSystems/rhombus-node-mcp --client claude
```

## Partner accounts

With a [partner](https://developer.rhombus.com/partner-api-calls) API key, the server can act in one of your client organizations. Set `RHOMBUS_PARTNER_ORG` to the client organization's UUID alongside `RHOMBUS_API_KEY`:

```json
{
  "mcpServers": {
    "rhombus": {
      "command": "npx",
      "args": ["--yes", "--package", "rhombus-node-mcp", "mcp-server-rhombus"],
      "env": {
        "RHOMBUS_API_KEY": "YOUR_PARTNER_API_KEY",
        "RHOMBUS_PARTNER_ORG": "CLIENT_ORG_UUID"
      }
    }
  }
}
```

Over the HTTP transport, send the client organization's UUID in the `x-auth-org` header instead. List your client organizations and their UUIDs with [`getClientsV2`](https://developer.rhombus.com/partner-api-calls#step-1--list-your-client-organizations).

## Example workflows

### Monitor your cameras

Ask your AI assistant:

```text
"Show me the status of all my cameras. Are any offline?"
```

The assistant uses the **camera-tool** to list cameras and check connectivity status.

### Review security alerts

```text
"What policy alerts happened in the last 24 hours? Show me the most critical ones."
```

The assistant uses **policy-alerts-tool** to query recent alerts and **events-tool** for details.

### Check door activity

```text
"Which doors were held open or forced open today?"
```

The assistant uses **door-tool** to read door status and events.

### Search for vehicles

```text
"Has a red Toyota been seen in any camera in the last week?"
```

The assistant uses **lpr-tool** to search license plate recognition data across your cameras.

### Generate a report

```text
"Give me a summary of foot traffic at the front entrance over the past month."
```

The assistant uses **analytics-tool** and **count-tool** for occupancy and traffic data.

## Running locally

To build and run from source:

1. **Clone the repository**

   ```bash
   git clone https://github.com/RhombusSystems/rhombus-node-mcp.git
   cd rhombus-node-mcp
   ```

2. **Install dependencies**

   ```bash
   npm install
   ```

3. **Build and run with Docker**

   ```bash
   docker build -t mcp-server-rhombus .
   ```

   Then update your MCP config to use the local image name `mcp-server-rhombus` instead of `rhombussystems/mcp-server-rhombus`.

## Contributing

The MCP server is open source (MIT license). You can create new tools using the built-in scaffolding:

```bash
npm run create:tool
```

This generates the boilerplate for a new tool in `src/tools/`.

## Resources

- **[GitHub Repository](https://github.com/RhombusSystems/rhombus-node-mcp)**: Source code, issues, and contributions
- **[npm Package](https://www.npmjs.com/package/rhombus-node-mcp)**: Package details and version history
- **[Smithery](https://smithery.ai/server/@RhombusSystems/rhombus-node-mcp)**: One-click installation for supported clients
- **[Beta Feedback](mailto:support@rhombus.com?subject=Rhombus%20MCP%20beta%20feedback)**: Share feedback and help shape development

> **Note**: The Rhombus API MCP Server is in beta. For questions or issues, reach out to <support@rhombus.com>.
