Skip to main content
Glama
LG Washer MCP Server

LG Washer MCP Server

by madhukeshm

Servidor MCP para Lavadora LG

Un servidor MCP que permite a un asistente de IA supervisar y controlar una lavadora LG ThinQ a través de la API oficial ThinQ Connect de LG.

Se comunica con la API REST directamente a través de HTTP (sin SDK de LG). Su Token de Acceso Personal (PAT) se utiliza como token de portador.

Cómo funciona la API (la versión corta)

  • Autenticación: Authorization: Bearer <PAT>. Sin flujo OAuth.

  • Región: su código de país elige el servidor. India (IN) → https://api-kic.lgthinq.com.

  • Cada solicitud también envía x-country, x-client-id (un UUID4 que usted elige), x-api-key (una clave pública), x-message-id (nuevo por solicitud), x-service-phase: OP.

  • Endpoints: GET /devices, GET /devices/{id}/profile, GET /devices/{id}/state, POST /devices/{id}/control.

Related MCP server: SmartThings MCP Server

Herramientas expuestas

Herramienta

Qué hace

list_devices

Encuentre el deviceId de su lavadora.

get_washer_profile

Vea las propiedades/valores controlables para su modelo.

get_washer_status

Estado en vivo: ¿en funcionamiento?, ciclo, tiempo restante.

control_washer

START / STOP / WAKE_UP.

control_washer_raw

Envíe un JSON de control arbitrario para propiedades específicas del modelo.

⚠️ La mayoría de las lavadoras LG solo aceptan un START remoto cuando la máquina está físicamente configurada en "Inicio remoto" con un ciclo ya cargado. La API reanuda/inicia un ciclo preseleccionado; normalmente no puede elegir un programa de lavado desde cero.

Configuración

uv sync
cp .env.example .env   # then edit .env with your PAT

Ejecutarlo

La configuración se lee de las variables de entorno (THINQ_PAT, THINQ_COUNTRY, THINQ_CLIENT_ID). El servidor habla MCP a través de stdio.

THINQ_PAT=xxx THINQ_COUNTRY=IN uv run washer-mcp

Conectar con Claude Desktop / Claude Code

Añada a su configuración de MCP (por ejemplo, claude_desktop_config.json):

{
  "mcpServers": {
    "lg-washer": {
      "command": "uv",
      "args": ["--directory", "/Users/sushmanagaraj/c_drive/Coding/LG", "run", "washer-mcp"],
      "env": {
        "THINQ_PAT": "your-pat-here",
        "THINQ_COUNTRY": "IN",
        "THINQ_CLIENT_ID": "your-uuid4-here"
      }
    }
  }
}

Para Claude Code específicamente:

claude mcp add lg-washer --env THINQ_PAT=xxx --env THINQ_COUNTRY=IN -- uv --directory /Users/sushmanagaraj/c_drive/Coding/LG run washer-mcp

Prueba manual rápida (sin necesidad de cliente MCP)

uv run python -c "import asyncio, os; from washer_mcp.thinq_client import ThinQClient; \
print(asyncio.run(ThinQClient(os.environ['THINQ_PAT'],'IN',os.environ.get('THINQ_CLIENT_ID','test-id')).list_devices()))"

Available Tools

5 tools
control_washerA

Start, stop, power off, or wake the washer.

operation must be one of: START, STOP, POWER_OFF, WAKE_UP. location is the device zone from the profile (default "MAIN"). Location- scoped washers reject commands that omit it (API error code 2207).

Note: most LG washers only accept a remote START when the machine has been physically set to "Remote Start" and a cycle is already selected/loaded. The API pauses/resumes or starts a pre-selected cycle; it generally cannot pick a wash program from scratch. Call get_washer_profile first to confirm the model supports the operation and to see the exact accepted values.

NameRequiredDescriptionDefault
locationNoMAIN
device_idYes
operationYes

Output Schema

NameRequiredDescription
resultYes
control_washer_rawA

Escape hatch: send an arbitrary control payload to the washer.

control_json is a JSON object matching the shape shown in the device profile, e.g. {"operation": {"washerOperationMode": "START"}}. Use this for model-specific properties (timers, remote-control toggles, etc.) that the higher-level tools do not cover.

NameRequiredDescriptionDefault
device_idYes
control_jsonYes

Output Schema

NameRequiredDescription
resultYes
get_washer_profileA

Get a washer's capability profile: the exact controllable properties and their allowed values for THIS specific model. Consult this before controlling, because property names/values vary by model.

NameRequiredDescriptionDefault
device_idYes

Output Schema

NameRequiredDescription
resultYes
get_washer_statusA

Get the washer's current live state: whether it is running, the current cycle/run state, and remaining time.

NameRequiredDescriptionDefault
device_idYes

Output Schema

NameRequiredDescription
resultYes
list_devicesA

List all LG ThinQ devices on the account. Use this to find the washer's deviceId, which every other tool needs.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv0.1.0
    • First observedcontrol_washer
    • First observedcontrol_washer_raw
    • First observedget_washer_profile
    • First observedget_washer_status
    • First observedlist_devices

TDQS

A4.1/5.0

Scored across 5 tools

Disambiguation4/5

Most tools are clearly distinct: listing devices, fetching profile, fetching status, and sending commands all serve different purposes. The only mild overlap is between control_washer and control_washer_raw, but the descriptions make the intended boundary clear.

Naming Consistency5/5

All tools follow a clean snake_case verb_noun pattern: list_devices, get_washer_profile, get_washer_status, control_washer, control_washer_raw. The naming is consistent and predictable.

Tool Count5/5

Five tools is well-scoped for an LG washer MCP server: discovery, model introspection, status, high-level control, and a raw escape hatch. Each tool earns its place without adding redundancy.

Completeness4/5

The server covers the core washer workflow: find the device, inspect its capability profile, read live status, and issue commands. The raw control tool helps fill model-specific gaps, though common operations like pause/resume are not explicitly exposed beyond the raw payload path.

Maintenance

ActivityInactive
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables LLMs to control DeLonghi ECAM espresso machines over a local network, including brewing beverages, monitoring status, and managing machine settings.
    27 PyPI
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to monitor a Hyundai, Kia, or Genesis vehicle's charge, fuel, range, locks, and location, and optionally pre-heat the cabin, lock or unlock doors, and start or stop charging. Reads come from cached Bluelink data with rate-limited refreshes, and all write commands are disabled by default.
    6
    2
    MIT