Server data from the Official MCP Registry
MCP server for discovering and controlling TP-Link Tapo smart home devices via AI Agents
About
MCP server for discovering and controlling TP-Link Tapo smart home devices via AI Agents
Security Report
This is a well-structured Rust/Python library for controlling TP-Link Tapo smart devices with an MCP server component. The code demonstrates good security practices including proper credential handling, input validation, and use of established cryptographic libraries. Credentials are passed as parameters and not hardcoded, authentication is required for all device operations, and the code uses standard secure libraries for encryption. Minor code quality observations do not significantly impact the security posture.
7 files analyzed · 3 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
What You'll Need
Set these up before or after installing:
Environment variable: TAPO_MCP_USERNAME
Environment variable: TAPO_MCP_PASSWORD
Environment variable: TAPO_MCP_DISCOVERY_TARGET
Environment variable: TAPO_MCP_API_KEY
Environment variable: TAPO_MCP_DISCOVERY_TIMEOUT
Environment variable: OTEL_EXPORTER_OTLP_ENDPOINT
How to Install
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-mihai-dinculescu-tapo-mcp": {
"env": {
"TAPO_MCP_API_KEY": "your-tapo-mcp-api-key-here",
"TAPO_MCP_PASSWORD": "your-tapo-mcp-password-here",
"TAPO_MCP_USERNAME": "your-tapo-mcp-username-here",
"TAPO_MCP_DISCOVERY_TARGET": "your-tapo-mcp-discovery-target-here",
"TAPO_MCP_DISCOVERY_TIMEOUT": "your-tapo-mcp-discovery-timeout-here",
"OTEL_EXPORTER_OTLP_ENDPOINT": "your-otel-exporter-otlp-endpoint-here"
},
"args": [
"tapo"
],
"command": "uvx"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
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, H200, H500), 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.10"
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.
- tapoviz — audio-reactive and screen-reactive lighting for L920/L930 LED strips, with a local web UI.
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.
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Fetch
Freeby Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
Git
Freeby Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
Paperclip
Freeby Paperclipai · Developer Tools
Trending hip-hop artist momentum scores across four cultural dimensions.
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
mcp-creator-python
Freeby mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
