amvaswani/mcp-tapo-smart-home
MCP server for controlling TP-Link Tapo smart home devices via Claude Code
Platform-specific configuration:
{
"mcpServers": {
"mcp-tapo-smart-home": {
"command": "npx",
"args": [
"-y",
"mcp-tapo-smart-home"
]
}
}
}Add the config above to .claude/settings.json under the mcpServers key.
MCP server for controlling TP-Link Tapo smart home devices via Claude Code. Built with FastMCP and the python-kasa library.
cd tapo-mcp
# Create virtual environment and install dependencies
python -m venv .venv
source .venv/bin/activate
pip install mcp[cli] python-kasaThis server reads your TP-Link/Tapo account credentials from the macOS Keychain — no passwords are stored in code or config files.
Store your credentials:
security add-generic-password -a "your-email@example.com" -s "tapo-mcp" -w "your-password"To update existing credentials:
security add-generic-password -a "your-email@example.com" -s "tapo-mcp" -w "new-password" -UTo verify they're stored:
security find-generic-password -s "tapo-mcp"Add to your Claude Code MCP config (project-level .mcp.json or ~/.claude.json):
{
"mcpServers": {
"tapo": {
"command": "/path/to/tapo-mcp/.venv/bin/python",
"args": ["/path/to/tapo-mcp/server.py"]
}
}
}No environment variables or credentials are passed in the config — they are securely read from macOS Keychain at runtime.
| Tool | Description | |------|-------------| | discover_devices | Scan the local network for all Tapo devices | | get_device_info | Get
Loading reviews...