PluginBench
MCP Server

Tapo MCP MCP Server

io.github.mihai-dinculescu/tapo-mcp

What is the Tapo MCP MCP server?

MCP server for discovering and controlling TP-Link Tapo smart home devices via AI Agents

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

Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "tapo-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/mihai-dinculescu/tapo-mcp:0.4.0"
      ],
      "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>"
      }
    }
  }
}
Cursor
~/.cursor/mcp.json
{
  "mcpServers": {
    "tapo-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/mihai-dinculescu/tapo-mcp:0.4.0"
      ],
      "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>"
      }
    }
  }
}
Windsurf
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "tapo-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/mihai-dinculescu/tapo-mcp:0.4.0"
      ],
      "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>"
      }
    }
  }
}
VS Code
.vscode/mcp.json
{
  "servers": {
    "tapo-mcp": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/mihai-dinculescu/tapo-mcp:0.4.0"
      ],
      "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>"
      }
    }
  }
}
Claude Code
claude mcp add tapo-mcp --env TAPO_MCP_USERNAME=<YOUR_TAPO_MCP_USERNAME> --env TAPO_MCP_PASSWORD=<YOUR_TAPO_MCP_PASSWORD> --env TAPO_MCP_DISCOVERY_TARGET=<YOUR_TAPO_MCP_DISCOVERY_TARGET> --env TAPO_MCP_API_KEY=<YOUR_TAPO_MCP_API_KEY> --env TAPO_MCP_DISCOVERY_TIMEOUT=<YOUR_TAPO_MCP_DISCOVERY_TIMEOUT> --env OTEL_EXPORTER_OTLP_ENDPOINT=<YOUR_OTEL_EXPORTER_OTLP_ENDPOINT> -- docker run -i --rm ghcr.io/mihai-dinculescu/tapo-mcp:0.4.0

Related MCP servers

Give your AI agent stealth web scraping with Cloudflare bypass and CSS selection, powered by Scrapling.

67k
Python
BSD-3-Clause
View repository →

Give your AI coding agent full control of a live Chrome browser for automation, debugging, and performance analysis.

45k
TypeScript
Apache-2.0
View repository →

Let AI agents manage your Puter files, websites, and serverless workers over MCP.

43k
TypeScript
AGPL-3.0
View repository →

Browser automation for AI agents via MCP, powering ByteDance's Agent TARS hybrid GUI/DOM browser control.

37k
TypeScript
Apache-2.0
View repository →

Run arbitrary shell commands from an MCP-connected AI agent.

37k
TypeScript
Apache-2.0
View repository →

Filesystem access MCP server from ByteDance's UI-TARS/Agent TARS ecosystem.

37k
TypeScript
Apache-2.0
View repository →