Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| scan_network | Scan network for WeMo devices using pywemo discovery. This tool scans the specified subnet for WeMo devices by:
Args:Returns: |
| list_devices | List all discovered WeMo devices from the cache. Returns a list of devices that were found in previous network scans. Run scan_network first to populate the device cache. Returns |
| get_cache_info | Get information about the persistent device cache. Returns information about the cache file including age, expiration status, and device count. Useful for determining if a rescan is needed. Returns |
| clear_cache | Clear the persistent device cache. Removes the cache file and clears in-memory cache. Useful when devices have changed or cache is corrupted. Run scan_network after clearing to rebuild the cache. Returns |
| get_configuration | Get current server configuration. Returns all configuration settings including network parameters, cache settings, and logging levels. Useful for debugging or verifying environment variable overrides. Returns |
| get_device_status | Get the current status of a WeMo device. Retrieves the current state and information for a device by name or IP address. The device must have been discovered via scan_network first. Args:Returns: |
| control_device | Control a WeMo device (turn on, off, toggle, or set brightness). Controls a device by sending turn on, turn off, or toggle commands. For dimmer devices, you can also set the brightness level (1-100). The device must have been discovered via scan_network first. Args:Returns: |
| rename_device | Rename a WeMo device (change its friendly name). Changes the friendly name of a WeMo device. This is the name that appears in the WeMo app and is used to identify the device. The device must have been discovered via scan_network first. After renaming, the device cache will be updated with the new name. You may want to run scan_network again to refresh the device list. Args:Returns: |
| get_homekit_code | Get the HomeKit setup code for a WeMo device. Retrieves the HomeKit setup code (HKSetupCode) for devices that support HomeKit integration. This code can be used to add the device to Apple Home. The device must have been discovered via scan_network first. Note: Not all WeMo devices support HomeKit. If a device doesn't support HomeKit or doesn't have a setup code, an error will be returned. Args:Returns: |
| show_device_dashboard | Show an interactive WeMo device dashboard inline in the host. Returns rich HTML showing all cached devices as cards with Toggle / On / Off buttons. Supported in Claude Desktop, VS Code, ChatGPT, Goose and any other MCP Apps-compatible host (spec: SEP-1865). Text-only fallback: use list_devices instead. |
| show_device_status_ui | Show a device status card with interactive controls. Returns rich HTML for a single device showing its name, IP, model, and On / Off / Toggle buttons. Supported in Claude Desktop, VS Code, ChatGPT, Goose and any other MCP Apps-compatible host. Args:Text-only fallback: use get_device_status + control_device instead. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| discover-devices | Scan the network for WeMo devices and summarise what was found. |
| device-status-report | Get a full status report of all known WeMo devices. |
| activate-scene | Set all WeMo devices to match a named scene (e.g. movie night, bedtime, wake up). |
| troubleshoot-device | Diagnose and attempt to fix issues with a specific WeMo device. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| list_device_resources | List all discovered WeMo devices as MCP resources. Returns an index of every device currently in the cache, with a URI that can be fetched individually via the device://{device_id} resource. Useful for MCP clients that want to enumerate available devices without calling the scan_network or list_devices tools. |