Tapo MCP
tapo
An unofficial client of the TP-Link Tapo smart device API in Rust and Python with an MCP server: bulbs, strips and P100 and P110 plugs on the local network
- 854 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- Controls physical devices at home
- A Tapo account login and password are needed
- The project is unofficial
Install
- Works in
Manual install
pip install tapoFor Rust there is the tapo package on crates.io. See the project README for launching the MCP server.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- Controls physical devices at home
- A Tapo account login and password are needed
- The project is unofficial
This is third-party code. Review the repository files before installing.
What it does
The project provides Rust and Python libraries and an MCP server for controlling TP-Link Tapo smart devices: bulbs, strips, P100 and P110 plugs and others. The devices work on the local network, and a Tapo account login and password are needed to sign in. The Python library installs with `pip install tapo`, and there is a package on crates.io for Rust. Version 0.11.1 from 04.10.2026, MIT license. See the project README for the command to launch the MCP server.
Who it is for. For owners of Tapo devices who want to control lights and plugs from an agent or from their own Python and Rust scripts.
Good fit when
- You need to turn Tapo lights and plugs on by agent commands
- You need a Python or Rust library for Tapo devices
- You need to read data from smart plugs such as consumption
Not a fit when
- You need an official TP-Link client: the project is unofficial
- You are not ready to let an agent control physical devices at home
Example request
Turn off the plug with the heater in the garage and show how much energy it consumed over the dayMCP
- Transport
- stdio
- Authentication
- API key
Limitations
The project is unofficial and not affiliated with TP-Link. The agent controls physical devices, so think about which plugs and bulbs it can reach. A Tapo account login and password are needed and they stay with you. The commands for launching the MCP server in the README are outside our check: use the project's instructions.
How to disable. Remove the package (pip uninstall tapo), take the MCP server out of the client config and change the Tapo account password if you put it into the config.
FAQ
What can the project do?
Control TP-Link Tapo smart devices: bulbs, strips, P100 and P110 plugs, in Rust and Python, with an MCP server.
Is it official?
No, the project is unofficial and not affiliated with TP-Link.
How do I install the library?
pip install tapo for Python, the tapo package on crates.io for Rust.
Discussion
No questions or reviews yet.
Related
MCP serversExperimental Twilio MCP server: Twilio public APIs as tools, filtered by service and tag
Local MCP server for product search, cart and delivery with Pyaterochka
An MCP server for Home Assistant: the agent reads smart-home state and controls devices through your instance
Zapier's official MCP plugin: the agent gets actions across thousands of apps through your Zapier account
MCP server for Home Assistant: an agent reads device states, controls them and edits smart home dashboards
Telegram bot over a 1C MCP server
Telegram Bot for 1С MCP Integration
A Python bot that answers natural-language questions about 1C data in Telegram, calling a 1C MCP server's tools through a chosen AI model
README in short
The README describes an unofficial Tapo device API client in Rust and Python with an MCP server. MIT license.