Tapo MCP
MCP server for discovering and controlling TP-Link Tapo smart home devices via AI Agents
Tapo
Unofficial Tapo API Client. Works with TP-Link Tapo smart devices. Tested with light bulbs (L510, L520, L530, L535, L610, L630), light strips (L900, L920, L930), plugs (P100, P105, P110, P110M, P115), power strips (P300, P304M, P306, P316M), hubs (H100), switches (S200B, S200D, S210) and sensors (KE100, T100, T110, T300, T310, T315).
Supported Devices
See /SUPPORTED_DEVICES.md for the supported devices and feature matrix.
Rust Library
Usage
Cargo.toml
[dependencies]
tapo = "0.8"
main.rs
let device = ApiClient::new("<tapo-username>", "tapo-password")
.p110("<device ip address>")
.await?;
device.on().await?;
Examples
export TAPO_USERNAME=
export TAPO_PASSWORD=
export IP_ADDRESS=
cargo run --example tapo_l530
See all examples in /tapo/examples.
Python Library
Usage
pip install tapo
client = ApiClient("<tapo-username>", "tapo-password")
device = await client.p110("<device ip address>")
await device.on()
Examples
cd tapo-py
uv venv # On the initial run only
uv sync --group dev --locked
uv run maturin develop # On the initial run and whenever the Rust code is modified
export TAPO_USERNAME=
export TAPO_PASSWORD=
export IP_ADDRESS=
python examples/tapo_p110.py
See all examples in /tapo-py/examples.
MCP Server
An MCP server that exposes Tapo devices as AI-callable tools and resources via the Model Context Protocol. See /tapo-mcp/README.md for setup and usage.
Community Projects
- tapo-rest — a REST wrapper of this library that can be deployed as a service or serve as an advanced example.
Contributing
Contributions are welcome and encouraged! See /CONTRIBUTING.md.
Credits
Inspired by petretiandrea/plugp100.
Related Servers
Swift Tarot
Provides tarot card readings, including single card draws, multi-card spreads, and full deck access.
Cookbook Directory
Find, create, and modify recipes
Upstox MCP server
A MCP server for integrating with the Upstox trading API by Upstox.
The Agent Times
Agent economy news with 6 tools. Agents can read articles, get stats, and comment. Earn Bitcoin for contributions.
Memory Anchor
Persistent memory MCP server for AI coding assistants with 5-layer cognitive model, hybrid semantic+keyword search, and checkpoint/resume. Zero cloud, local-first.
porkbun-mcp
MCP server for Porkbun domains and DNS
Sysmetrics
Give your self-hosted agents 'situational awareness.' This MCP server provides a direct interface for agents to query Linux system telemetry, enabling autonomous resource monitoring, proactive alerting, and interactive troubleshooting via any MCP-compatible client.
Lichess MCP
Interact with the Lichess chess platform using natural language.
Weather
Provides real-time weather data, forecasts, and alerts using the OpenWeatherMap API.
Say MCP Server
A text-to-speech server using the macOS `say` command.