Tapo MCP MCP Server
io.github.mihai-dinculescu/tapo-mcp
Control TP-Link Tapo smart home devices through AI agents with discovery and automation.
What is the Tapo MCP MCP server?
The Tapo MCP server is an MCP (Model Context Protocol) server that exposes TP-Link Tapo smart home devices as AI-callable tools and resources. It enables AI agents like Claude to discover and control a wide range of Tapo devices including light bulbs, strips, plugs, power strips, hubs, switches, sensors, and cameras.
This server bridges TP-Link Tapo smart home devices and AI agents, allowing you to discover connected devices and control them through natural language commands. It supports dozens of Tapo device models and exposes device capabilities as MCP tools that AI agents can invoke directly.
How to install Tapo MCP
Copy-paste configuration for popular MCP clients.
TAPO_MCP_USERNAMErequiredsecretTP-Link Tapo account email
TAPO_MCP_PASSWORDrequiredsecretTP-Link Tapo account password
TAPO_MCP_DISCOVERY_TARGETrequiredNetwork target for device discovery (e.g. 192.168.1.255)
TAPO_MCP_API_KEYsecretOptional Bearer token for API authentication
TAPO_MCP_DISCOVERY_TIMEOUTDevice discovery timeout in seconds
OTEL_EXPORTER_OTLP_ENDPOINTOptional OpenTelemetry collector endpoint for tracing
Use cases
- Control Tapo smart lights, plugs, and power strips via AI voice or text commands
- Automate smart home routines by having AI agents discover and manage connected devices
- Monitor and interact with Tapo sensors and cameras through an AI interface
- Build intelligent home automation workflows that respond to device state changes
- Query device status and capabilities programmatically through AI agents
Tapo MCP MCP server FAQ
It supports TP-Link Tapo 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), sensors (KE100, T100, T110, T300, T310, T315), and cameras (C210, C220, C225, C325WB, C520WS, TC40, TC70).
The server is available as a Docker container at ghcr.io/mihai-dinculescu/tapo-mcp:0.5.1. Detailed setup instructions are in the tapo-mcp subdirectory of the repository.
You need your TP-Link Tapo username and password to authenticate with the Tapo API and control your devices.
No, this is an unofficial Tapo API client and MCP server created by the community, but it is well-maintained and tested against many real Tapo devices.
Yes, as an MCP server it integrates with any client that supports the Model Context Protocol, including Claude and Cursor.
Yes, the project is open-source and available under an open license.
README (reference)
Source of truth, from the repository.
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), sensors (KE100, T100, T110, T300, T310, T315) and cameras (C210, C220, C225, C325WB, C520WS, TC40, TC70).
Supported Devices
See /SUPPORTED_DEVICES.md for the supported devices and feature matrix.
Rust Library
Usage
Cargo.toml
[dependencies]
tapo = "0.9"
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=
uv run 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.
Troubleshooting
See /TROUBLESHOOTING.md for solutions to common issues.
Contributing
Contributions are welcome and encouraged! See /CONTRIBUTING.md.
Sponsors
A big thank you to the sponsors of this project!
Credits
Inspired by petretiandrea/plugp100.
Related MCP servers

Persistent graph-structured memory for LLMs in TriliumNext Notes — readable and editable by humans.
Deterministic IT asset registry operated by AI agents over MCP. Agents propose, humans approve.
Ranked search over 15k+ live x402 services by real 30-day usage; free top-5, paid depth via x402.
View repository →MCP server for Ubiquiti UniFi Network and Protect. 63 tools, 16 agent skills.

io.github.mikejj-creation/stocksense
Financial data for AI agents: SEC filings, price history, insider trades, and more.
Read-only enterprise research MCP: frameworks, frozen snapshots, sourced results. No trading advice.


