Skip to main content

tplink-deco-mcp-server

CI PyPI

Sponsor

Model Context Protocol server that exposes a TP-Link Deco mesh Wi-Fi network as tools an LLM client (Claude Desktop, Claude Code, etc.) can call. It talks to the router on your local network through the tplink-deco-api SDK — no cloud account involved.

Tools

Tool What it does
list_deco_nodes Deco units of the mesh: model, role, IP, firmware, internet status, backhaul signal.
get_router_performance Gateway CPU and memory usage, online clients and total traffic right now.
get_internet_status WAN cable, IPv4/IPv6 connection state, public address, gateway and DNS.
get_wifi_configuration Every SSID (main, guest, IoT, MLO) with its bands, plus each radio's channel settings. Passwords only with include_passwords: true.
list_clients Devices known to the mesh: name, MAC, IP, network, band, category, current traffic. Filter: online_only.
update_client Rename a device and optionally change its category.
remove_client Forget an offline device.
list_blocked_clients Devices blocked from the internet.
block_client / unblock_client Cut a device off from the internet, or let it back in.
list_address_reservations Fixed IPs reserved by the DHCP server, with the device names.
add_address_reservation / update_address_reservation / remove_address_reservation Reserve, move or release a device's fixed IP.

Tools that change settings are annotated as such, so clients can ask for confirmation before running them.

Install

pip install tplink-deco-mcp-server

Requires Python ≥ 3.14 and a Deco router reachable on the local network.

Configuration

The server reads the router credentials from environment variables:

Variable Required Default
DECO_HOST yes — (IP of the main Deco, such as 192.168.68.1)
DECO_PASSWORD yes — (the router's local admin password)
DECO_USERNAME no admin
DECO_TIMEOUT no 10 (seconds per router request)

Use with Claude Desktop / Claude Code

{
  "mcpServers": {
    "deco": {
      "command": "uvx",
      "args": ["tplink-deco-mcp-server"],
      "env": {
        "DECO_HOST": "192.168.68.1",
        "DECO_PASSWORD": "your-password"
      }
    }
  }
}

Run with Docker

A multi-arch image (linux/amd64, linux/arm64) is published to GitHub Container Registry on every release, tagged with the release version (1.2.0, 1.2, 1) and latest:

docker run -d --name deco-mcp \
  -e DECO_HOST=192.168.68.1 \
  -e DECO_PASSWORD=your-password \
  -p 8000:8000 \
  ghcr.io/roquerodrigo/tplink-deco-mcp-server:latest

The container serves Streamable HTTP at http://localhost:8000/mcp, with a health endpoint at /healthz:

{
  "mcpServers": {
    "deco": {
      "type": "http",
      "url": "http://localhost:8000/mcp"
    }
  }
}

The HTTP endpoint has no authentication of its own: keep it on a trusted network or behind a reverse proxy that authenticates. To use stdio instead, run the server binary as the container command:

{
  "mcpServers": {
    "deco": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "DECO_HOST", "-e", "DECO_PASSWORD",
        "ghcr.io/roquerodrigo/tplink-deco-mcp-server:latest",
        "tplink-deco-mcp-server"
      ],
      "env": {
        "DECO_HOST": "192.168.68.1",
        "DECO_PASSWORD": "your-password"
      }
    }
  }
}

Command-line options

tplink-deco-mcp-server [--transport {stdio,streamable-http}] [--host HOST] [--port PORT]
                       [--log-level {DEBUG,INFO,WARNING,ERROR}]

stdio is the default transport. --host (default 127.0.0.1) and --port (default 8000) apply to streamable-http.

Run from source

git clone https://github.com/roquerodrigo/tplink-deco-mcp-server.git
cd tplink-deco-mcp-server
uv sync
DECO_HOST=… DECO_PASSWORD=… uv run tplink-deco-mcp-server

Support

This MCP server is built and maintained on personal time, on hardware bought for the purpose. If it is useful to you, consider sponsoring the work — it keeps the devices, the testing and the releases coming.

License

MIT

Metadata

Release files for tplink-deco-mcp-server 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tplink-deco-mcp-server 1.0.0
File Size Uploaded
tplink_deco_mcp_server-1.0.0.tar.gz 87.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tplink-deco-mcp-server 1.0.0
File Interpreter ABI Platform
tplink_deco_mcp_server-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 115.6 kB

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page