| Developer: | VTMikel's Plugins Like this plugin? Show your appreciation! |
| Category: | Hubs and Protocol Bridges |
| Github: | Github Repo |
| Assistance: | Get help! |
| Plugin ID: | com.vtmikel.mcp_server |
| Latest release: | v2026.0.1 released on March 21, 2026 |
| Release downloaded: | 0 times |
| Requires: | Indigo v2024.2.0 or higher |
| (Check the Releases tab below for older releases that may have different requirements) | |
| Download release v2026.0.1 |
A Model Context Protocol (MCP) server plugin that enables AI assistants like Claude to interact with your Indigo home automation system through natural language queries.
Search, analyze, and control your Indigo devices using natural language:
npx commandbrew install nodenpx --versionclaude_desktop_config.jsonThe MCP Server Indigo device is what creates the actual MCP Server.
⚠️ IMPORTANT: All MCP connections require authentication using an Indigo API key as a Bearer token.
How to obtain API keys:
secrets.json file
with local secrets
- Location: /Library/Application Support/Perceptive Automation/Indigo [VERSION]/Preferences/secrets.json
- See documentation link above for JSON format details
- Note: Restart Indigo Web Server after creating/modifying this fileRequirements:
- Node.js: Required for MCP client connection (Download)
- Provides npx command used by Claude Desktop configuration
- Install via Homebrew: brew install node
- Or download from nodejs.org
For Claude Desktop -- Add one of the following configurations to
~/Library/Application Support/Claude/claude_desktop_config.json based on your use case:
In all cases, you will need an API Key. For this, you have two choices:
secrets.json file (
see documentation)Use when:
{
"mcpServers": {
"indigo": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://your-reflector-url.indigodomo.net/message/com.vtmikel.mcp_server/mcp/",
"--header",
"Authorization:Bearer YOUR_REFLECTOR_API_KEY"
]
}
}
}
Setup:
your-reflector-url.indigodomo.net with your actual Reflector URLYOUR_REFLECTOR_API_KEY with your Reflector API key{
"mcpServers": {
"indigo": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://your-local-hostname-or-ip:8176/message/com.vtmikel.mcp_server/mcp/",
"--header",
"Authorization:Bearer YOUR_LOCAL_SECRET_KEY"
],
"env": {
"NODE_TLS_REJECT_UNAUTHORIZED": "0"
}
}
}
}
Setup:
/Library/Application Support/Perceptive Automation/Indigo [VERSION]/Preferences/secrets.json
- Restart Indigo Web Server after modifyingyour-local-hostname-or-ip with your Indigo server IP/hostnameYOUR_LOCAL_SECRET_KEY with your generated local secretNODE_TLS_REJECT_UNAUTHORIZED=0 disables certificate validation (required for self-signed certs)If you have HTTPS disabled on your Indigo Web Server.
{
"mcpServers": {
"indigo": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"http://your-local-hostname-or-ip:8176/message/com.vtmikel.mcp_server/mcp/",
"--allow-http",
"--header",
"Authorization:Bearer YOUR_LOCAL_SECRET_KEY"
]
}
}
}
Setup:
/Library/Application Support/Perceptive Automation/Indigo [VERSION]/Preferences/secrets.json
- Restart Indigo Web Server after modifyingYOUR_LOCAL_SECRET_KEY with your generated local secretyour-local-hostname-or-ip with your server IP/hostname for LAN accessNote: For VS Code, Cursor, or Claude Code CLI, see the "VS Code / Cursor / Claude Code Configuration" section below for direct HTTP configuration.
These clients support direct HTTP transport which is simpler and more reliable than the mcp-remote proxy.
Add to your MCP settings file:
- VS Code: .vscode/mcp.json or VS Code settings
- Cursor: Cursor MCP settings
- Claude Code: ~/.claude.json or project .mcp.json
{
"mcpServers": {
"indigo": {
"type": "http",
"url": "http://localhost:8176/message/com.vtmikel.mcp_server/mcp/",
"headers": {
"Authorization": "Bearer YOUR_LOCAL_SECRET_KEY"
}
}
}
}
{
"mcpServers": {
"indigo": {
"type": "http",
"url": "http://YOUR_INDIGO_IP:8176/message/com.vtmikel.mcp_server/mcp/",
"headers": {
"Authorization": "Bearer YOUR_LOCAL_SECRET_KEY"
}
}
}
}
Replace YOUR_INDIGO_IP with your Indigo server's LAN IP address (e.g., 192.168.1.100).
{
"mcpServers": {
"indigo": {
"type": "http",
"url": "https://your-reflector-id.indigodomo.net/message/com.vtmikel.mcp_server/mcp/",
"headers": {
"Authorization": "Bearer YOUR_REFLECTOR_API_KEY"
}
}
}
}
Why direct HTTP? The
mcp-remoteproxy used by Claude Desktop requests OAuth endpoints that Indigo doesn't implement. Direct HTTP transport avoids this issue entirely.
Important: To handle large Indigo installations, list and search tools support pagination:
limit and offset to paginate through resultstotal_count, offset, has_more for navigationExample:
# Get first 50 devices
list_devices(limit=50, offset=0)
# Get next 50 devices
list_devices(limit=50, offset=50)
# Search with pagination
search_entities("bedroom lights", limit=20)
Tools with Pagination: search_entities, list_devices, list_variables, list_action_groups, get_devices_by_state
list_devices({"onState": true}) for state queries vs search_entities("lights")When you first install the plugin and when devices are added or modified, the following device information is sent to OpenAI to create semantic search capabilities:
For Devices:
For Variables:
For Action Groups:
What is NOT sent:
This data is used only to generate embeddings (mathematical representations) that enable natural language search. The embeddings are stored locally on your Indigo server.
NODE_TLS_REJECT_UNAUTHORIZED=0 (see Scenario 3 above)| Released on: | March 21, 2026 |
| Requires: | Indigo v2024.2.0+ |
| Downloaded: | 0 times |
| Download this release | |
*/* Accept header — Fixes internal server error when MCP clients send Accept: */* instead of application/json.headers key, causing Indigo Web Server to return generic errors instead of proper error details.| Released on: | Jan. 17, 2026 |
| Requires: | Indigo v2024.2.0+ |
| Downloaded: | 2 times |
| Download this release | |
langgraph, langgraph-checkpoint, langgraph-prebuilt, langgraph-sdk (never imported)influxdb-client (code uses legacy 1.x influxdb only)pydantic-settings, python-dotenv, dicttoxmlopenai >=2.15.0 (was >=2.3.0)tiktoken >=0.12.0 (was >=0.11.0)pydantic >=2.12.5 (was >=2.12.2)jinja2 >=3.1.5 (was >=3.1.0)lancedb <0.27.0 (0.26+ deprecates Intel Mac support)langsmith <0.6.0 (0.6+ requires Python 3.10+)matplotlib <4.0.0Full Changelog: https://github.com/mlamoure/indigo-mcp-server/compare/v2025.1.5...v2025.1.6
| Released on: | Dec. 22, 2025 |
| Requires: | Indigo v2024.2.0+ |
| Downloaded: | 2 times |
| Download this release | |
Fixes internal server error when MCP clients send Accept: */* header.
*/* (wildcard) as valid Accept header in addition to application/json and text/event-stream"headers" key to 406 response in mcp_handler.py"headers" key to 500 error response in plugin.pyThe missing "headers" key in error responses caused Indigo Web Server to return a generic "internal server error" instead of the proper error response. Clients like mcp-remote send Accept: */* which was incorrectly rejected.
Related to #5 (investigation ongoing)
| Released on: | Nov. 6, 2025 |
| Requires: | Indigo v2024.2.0+ |
| Downloaded: | 2 times |
| Download this release | |
_restart_mcp_server_from_device() method callsFixes https://github.com/mlamoure/indigo-mcp-server/issues/4