apiarya avatar

Wemo

apiarya/wemo-mcp-server

Built on pywemo, this server gives Claude direct control over WeMo smart switches and dimmers on your local network. It handles device discovery through parallel UPnP/SSDP scanning plus direct port probing, exposes tools for toggling power and adjusting brightness, and lets you pull HomeKit setup codes when needed. The implementation includes persistent caching with one-hour TTL, automatic retry with exponential backoff, and resources that surface live device state at `devices://` URIs. Configuration lives in YAML or environment variables where you specify your subnet. Reach for this when you want to control Belkin WeMo devices through natural language without cloud dependencies or when you're building home automation workflows that need reliable local access to your switches and dimmers.

tools
9
transport
STDIO
last updated
Feb 22, 2026

Tools

9 tools

Public tool metadata for what this MCP can expose to an agent.

scan_networkDiscover WeMo devices on network using multi-phase UPnP/SSDP + port scanning3 params

Discover WeMo devices on network using multi-phase UPnP/SSDP + port scanning

Parameters* required
max_workersinteger
Concurrent scanning workers (default: 60)
subnetstring
Network subnet in CIDR notation (e.g. 192.168.1.0/24)
timeoutnumber
Port probe timeout in seconds (default: 0.6)
list_devicesList all WeMo devices cached from previous network scans

List all WeMo devices cached from previous network scans

No parameter schema in public metadata yet.

get_device_statusGet real-time state and info for a specific WeMo device1 params

Get real-time state and info for a specific WeMo device

Parameters* required
device_identifierstring
Device name or IP address
control_deviceControl a WeMo device — on, off, toggle, or set brightness3 params

Control a WeMo device — on, off, toggle, or set brightness

Parameters* required
actionstring
Action to performone of on · off · toggle · brightness
brightnessinteger
Brightness level (1-100) for dimmer devices
device_identifierstring
Device name or IP address
rename_deviceRename a WeMo device (change its friendly name)2 params

Rename a WeMo device (change its friendly name)

Parameters* required
device_identifierstring
Current device name or IP address
new_namestring
New friendly name for the device
get_homekit_codeGet the HomeKit setup code for a WeMo device1 params

Get the HomeKit setup code for a WeMo device

Parameters* required
device_identifierstring
Device name or IP address
get_cache_infoGet information about the persistent device cache (age, TTL, device count)

Get information about the persistent device cache (age, TTL, device count)

No parameter schema in public metadata yet.

clear_cacheClear the persistent device cache to force a fresh scan

Clear the persistent device cache to force a fresh scan

No parameter schema in public metadata yet.

get_configurationView current server configuration settings

View current server configuration settings

No parameter schema in public metadata yet.

Sponsors

Readme

WeMo MCP Server

Control WeMo smart home devices through AI assistants using natural language.

mcp-name: io.github.apiarya/wemo

CI codecov Quality Gate Security Rating PyPI version Python 3.10+


View the full README on GitHub

Details

Repository
github.com/apiarya/wemo-mcp-server
Package
wemo-mcp-server
Transport
STDIO
Registry
MCP registry, active