- Home
- MCP servers
- Indigo
Indigo
- python
1
GitHub Stars
python
Language
6 months ago
First Indexed
2 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.
You install and configure the Indigo MCP Server to enable natural language interactions with your Indigo home automation system. This server lets AI assistants understand and control your devices through conversations, queries, and scenes, making it easier to search, analyze, and act on your Indigo setup.
How to use
You connect an MCP client to the Indigo MCP Server to issue natural language requests. Practical uses include asking to list devices by type or location, querying current device states, turning devices on or off, adjusting thermostat targets, setting RGB or white color values, and executing scenes or action groups. You can interact with the server from Claude Desktop, Claude Code, VS Code, or Cursor by configuring the MCP client to talk to the Indigo MCP Server endpoint that you enable.
How to install
Prerequisites you need before installation:
-
Node.js and npm (for MCP client connectivity and tooling)
-
Indigo Domotics 2024.2 or later and macOS 10.15 or later (Catalina) on an Intel Mac or Apple Silicon, with AVX2 support for vector search if applicable
Steps to set up the MCP server within Indigo and prepare clients:
- Install Node.js if it is not already installed to gain access to the npx command
-
macOS via Homebrew: brew install node
-
Or download from nodejs.org
-
Add the MCP Server plugin to Indigo through the Plugin Manager
-
In the plugin preferences, enter your OpenAI API key if you plan to use semantic search features
-
Create a new MCP Server device in Indigo named something like “MCP Server” to host the server instance
-
Allow time for the server to index your Indigo database on first run
-
For Claude Desktop, Claude Code, or other clients, configure the MCP client using the appropriate configuration file. The following content shows remote and local connection examples you can adapt for your environment.
{
"mcpServers": {
"indigo": {
"type": "http",
"url": "https://your-reflector-url.indigodomo.net/message/com.vtmikel.mcp_server/mcp/",
"headers": {
"Authorization": "Bearer YOUR_REFLECTOR_API_KEY"
}
}
}
}
Additional sections
Security, configuration, and usage notes help you keep a safe and smooth experience.
Configuration and security notes
Authentication is required for all MCP connections using an Indigo API key presented as a Bearer token.
Example MCP server configurations
The following HTTP-based configurations show how to connect Claude or other MCP clients to Indigo over HTTPS or HTTP. Replace placeholders with your actual host, URL, and keys.
{
"type": "http",
"name": "indigo_reflector",
"url": "https://your-reflector-url.indigodomo.net/message/com.vtmikel.mcp_server/mcp/",
"headers": {
"Authorization": "Bearer YOUR_REFLECTOR_API_KEY"
},
"args": []
}
{
"type": "http",
"name": "indigo_lan_https",
"url": "https://your-local-hostname-or-ip:8176/message/com.vtmikel.mcp_server/mcp/",
"headers": {
"Authorization": "Bearer YOUR_LOCAL_SECRET_KEY"
},
"env": {
"NODE_TLS_REJECT_UNAUTHORIZED": "0"
},
"args": []
}
{
"type": "http",
"name": "indigo_lan_http",
"url": "http://your-local-hostname-or-ip:8176/message/com.vtmikel.mcp_server/mcp/",
"headers": {
"Authorization": "Bearer YOUR_LOCAL_SECRET_KEY"
},
"args": ["--allow-http"]
}
Available tools
search_entities
Natural language search across devices, variables, action groups, and more with pagination support.
list_devices
Retrieve all devices with optional filtering and pagination.
list_variables
Fetch all variables and their current values with pagination.
list_action_groups
List all action groups or scenes with pagination.
get_devices_by_state
Find devices matching specific state conditions with pagination.
device_turn_on
Turn a device on.
device_turn_off
Turn a device off.
device_set_brightness
Set brightness for dimmable devices.
device_set_rgb_color
Set RGB color using 0-255 values.
thermostat_set_heat_setpoint
Set heating target temperature for thermostats.
action_execute_group
Execute an action group or scene.
analyze_historical_data
AI-powered historical analysis requiring InfluxDB.