Tapo MCP
Rank #31,775io.github.mihai-dinculescu/tapo-mcp
MCP server for discovering and controlling TP-Link Tapo smart home devices via AI Agents
What you can do with Tapo MCP
Tapo MCP is a Model Context Protocol (MCP) server published by mihai-dinculescu. It ranks #31,775 of 150,963 active servers on MCP Toplist, and its repository has 858 GitHub stars. Tapo MCP is listed across 2 registries — Official MCP and PulseMCP, with 9 tracked versions. It was first listed on Nov 25, 2024 and most recently updated on Oct 4, 2026.
Not verifiedMCP Toplist has not yet written a checked profile for this server, so the paragraph above is assembled from registry data only. The repository README is the authority on what it does.
What Tapo MCP can and cannot do
Not verifiedMCP Toplist has not catalogued this server's tools or limitations. The repository README lists them.
What you need before using Tapo MCP
The registry listing declares required configuration before first use — typically an API key, token or connection string set via environment variables.
Declared by the Official MCP Registry, last synced Oct 22, 2026. Not independently verified by MCP Toplist.
- TAPO_MCP_USERNAME · required
- TAPO_MCP_PASSWORD · required
- TAPO_MCP_DISCOVERY_TARGET · required
- TAPO_MCP_API_KEY · optional
- TAPO_MCP_DISCOVERY_TIMEOUT · optional
- OTEL_EXPORTER_OTLP_ENDPOINT · optional
Connect Tapo MCP and confirm it works
claude mcp add tapo-mcp -e "TAPO_MCP_USERNAME=<your TAPO_MCP_USERNAME>" -e "TAPO_MCP_PASSWORD=<your TAPO_MCP_PASSWORD>" -e "TAPO_MCP_DISCOVERY_TARGET=<your TAPO_MCP_DISCOVERY_TARGET>" -e "TAPO_MCP_API_KEY=<your TAPO_MCP_API_KEY>" -e "TAPO_MCP_DISCOVERY_TIMEOUT=<your TAPO_MCP_DISCOVERY_TIMEOUT>" -e "OTEL_EXPORTER_OTLP_ENDPOINT=<your OTEL_EXPORTER_OTLP_ENDPOINT>" -- docker run -i --rm ghcr.io/mihai-dinculescu/tapo-mcp:0.5.3Replace each placeholder with your own value before saving.
[mcp_servers.tapo-mcp]
command = "docker"
args = ["run", "-i", "--rm", "ghcr.io/mihai-dinculescu/tapo-mcp:0.5.3"]
[mcp_servers.tapo-mcp.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>"Add to ~/.codex/config.toml. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"tapo-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/mihai-dinculescu/tapo-mcp:0.5.3"
],
"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>"
}
}
}
}Add to claude_desktop_config.json (Settings → Developer → Edit Config). Replace each placeholder with your own value before saving.
{
"mcpServers": {
"tapo-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/mihai-dinculescu/tapo-mcp:0.5.3"
],
"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>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project). Replace each placeholder with your own value before saving.
{
"servers": {
"tapo-mcp": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/mihai-dinculescu/tapo-mcp:0.5.3"
],
"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>"
}
}
}
}Save as .vscode/mcp.json in your workspace. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"tapo-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/mihai-dinculescu/tapo-mcp:0.5.3"
],
"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>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"tapo-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/mihai-dinculescu/tapo-mcp:0.5.3"
],
"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>"
}
}
}
}Replace each placeholder with your own value before saving.
After adding the config, ask your client to list this server's tools. A tool list confirms the connection; an empty list or an error means the server did not start or needs credentials.
What changed, and when this was checked
- First listed
- Nov 25, 2024
- Latest version published
- Oct 4, 2026
- Version history
- 9 versions tracked (below)
- Requirements evidence
- Declared by the Official MCP Registry, last synced Oct 22, 2026. Not independently verified by MCP Toplist.
- Profile checked
- Not yet — purpose, capabilities and requirements above come from registry data only
- Ranking data as of
- Oct 4, 2026
- Official MCP ↗listed since Apr 25, 2026 · still listed
- PulseMCP ↗listed since May 22, 2026 · still listed
Do you maintain Tapo MCP? to correct or enrich this profile.
Available versions (9)
| Version | Published |
|---|---|
| 0.5.3 | Oct 4, 2026 |
| 0.5.2 | Oct 2, 2026 |
| 0.5.1 | Sep 28, 2026 |
| 0.5.0 | Jul 11, 2026 |
| 0.4.0 | May 22, 2026 |
| 0.3.1 | Apr 25, 2026 |
| 0.3.0 | Apr 25, 2026 |
| 0.2.1 | Mar 18, 2026 |
| 0.1.0 | Nov 25, 2024 |
Ranks ahead of 119,188 of 150,963 servers on MCP Toplist.
Show your rank
Maintain this server? Add the live rank badge to your README — it updates automatically as the leaderboard changes.
[](https://mcptoplist.com/server/io.github.mihai-dinculescu%2Ftapo-mcp)<a href="https://mcptoplist.com/server/io.github.mihai-dinculescu%2Ftapo-mcp"><img src="https://mcptoplist.com/badge/io.github.mihai-dinculescu%2Ftapo-mcp.svg" alt="MCP Toplist: Top 25% of 150,963" /></a>Variants: append ?metric=score or ?metric=stars to the image URL.
Frequently asked questions
- Who maintains Tapo MCP?
- Tapo MCP is maintained by mihai-dinculescu, which publishes 1 MCP server (9 total versions) tracked on MCP Toplist.
- Is Tapo MCP listed on the Official MCP Registry?
- Yes — Tapo MCP is listed on the Official MCP Registry, alongside PulseMCP.
- How many versions does Tapo MCP have?
- MCP Toplist tracks 9 versions of Tapo MCP, most recently published on Oct 4, 2026.
- Where can I find the source code for Tapo MCP?
- The source code for Tapo MCP is hosted at github.com/mihai-dinculescu/tapo/tree/HEAD/tapo-mcp.
Do you run this server?
Community projects list the MCP servers behind real agents and apps. Publish yours and this page will link to it.