- Home
- MCP servers
- Crestron Home
Crestron Home
- 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.
-
Download the MCP server package files. You should have crestron_mcp.py and requirements.txt.
-
Install dependencies.
pip install -r requirements.txt
Configure and run the server
-
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.
-
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.