Crestron Home

Provides a production-ready MCP server to discover and control Crestron Home devices via natural language.
  • python

0

GitHub Stars

python

Language

6 months ago

First Indexed

3 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "desluca-crestron-mcp": {
      "command": "python",
      "args": [
        "crestron_mcp.py"
      ],
      "env": {
        "HOST": "YOUR_CRESTRON_HOST_IP_OR_HOSTNAME",
        "AUTH_TOKEN": "YOUR_AUTH_TOKEN"
      }
    }
  }
}

You can control Crestron Home devices through a dedicated MCP server that lets you discover rooms and devices, read sensor data, and execute actions like turning lights on/off, adjusting shades, activating scenes, and managing thermostats using natural language. This server is designed for reliability in production environments and supports multi-language device resolution, batch operations, and secure session handling.

How to use

You interact with the Crestron Home MCP Server through MCP clients. Start by authenticating with the Crestron Home system, then discover rooms and devices to understand what you can control. Use the natural language device resolution tool to map descriptions to exact devices, and combine actions to perform batch changes across multiple devices. You can list scenes, activate a scene, read thermostat and sensor status, and adjust shades, ensuring you receive clear feedback in either Markdown or JSON. The server handles authentication sessions for about 10 minutes and provides helpful error messages when something needs attention. If you want machine-friendly output, request JSON; for human-friendly output, use Markdown.

Practical usage patterns include authenticating, discovering rooms, resolving a device from a natural language utterance, and then issuing control commands. For example, you can resolve a phrase like a lamp in a living room to a specific device, then set its brightness or turn it off. You can also batch control multiple shades to the same position or activate a scene to adjust multiple devices at once. If you receive multiple candidate devices from a resolution, you can refine by providing a preferred room context or selecting a specific device by its ID.

How to install

Prerequisites you need before installing the server are: Python 3.10 or higher, a Crestron Home system with REST API enabled, network access to that system, and an authorization token obtained from the Crestron Home app.

  1. Download the MCP server package files. You should have crestron_mcp.py and requirements.txt.

  2. Install dependencies.

pip install -r requirements.txt

Configure and run the server

  1. Obtain an authorization token from the Crestron Home app by navigating to Installer Settings → System Control Options → Web API Settings and selecting Update Token. Save this token securely.

  2. Run the MCP server using the standard stdin transport.

python crestron_mcp.py

For testing or debugging, you can run with a timeout to limit wall-clock execution time.

timeout 5s python crestron_mcp.py

Integration with Claude Desktop

If you want Claude Desktop to use this MCP server, configure the MCP connection in Claude Desktop's MCP configuration file.

macOS configuration path:

Windows configuration path:

{
  "mcpServers": {
    "crestron": {
      "command": "python",
      "args": ["/path/to/crestron_mcp.py"]
    }
  }
}

Available tools

crestron_authenticate

Establish a session with the Crestron Home system. Must be called first before any other operations.

crestron_list_rooms

Discover all rooms configured in the Crestron Home system.

crestron_list_devices

Discover all devices with optional filters for room and device type.

crestron_get_shades

Get current shade positions and status.

crestron_set_shade_position

Control shade positions with a list of id/position commands.

crestron_list_scenes

List all available scenes with optional filters.

crestron_activate_scene

Activate a scene by its ID.

crestron_get_thermostats

Get thermostat status and capabilities.

crestron_set_thermostat_setpoint

Set thermostat setpoints with type and temperature.

crestron_set_thermostat_mode

Set system mode for thermostats (HEAT, COOL, AUTO, OFF).

crestron_set_thermostat_fan

Set fan mode for thermostats (AUTO, ON).

crestron_get_sensors

Read sensor values such as occupancy, light level, door status, and battery.

crestron_resolve_device

Resolve natural language device descriptions to specific devices using fuzzy matching.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational