PluginBench
MCP Server
Active
MIT

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.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • TAPO_MCP_USERNAME
    required
    secret

    TP-Link Tapo account email

  • TAPO_MCP_PASSWORD
    required
    secret

    TP-Link Tapo account password

  • TAPO_MCP_DISCOVERY_TARGET
    required

    Network target for device discovery (e.g. 192.168.1.255)

  • TAPO_MCP_API_KEY
    secret

    Optional Bearer token for API authentication

  • TAPO_MCP_DISCOVERY_TIMEOUT

    Device discovery timeout in seconds

  • OTEL_EXPORTER_OTLP_ENDPOINT

    Optional OpenTelemetry collector endpoint for tracing

~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "tapo-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/mihai-dinculescu/tapo-mcp:0.5.1"
      ],
      "env": {
        "TAPO_MCP_USERNAME": "<YOUR_TAPO_MCP_USERNAME>",
        "TAPO_MCP_PASSWORD": "<YOUR_TAPO_MCP_PASSWORD>",
        "TAPO_MCP_DISCOVERY_TARGET": "<YOUR_TAPO_MCP_DISCOVERY_TARGET>",
        "TAPO_MCP_API_KEY": "<YOUR_TAPO_MCP_API_KEY>",
        "TAPO_MCP_DISCOVERY_TIMEOUT": "<YOUR_TAPO_MCP_DISCOVERY_TIMEOUT>",
        "OTEL_EXPORTER_OTLP_ENDPOINT": "<YOUR_OTEL_EXPORTER_OTLP_ENDPOINT>"
      }
    }
  }
}

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

What devices does the Tapo MCP server support?

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).

How do I install the Tapo MCP server?

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.

What authentication is required?

You need your TP-Link Tapo username and password to authenticate with the Tapo API and control your devices.

Is this an official TP-Link project?

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.

Can I use this with Cursor or Claude?

Yes, as an MCP server it integrates with any client that supports the Model Context Protocol, including Claude and Cursor.

Is the Tapo MCP server free?

Yes, the project is open-source and available under an open license.

README (reference)

Source of truth, from the repository.

Tapo

License Crates Documentation Crates.io PyPI Python PyPI
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.

0
TypeScript
MIT
View repository →

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.

1
Python
MIT
View repository →

Financial data for AI agents: SEC filings, price history, insider trades, and more.

0
Python
MIT
View repository →

Read-only enterprise research MCP: frameworks, frozen snapshots, sourced results. No trading advice.

1
Python
MIT
View repository →