echonetlite-mcp
Allows control of Mitsubishi air conditioners via ECHONETLite, including setting operation mode, temperature, fan speed, airflow direction, and reading temperature/humidity sensor data.
Provides tools for controlling Panasonic air conditioners via ECHONETLite, including setting operation mode, temperature, fan speed, airflow direction, and reading temperature/humidity sensor data.
Enables control of Toshiba air conditioners via ECHONETLite, including setting operation mode, temperature, fan speed, airflow direction, and reading temperature/humidity sensor data.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@echonetlite-mcpturn on the air conditioner and set to 24 degrees"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
echonetlite-mcp
An MCP (Model Context Protocol) server for ECHONETLite home automation — control air conditioners and read sensors via the Model Context Protocol.
ECHONETLite is a Japanese IoT protocol widely used in smart home devices, particularly HVAC systems by major manufacturers like Daikin, Panasonic, Mitsubishi Electric, and Toshiba.
Features
🌡️ Real-time HVAC monitoring — temperature, humidity, operating status
❄️ Full climate control — mode, fan speed, airflow direction, swing
🔍 Network device discovery — find ECHONETLite devices via multicast UDP
⚡ Real-time notifications — async updates from device multicast listeners
📦 TypeScript-first — full type definitions included
🔌 MCP compatible — works with any MCP client (Claude Desktop, LM Studio, VS Code extensions, etc.)
Related MCP server: OXII Smart Home MCP Server
Prerequisites
Node.js 18+
An ECHONETLite-compatible device on the same local network
Installation
npm install echonetlite-mcpOr use it as an MCP server directly:
git clone https://github.com/scottyphillips/echonetlite-mcp.git
cd echonetlite-mcp
npm install
npm run buildConfiguration
The server defaults to communicating with a device at 192.168.1.6 on UDP port 3610, using multicast address 224.0.23.0:3610 for discovery and notifications.
Setting the Default Device IP
Option A: Environment variable (recommended)
# Windows CMD
set ECHONET_DEFAULT_HOST=192.168.1.10 && node dist/index.js
# PowerShell
$env:ECHONET_DEFAULT_HOST="192.168.1.10"; node dist/index.js
# Linux/macOS
ECHONET_DEFAULT_HOST=192.168.1.10 node dist/index.jsOption B: Edit config.ts
export const DEFAULT_HOST = '192.168.1.10'; // Change to your device IPPer-Tool Override
Every tool accepts an optional host parameter to override the default for that specific call:
{ "name": "get_device_status", "arguments": { "host": "192.168.1.20" } }Running the Server
# Build first
npm run build
# Run (stdio transport)
node dist/index.jsThe server communicates via stdio, making it compatible with any MCP client.
Integration with AI Clients
Claude Desktop
Add to your Claude Desktop MCP configuration (claude_desktop_config.json):
{
"mcpServers": {
"echonetlite": {
"command": "node",
"args": ["/path/to/echonetlite-mcp/dist/index.js"],
"env": {
"ECHONET_DEFAULT_HOST": "192.168.1.6"
}
}
}
}LM Studio
LM Studio supports MCP servers via stdio transport. Create or edit the MCP config file:
Windows: %APPDATA%\lm-studio\mcp_config.json
macOS/Linux: ~/.config/lm-studio/mcp_config.json
{
"mcpServers": {
"echonetlite-mcp": {
"command": "node",
"args": ["C:\\path\\to\\echonetlite-mcp\\dist\\index.js"],
"env": {
"ECHONET_DEFAULT_HOST": "192.168.1.6"
}
}
}
}VS Code MCP Extension
Configure in your VS Code MCP extension settings:
{
"mcp.servers": [
{
"name": "echonetlite",
"command": "node",
"args": ["/path/to/echonetlite-mcp/dist/index.js"],
"env": {
"ECHONET_DEFAULT_HOST": "192.168.1.6"
}
}
]
}Available Tools
Device Discovery
Tool | Description | Parameters |
| Discover all ECHONETLite devices on the local network |
|
HVAC Control
Tool | Description | Parameters |
| Get full status of the HVAC device |
|
| Turn HVAC ON or OFF |
|
| Set operating mode |
|
| Set target temperature |
|
| Set air flow rate |
|
| Set vertical vane position |
|
| Set horizontal vane position |
|
| Set swing mode function |
|
| Set automatic direction mode |
|
| Set silent operation mode |
|
| Set power-saving mode |
|
Sensor Readings
Tool | Description | Parameters |
| Get room + outdoor temperatures |
|
| Get room humidity |
|
Available Resources
Resource URI | Description |
| Current HVAC status (updated via async notifications from multicast listener) |
| Device property map (GETMAP, SETMAP, NTFMAP) |
EPC Reference Table
EPC | Property | Access | Values |
0x80 | Operation status | Set/Get | 0x30=ON, 0x31=OFF |
0xA0 | Air flow rate | Set/Get | Auto=0x41, Levels=0x31-0x38 |
0xB0 | Operation mode | Set/Get | Auto=0x41, Cool=0x42, Heat=0x43, Dry=0x44, Fan-only=0x45 |
0xB3 | Set temperature | Set/Get | 0-50°C (signed int) |
0xBB | Room temperature | Get | -127 to 125°C (signed int) |
0xBE | Outdoor temperature | Get | Signed int |
Example Prompts
Try these natural language prompts with your MCP client:
"Turn on my air conditioner"→ callsset_operationwithoperation="on""Set temperature to 23 degrees"→ callsset_temperaturewithtemperature=23"Switch to cooling mode"→ callsset_operating_modewithmode="cool""What are the current temperatures?"→ callsget_temperatures"Find all ECHONET devices on my network"→ callsdiscover_devices"Set fan speed to level 3"→ callsset_fan_speedwithspeed="level3"
Project Structure
echonetlite-mcp/
├── src/
│ ├── index.ts # MCP server entry point
│ ├── echonetlite.ts # ECHONETLite client wrapper
│ ├── devices/
│ │ └── homeAirConditioner.ts # HVAC device handler
│ ├── types.ts # TypeScript type definitions
│ └── config.ts # Configuration constants
├── package.json
├── tsconfig.json
├── LICENSE
└── README.mdDevelopment
# Clone and install dependencies
git clone https://github.com/scottyphillips/echonetlite-mcp.git
cd echonetlite-mcp
npm install
# Build TypeScript
npm run build
# Watch mode for development
npm run dev
# Run the server
node dist/index.jsReferences
License
MIT License — see LICENSE for details.
Support
For issues, questions, or contributions, please open an issue on GitHub.

Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/scottyphillips/echonetlite-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server