360 Secure SkillHub
360 安全技能中心

tapo

该 Skill 通过 npx mcporter 调用本地网络上的 Tapo MCP 服务器(HTTP 传输,Bearer token),实现 Tapo 智能灯、插座、排插、H100/H200/H500 网关子设备与摄像头的发现、状态查询、开关/亮度/颜色控制和单帧 JPEG 快照抓取,并要求先用 list_devices 获取 id 与 ip 后再操作。

mihai-dinculescu
mihai-dinculescu
热度 46.27
最近更新 2026-09-28 22:50:37
分类:自动化依赖:MCP 服务 / 代码执行应用场景:自动化脚本 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add tapo
Metadata
name
tapo
description
Control TP-Link Tapo smart home devices (lights, plugs, power strips, hubs and sensors, cameras) via [Tapo MCP](https://github.com/mihai-dinculescu/tapo/tree/main/tapo-mcp).
version
0.5.1
metadata
{"openclaw":{"emoji":"📦","requires":{"bins":["npx"]}}}

Tapo

Control Tapo devices using npx mcporter call tapo.<tool>.

Setup

You need a Tapo MCP server (v0.5.1 or later) running on your network (HTTP transport). Bearer token auth is recommended (and required when the server binds to a non-loopback address). When connecting by LAN IP or hostname, the server's TAPO_MCP_ALLOWED_HOSTS must include that host, or requests get 403 Forbidden.

  1. Add the Tapo server:

    npx mcporter config add tapo http://<TAPO_MCP_IP> \
      --transport http \
      --header "Authorization=Bearer <YOUR_TOKEN>" \
      --scope home
    
  2. Verify:

    npx mcporter list tapo --schema
    

    You should see list_devices, check_device, get_device_state, control_device, and take_snapshot.

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 and the H100, H200 and H500 hubs).

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.

# Device info
npx mcporter call tapo.get_device_state id="<DEVICE_ID>" ip="<IP>" capability='{"type": "DeviceInfo"}'

# Trigger logs (S200, T100, T110, T300 hub children) — newest first
npx mcporter call tapo.get_device_state id="<CHILD_ID>" ip="<HUB_IP>" capability='{"type": "TriggerLogs", "page_size": 20, "start_id": 0}'

# Last 24h temperature/humidity records (T310, T315 hub children)
npx mcporter call tapo.get_device_state id="<CHILD_ID>" ip="<HUB_IP>" capability='{"type": "TemperatureHumidityRecords"}'

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}]'

take_snapshot

Capture a still JPEG snapshot from a Tapo camera (~640x360). Automatically runs check_device first. Requires TAPO_MCP_CAMERA_USERNAME and TAPO_MCP_CAMERA_PASSWORD configured on the server (Camera Settings > Advanced Settings > Camera Account in the Tapo app).

npx mcporter call tapo.take_snapshot id="<DEVICE_ID>" ip="<IP>"

Usage rules

  1. Always run list_devices first if you don't have a recent device list. Cache results for up to 30 minutes.
  2. Use the device id and ip from the list — never guess or hardcopy these values.
  3. For power strips (e.g. P304M) and the H100, H200 and H500 hubs, children have their own id. Use the child id with the parent's ip.