LG Washer MCP Server
LG Washer MCP Server
An MCP server that lets an AI assistant monitor and control an LG ThinQ washing machine through LG's official ThinQ Connect API.
It talks to the REST API directly over HTTP (no LG SDK). Your Personal Access Token (PAT) is used as a bearer token.
How the API works (the short version)
Auth:
Authorization: Bearer <PAT>. No OAuth flow.Region: your country code picks the server. India (
IN) →https://api-kic.lgthinq.com.Every request also sends
x-country,x-client-id(a UUID4 you choose),x-api-key(a public key),x-message-id(fresh per request),x-service-phase: OP.Endpoints:
GET /devices,GET /devices/{id}/profile,GET /devices/{id}/state,POST /devices/{id}/control.
Tools exposed
Tool | What it does |
| Find your washer's |
| See the controllable properties/values for your model. |
| Live state: running?, cycle, time remaining. |
|
|
| Send an arbitrary control JSON for model-specific properties. |
⚠️ Most LG washers only accept a remote START when the machine is physically set to "Remote Start" with a cycle already loaded. The API resumes/starts a pre-selected cycle; it usually can't pick a wash program from scratch.
Setup
uv sync
cp .env.example .env # then edit .env with your PATRun it
Configuration is read from environment variables (THINQ_PAT, THINQ_COUNTRY,
THINQ_CLIENT_ID). The server speaks MCP over stdio.
THINQ_PAT=xxx THINQ_COUNTRY=IN uv run washer-mcpWire into Claude Desktop / Claude Code
Add to your MCP config (e.g. 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"
}
}
}
}For Claude Code specifically:
claude mcp add lg-washer --env THINQ_PAT=xxx --env THINQ_COUNTRY=IN -- uv --directory /Users/sushmanagaraj/c_drive/Coding/LG run washer-mcpQuick manual test (no MCP client needed)
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()))"This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Control Android TV from any AI. 38 MCP tools: playback, recap, recommend, smart-home, schedules.
Give AI agents the LinkedIn tools to find, qualify, engage, and follow up with prospects.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/madhukeshm/lg-washer-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server