About
Shelly — Model Context Protocol server
README
npm version npm downloads license github repo
MCP server for controlling Shelly Gen2+ devices over your local network.
Features:
- automatic LAN discovery
- strongly typed tools for status, switches, covers, and raw RPC calls
Requirements
- Node.js 20+
- npm 10+
- Shelly Gen2+ devices reachable on your LAN
Install and run
You can run this server in two common ways.
Option A: standalone clone (recommended while developing)
git clone https://github.com/jdgoeij/shelly-mcp-server.git
cd shelly-mcp-server
npm install
npm run build
MCP client config example:
{
"mcpServers": {
"shelly-local": {
"command": "node",
"args": ["./dist/index.js"],
"cwd": "/absolute/path/to/shelly-mcp-server",
"env": {
"SHELLY_DEVICES_FILE": "./devices.local.json",
"SHELLY_DISCOVERY_CONFIG_FILE": "./discovery.config.json",
"SHELLY_TIMEOUT_MS": "5000"
}
}
}
}
Option B: run from npm with npx
Now that the package is published, users can run it without cloning:
- latest release:
{
"mcpServers": {
"shelly-local": {
"command": "npx",
"args": ["-y", "shelly-mcp-server"],
"cwd": "/absolute/path/to/shelly-config",
"env": {
"SHELLY_DEVICES_FILE": "./devices.local.json",
"SHELLY_DISCOVERY_CONFIG_FILE": "./discovery.config.json",
"SHELLY_TIMEOUT_MS": "5000"
}
}
}
}
- pinned version (recommended for reproducible setups):
{
"mcpServers": {
"shelly-local": {
"command": "npx",
"args": ["-y", "[email protected]"],
"cwd": "/absolute/path/to/shelly-config",
"env": {
"SHELLY_DEVICES_FILE": "./devices.local.json",
"SHELLY_DISCOVERY_CONFIG_FILE": "./discovery.config.json",
"SHELLY_TIMEOUT_MS": "5000"
}
}
}
}
Important:
- keep
cwdpointed at a persistent folder where config/data files live - the server reads and writes relative paths from that folder
First-time setup for either option
Create local config files in your chosen cwd folder:
discovery.config.json
{
"cidr": "192.168.1.0/24",
"merge": true,
"timeoutMs": 1500,
"concurrency": 32,
"maxHosts": 512,
"validateTimeoutMs": 5000
}
Then ask your MCP client assistant:
Discover and validate my Shelly devices on 192.168.1.0/24
This creates or updates devices.local.json.
Environment variables
| Variable | Default | Description |
|---|---|---|
SHELLY_DEVICES_FILE |
./devices.local.json |
Path to persisted device inventory |
SHELLY_DISCOVERY_CONFIG_FILE |
./discovery.config.json |
Path to discovery defaults |
SHELLY_TIMEOUT_MS |
5000 |
RPC timeout in milliseconds |
Available tools
| Tool | Description |
|---|---|
shelly_list_devices |
List configured devices |
shelly_get_status |
Get full device status |
shelly_get_device_info |
Get model and firmware info |
shelly_switch_set |
Turn a relay on or off |
shelly_cover_control |
Open, close, stop, or set position |
shelly_rpc_call |
Call any Shelly RPC method |
shelly_discover_and_save_devices |
Discover devices and save to JSON |
shelly_discover_save_and_validate |
Discover, save, and validate connectivity |
shelly_update_device_credentials |
Batch-apply credentials to saved devices |
- Run this server only on trusted machines.
- Never commit
.env,devices.local.json, or cloud credentials. - Review MCP client config before sharing screenshots or logs.
Installing Shelly
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/jdgoeij/shelly-mcp-serverFAQ
Is Shelly MCP free?
Yes, Shelly MCP is free — one-click install via Unyly at no cost.
Does Shelly need an API key?
Yes, it requires environment variables: SHELLY_DEVICES_FILE, SHELLY_DISCOVERY_CONFIG_FILE, SHELLY_TIMEOUT_MS. Unyly injects them into the config during install.
Is Shelly hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Shelly in Claude Desktop, Claude Code or Cursor?
Open Shelly on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectAmap Maps Mcp Server
MCP server for using the AMap Maps API
by duxiaohuiSupabase
Database, auth and storage
by SupabaseEverything
Reference / test server with prompts, resources, and tools.
Git
Tools to read, search, and manipulate Git repositories.
Sequential Thinking
Dynamic and reflective problem-solving through thought sequences.
Time
Time and timezone conversion capabilities.
Compare Shelly with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
