Tapo
Control TP-Link Tapo smart home devices (lights, plugs, strips) via [Tapo MCP](https://github.com/mihai-dinculescu/tapo/tree/main/tapo-mcp).
Description
name: tapo description: Control TP-Link Tapo smart home devices (lights, plugs, strips) via Tapo MCP. metadata: { "openclaw": { "emoji": "📦", "requires": { "bins": ["npx"] }, }, }
Tapo
Control Tapo devices using npx mcporter call tapo.<tool>.
Setup
You need a Tapo MCP server running on your network (HTTP transport). Bearer token auth is recommended.
-
Add the Tapo server:
npx mcporter config add tapo http://<TAPO_MCP_IP> \ --transport http \ --header "Authorization=Bearer <YOUR_TOKEN>" \ --scope home -
Verify:
npx mcporter list tapo --schemaYou should see
list_devices,check_device,get_device_state, andcontrol_device.
See references/setup.md for the full walkthrough, config management, and troubleshooting.
Tools
list_devices
List all Tapo devices on the network.
npx mcporter call tapo.list_devices
Returns each device's id, name, model, ip, set_capabilities, get_capabilities, and children (for power strips).
check_device
Verify a device ID matches at a given IP.
npx mcporter call tapo.check_device id="<DEVICE_ID>" ip="<IP>"
get_device_state
Get a device's current state. Automatically runs check_device first.
npx mcporter call tapo.get_device_state id="<DEVICE_ID>" ip="<IP>" capability='{"type": "DeviceInfo"}'
control_device
Control a device. Automatically runs check_device first.
# Turn on
npx mcporter call tapo.control_device id="<DEVICE_ID>" ip="<IP>" capabilities='[{"type": "OnOff", "value": true}]'
# Turn off
npx mcporter call tapo.control_device id="<DEVICE_ID>" ip="<IP>" capabilities='[{"type": "OnOff", "value": false}]'
# Set brightness (1-100, lights only)
npx mcporter call tapo.control_device id="<DEVICE_ID>" ip="<IP>" capabilities='[{"type": "Brightness", "value": 50}]'
# Set color (color lights only)
npx mcporter call tapo.control_device id="<DEVICE_ID>" ip="<IP>" capabilities='[{"type": "Color", "value": "Coral"}]'
# Set multiple capabilities at once
npx mcporter call tapo.control_device id="<DEVICE_ID>" ip="<IP>" capabilities='[{"type": "Color", "value": "Coral"}, {"type": "Brightness", "value": 50}]'
Usage rules
- Always run
list_devicesfirst if you don't have a recent device list. Cache results for up to 30 minutes. - Use the device
idandipfrom the list — never guess or hardcopy these values. - For power strips (e.g. P304M), children have their own
id. Use the childidwith the parent'sip.
Reviews (0)
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!