Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

tolpo

de signerlessversión 0.2.1i★ –iSe ejecuta en tu computadora
Nombre en el registroio.github.signerless/tolpo

Instalar

Resumen

Descripción del creador (original en inglés)

Local-first control of TP-Link Tapo smart-home devices for AI agents

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

  • Conexión: Se ejecuta en tu computadora
  • Transporte: stdio
  • Categoría: Otros
  • Debes completar: TAPO_EMAIL, TAPO_PASSWORD

Instalación

Elige la app de IA que usas y copia la configuración.

Antes de instalar

Los valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.

Necesitas

  • npmNode.js instalado (para el comando npx)

¿Qué app usas?

Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.

Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json

{
  "mcpServers": {
    "tolpo": {
      "command": "npx",
      "args": [
        "-y",
        "tolpo",
        "mcp"
      ],
      "env": {
        "TAPO_EMAIL": "your-value",
        "TAPO_PASSWORD": "your-value"
      }
    }
  }
}

Ejecuta esto en tu terminal

claude mcp add tolpo --env TAPO_EMAIL=your-value --env TAPO_PASSWORD=your-value -- npx -y tolpo mcp

Completa los valores vacíos antes de ejecutarlo.

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "tolpo": {
      "command": "npx",
      "args": [
        "-y",
        "tolpo",
        "mcp"
      ],
      "env": {
        "TAPO_EMAIL": "your-value",
        "TAPO_PASSWORD": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "tolpo": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "tolpo",
        "mcp"
      ],
      "env": {
        "TAPO_EMAIL": "your-value",
        "TAPO_PASSWORD": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.

Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.

Valores que debes completar

  • TAPO_EMAIL obligatorio env
    Email of the Tapo account the devices belong to
  • TAPO_PASSWORD secreto obligatorio env
    Password of that Tapo account

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

Qué puede hacer

Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con la cuenta de GitHub signerless, dueña del repo

  • … Aún sin revisar

    Sigue en mantenimiento

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • – No aplica

    El endpoint responde

    Este se ejecuta en tu computadora; no hay endpoint en internet

  • – No aplica

    Inicio de sesión con OAuth

    Se ejecuta en tu computadora y usa ajustes locales en su lugar

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet

Comparado con otros en Otrosi

  • Más estrellas que el 0% de los otros 18334 servidores de esta categoría
  • Publicado en el registro más recientemente que el 65% de los otros 18334 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 18334 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro tolpo?

Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

Debes completar: TAPO_EMAIL, TAPO_PASSWORD

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez –, y la última versión (0.2.1) llegó al registro hace 24 días.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.

¿Qué puedo usar en su lugar?

En la misma categoría: Spec Driven Development, Remote Desktop Commander, ProAgentStore

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

Spec Driven Development

de formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Se ejecuta en tu computadora★ 440MITActualizado hace 14 meses
Instalar

Remote Desktop Commander

de desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Se ejecuta en la nube★ 211Actualizado anteayer
Instalar

ProAgentStore

de ProAgentStore

MCP-first control plane for ProAgentStore agents and private instances.

Se ejecuta en la nubeActualizado hoy
Instalar

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

Local-first control of TP-Link Tapo smart-home devices for AI agents.

tolpo turns the Tapo devices on your network into a single interface that an AI agent, or your own code, can read and control. It talks to each device directly over the LAN through the open source python-kasa library, so no request ever leaves your home and no vendor cloud sits in the path. The only credential it needs is the Tapo account the devices already belong to.

It ships two interfaces over the same core:

  • An MCP server that assistants such as Claude use as tools (turn off the office lights, is any door open?).
  • An HTTP API with an OpenAPI description at /docs, for scripts and dashboards.

The aim is that everything the Tapo app can do on your network can also be done by the agent: lights, plugs, hubs and their sensors, cameras, doorbells, robot vacuums, schedules, firmware, rooms, pairing, and even what the devices say to the internet. That is a lot of power, so every action has a level, and only the first levels are on until you raise them. See What an agent can do and the Security model.

Features

  • Lights, plugs, the H100/H200 hub and its sensors, cameras and the doorbell, each with live state and a list of what can be changed.
  • The parts of the Tapo app are split into areas, such as lights, plugs, cameras, doorbells and the network. tolpo remembers which kinds of device it found in earlier runs, and an area for a kind you have never had stays off.
  • Every action has a level from 0 to 4. Reading and reversible control (power, brightness, color) are on. Settings, security changes and things that are hard to undo, such as pairing or a factory reset, stay off until you raise the level, and the last two kinds also need a confirmation phrase on every call. Wi-Fi names, setup codes, passwords and tokens are never returned.
  • A camera you name in the config gives an agent a still picture, a short run of pictures or a saved clip, through the same video channel the Tapo app uses. No extra camera account is needed.
  • Discovery combines a broadcast with a direct per-address sweep, remembers devices between runs and retries the ones that are slow to wake. When a device cannot be reached, the answer says which one and why.
  • State is cached briefly and device names resolve at once, so an agent is not blocked on a slow hub.
  • A full test suite runs against simulated devices, so it needs no hardware.

Supported devices

tolpo works with whatever python-kasa can talk to, so the list is longer than the hardware we own. The table keeps two things apart: what we have run against real devices, and what python-kasa documents as supported but we have not tried.

DeviceTested hereDocumented by python-kasa, not tried hereWhat an agent gets
Color bulbsL430CL430P, L530B, L530E, L530EA, L535EState, brightness, white temperature and color
Smart plugsP115P110, P110MState, plus power, voltage and current readings
HubsH200H100, and S200B and S200D buttons paired to a hubThe sensors paired to it show up as devices of their own, and its event log is readable. With a higher level: siren, sensor settings, pairing
Door and window sensorsT110Open or closed, low-battery flag
Temperature and humidity sensorsT310T315 (the one with a display)Temperature, humidity, low-battery flag
Motion sensorsT100Motion, as python-kasa documents it. Not checked on real hardware
Water leak sensorsT300Leak alert and battery level
CamerasC225, C610, C465C100, C101, C110, C200, C210, C220, C325WB, C460, C520WS, C720, TC40, TC65, TC70State, battery where there is one, last alert and detection switches. With a higher level: detection tuning, image and audio settings, pan and tilt, the memory card. Pictures and clips, for the cameras you enable
DoorbellsD230D100C, D130State and battery, pictures and live video through the hub. With a higher level: ring sounds, quick replies, anti-theft, wake-up
Robot vacuumsModels python-kasa has a cleaning module forStatus, start and stop, rooms and zones, suction and water, schedules. Built from the app's protocol and not tried on real hardware
Door locksNot supported by python-kasaNot usable yet. The DL100, DL105, DL110, DL130 and DLW10 speak a protocol python-kasa does not know. tolpo can parse their discovery record, and nothing is connected to it yet

The C610 and the C465 are not on python-kasa's list yet, but both connected fine. The C465 needs the small certificate fix in compat.py. The full upstream list is in python-kasa's SUPPORTED.md.

A model that is not listed may still work, because tolpo hands the device to python-kasa and shows whatever it reports. Run tolpo scan to find out. If a device works or does not, tell us through a device support issue so the table can improve.

Requirements

  • Python 3.11 or newer
  • One or more TP-Link Tapo devices on the same network, already set up in the Tapo app
  • Your Tapo account email and password
  • ffmpeg, only if you want pictures from cameras
  • uv (or plain pip) to install

Installation

With npx

You need Node and uv. Nothing is installed globally:

npx -y tolpo scan      # find your devices

npx -y tolpo mcp # run as an MCP server

tolpo is a Python program. The npm package carries the Python code and runs it with uv, so the first run downloads about forty Python packages and takes longer than later runs. If an AI client gives up waiting, run npx -y tolpo --help once and start the client again.

With Docker

For a machine that stays on, such as a Raspberry Pi or a Linux home server. The image is public, so pulling it needs no login, and it is built for amd64 and arm64.

Keep the credentials in a file that only you can read, and pass it with --env-file:

(umask 077; printf 'TAPO_EMAIL=you@example.com\nTAPO_PASSWORD=your-password\n' > ~/.tolpo.env)

docker run --rm -i --network host --env-file ~/.tolpo.env ghcr.io/signerless/tolpo

That runs the MCP server over stdio. For the HTTP API, add a token, because it is no longer bound to loopback:

echo "TOLPO_TOKEN=$(openssl rand -hex 24)" >> ~/.tolpo.env

docker run -d --name tolpo --restart unless-stopped --network host --env-file ~/.tolpo.env \ ghcr.io/signerless/tolpo serve --host 0.0.0.0

--network host lets the container find devices by UDP broadcast, and it only works on Linux. Docker Desktop on macOS and Windows runs containers in a virtual machine that cannot see your devices that way, so use the npx install there.

CI builds the image for both architectures and checks the MCP handshake inside it. Finding real devices from inside a container has not been tried yet. The image has no ffmpeg, so camera pictures do not work in it yet.

From source
git clone https://github.com/signerless/tolpo && cd tolpo

uv venv --python 3.13 .venv uv pip install --python .venv/bin/python -e ".[dev]"

Configuration

Credentials can come from environment variables or a config file. The server reads the file first, then lets the environment override it.

export TAPO_EMAIL='you@example.com'

export TAPO_PASSWORD='your-password'

Or ~/.config/tolpo/config.toml (run chmod 600 on it, since it holds a password):

[tapo]

email = "you@example.com" password = "your-password"

or point at an existing JSON file instead of copying the secret:

credentials_file = "~/.tapo_config.json"

[server] host = "127.0.0.1" # loopback only; a token is required to bind elsewhere port = 8765

token = "a-long-random-string"

cache_ttl_seconds = 10

areas = ["lights", "plugs", "hub"] # which parts offer tools; empty means every part for the devices you own

[discovery]

subnets = ["192.168.1.0/24"] # default: the /24 of your default-route interface

hosts = ["192.168.10.20"] # devices that ignore broadcast or live on another VLAN

sweep = true # also probe every address in the subnet (networks up to /22)

interval_seconds = 600

[policy]

The highest level of action an agent may use, from 0 to 4. See the Security model.

tier = 1

Single device methods an agent may use above tier, for example ["setLedStatus"].

allow_methods = []

Features an agent may write beyond power, brightness and color.

Plain ids ("pan_left") or kind-qualified ones ("camera.state").

allow_write = []

[cameras]

Pictures are off for every camera until you name it here, as it is called in the Tapo app.

snapshots = [] # for example ["Hallway Cam"]

Optional. A camera account made in the Tapo app switches pictures to the standard RTSP stream.

username = "camera-account-name"

password = "camera-account-password"

ffmpeg = "/opt/homebrew/bin/ffmpeg" # only if ffmpeg is not on your PATH

clip_dir = "/Users/you/tolpo-clips" # the one folder where camera clips may be saved; no folder, no clips

Environment variables override the file: TOLPO_CONFIG (the file itself), TOLPO_CREDENTIALS_FILE, TOLPO_TIER, TOLPO_AREAS (names separated by commas), TOLPO_SNAPSHOTS, TOLPO_CLIP_DIR, TOLPO_FFMPEG, TOLPO_CAMERA_USERNAME and TOLPO_CAMERA_PASSWORD. A tier that is not a whole number from 0 to 4 stops the server from starting.

Some parts keep their own files, so that no secret ends up in the main one. Automation keeps its rules and alert outbox, and the local rooms and groups are kept in ~/.local/state/tolpo (change it with TOLPO_STATE_DIR). The network area reads ~/.config/tolpo/network.toml (change it with TOLPO_NETWORK_CONFIG)

Solo se muestra el principio; lee el resto en el repo

Pregunta a PopNx