Tapo MCP
Servidor MCP para descobrir e controlar dispositivos inteligentes TP-Link Tapo por meio de Agentes de IA
Documentação
Tapo
Cliente de API Tapo não oficial. Funciona com dispositivos inteligentes Tapo da TP-Link. Testado com lâmpadas (L510, L520, L530, L535, L610, L630), fitas de LED (L900, L920, L930), tomadas (P100, P105, P110, P110M, P115, P125, P125M, TP10), extensões (P300, P304M, P306, P316M), hubs (H100, H110, H200, H500), interruptores (S200B, S200D, S210), sensores (KE100, T100, T110, T300, T310, T315) e câmeras (C120, C210, C220, C225, C325WB, C520WS, TC40, TC70).
Dispositivos Suportados
Consulte /SUPPORTED_DEVICES.md para ver os dispositivos suportados e a matriz de recursos.
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?;
Exemplos
export TAPO_USERNAME=
export TAPO_PASSWORD=
export IP_ADDRESS=
cargo run --example tapo_l530
Veja todos os exemplos em /tapo/examples.
Biblioteca Python
Uso
pip install tapo
client = ApiClient("<tapo-username>", "tapo-password")
device = await client.p110("<device ip address>")
await device.on()
Exemplos
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
Veja todos os exemplos em /tapo-py/examples.
Servidor MCP
Um servidor MCP que expõe dispositivos Tapo como ferramentas e recursos chamáveis por IA por meio do Model Context Protocol. Consulte /tapo-mcp/README.md para configuração e uso.
Projetos da Comunidade
- tapo-rest — um wrapper REST desta biblioteca que pode ser implantado como serviço ou servir como exemplo avançado.
- tapoviz — iluminação reativa a áudio e tela para fitas de LED L920/L930, com interface web local.
Solução de Problemas
Consulte /TROUBLESHOOTING.md para soluções de problemas comuns.
Contribuições
Contribuições são bem-vindas e incentivadas! Consulte /CONTRIBUTING.md.
Patrocinadores
Um grande agradecimento aos patrocinadores deste projeto!
Créditos
Criado e mantido por Mihai Dinculescu.
Inspirado por petretiandrea/plugp100 e python-kasa/python-kasa.