Tapo MCP
Servidor MCP para descubrir y controlar dispositivos inteligentes TP-Link Tapo mediante Agentes de IA
Documentación
Tapo
Cliente no oficial de la API de Tapo. Funciona con dispositivos inteligentes Tapo de TP-Link. Probado con bombillas (L510, L520, L530, L535, L610, L630), tiras de luz (L900, L920, L930), enchufes (P100, P105, P110, P110M, P115, P125, P125M, TP10), regletas (P300, P304M, P306, P316M), hubs (H100, H110, H200, H500), interruptores (S200B, S200D, S210), sensores (KE100, T100, T110, T300, T310, T315) y cámaras (C120, C210, C220, C225, C325WB, C520WS, TC40, TC70).
Dispositivos Compatibles
Consulta /SUPPORTED_DEVICES.md para ver los dispositivos compatibles y la matriz de funciones.
Biblioteca Rust
Uso
Cargo.toml
[dependencies]
tapo = "0.11"
main.rs
let device = ApiClient::new("<tapo-username>", "tapo-password")
.p110("<device ip address>")
.await?;
device.on().await?;
Ejemplos
export TAPO_USERNAME=
export TAPO_PASSWORD=
export IP_ADDRESS=
cargo run --example tapo_l530
Consulta todos los ejemplos en /tapo/examples.
Biblioteca Python
Uso
pip install tapo
client = ApiClient("<tapo-username>", "tapo-password")
device = await client.p110("<device ip address>")
await device.on()
Ejemplos
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
Consulta todos los ejemplos en /tapo-py/examples.
Servidor MCP
Un servidor MCP que expone dispositivos Tapo como herramientas y recursos invocables por IA a través del Protocolo de Contexto de Modelo. Consulta /tapo-mcp/README.md para la configuración y el uso.
Proyectos de la Comunidad
- tapo-rest — un envoltorio REST de esta biblioteca que se puede implementar como servicio o servir como ejemplo avanzado.
- tapoviz — iluminación reactiva a audio y pantalla para tiras LED L920/L930, con una interfaz web local.
Solución de Problemas
Consulta /TROUBLESHOOTING.md para soluciones a problemas comunes.
Contribuciones
¡Las contribuciones son bienvenidas y alentadas! Consulta /CONTRIBUTING.md.
Patrocinadores
¡Un gran agradecimiento a los patrocinadores de este proyecto!
Créditos
Creado y mantenido por Mihai Dinculescu.
Inspirado por petretiandrea/plugp100 y python-kasa/python-kasa.