Skip to main content
Glama
thinq-connect

ThinQ Connect MCP Server

Official

Local Image

ThinQ Connect MCP Server (Beta)

This is the official MCP (Model Context Protocol) server for LG ThinQ devices. This server provides integrated control capabilities including status monitoring, device control, and profile information for various LG ThinQ devices, built on the LG ThinQ API and Python Open SDK. MCP connection method is stdio.

ThinQ Connect MCP Demo

Table of Contents

Related MCP server: EcoFlow MCP Server

Features

  • Device List Query
    Retrieve a list of all registered LG ThinQ devices.

  • Device Status Monitoring
    Get real-time status information for specific devices.

  • Device Control
    Execute control commands defined in each device's profile.
    (e.g., turn air conditioner on/off, set temperature, etc.)

  • Device Control Capabilities Query
    Provide detailed information about controllable properties, methods information for each device.


Prerequisites

  1. Prepare a Personal Access Token for ThinQ Open API calls

  2. Verify your ThinQ account's country code. You can find it in the Country Codes section.

  3. Python 3.11 or higher

  4. Install uv - A fast Python package installer and resolver for Python projects

  5. MCP client (Claude Desktop, etc.)


Quick Start

Claude Desktop

Open up the configuration file, and add ThinQ Connect MCP config.

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "thinqconnect-mcp": {
      "command": "uvx",
      "args": [
        "thinqconnect-mcp"
      ],
      "env": {
          "THINQ_PAT": "your_personal_access_token_here",
          "THINQ_COUNTRY": "your_country_code_here"
      }
    }
  }
}

Detailed Usage

After setting up the configuration file as shown in the Quick Start section, you can use the ThinQ Connect MCP Server directly in your conversations with Claude.

Examples of prompts you can use:

  • "Please provide a list of all devices"

  • "Please check the status of the robot vacuum device"

  • "Please set the temperature of the air conditioner device to 24 degrees"


Tool Reference

Available Tools

  1. get_device_list

    • Description: Retrieves a list of all devices connected to the ThinQ Connect platform

    • Parameters: None

    • Returns: String containing connected device list information

  2. get_device_available_controls

    • Description: Retrieves available control commands and parameter information for a specific device

    • Parameters: device_type (string), device_id (string)

    • Returns: String containing device control commands and parameter information

  3. get_device_status

    • Description: Retrieves status information for a specific device

    • Parameters: device_id (string)

    • Returns: String containing device status information

  4. post_device_control

    • Description: Send control commands to a specific device on the ThinQ Connect platform to change its settings or state

    • Parameters: device_type (string), device_id (string), control_method (string), control_params (dict)

    • Returns: String containing device control result message

Available Tools

4 tools
get_device_available_controlsA

Retrieves available control commands and parameter information for a specific device Args: device_type: Device type (e.g., DEVICE_AIR_CONDITIONER, DEVICE_ROBOT_CLEANER, DEVICE_STYLER) device_id: Unique ID of the device to query

Returns:
    String containing device control commands and parameter information
ParametersJSON Schema
NameRequiredDescriptionDefault
device_typeYes
device_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description should disclose behavioral traits like side effects or permissions. It only states it retrieves information, but does not explicitly say it is read-only or safe. The lack of any behavioral notes (e.g., 'does not modify device state') leaves significant gaps for an AI agent assessing safety.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise with no unnecessary words. It front-loads the core purpose and structures parameter and return info in a clean, easy-to-scan format. Every sentence is useful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has only two parameters and an output schema (as indicated by context signals), the description covers the essentials: what the tool does, what parameters are needed, and that it returns a string. It does not elaborate on the contents of the string, but the output schema likely fills that gap. The sibling context is implicitly clear.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, but the description adds meaning to both parameters by giving examples for device_type and clarifying device_id as 'Unique ID of the device to query'. However, it does not explain the format of the returned string or what 'control commands' entail, so it is adequate but not comprehensive.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Retrieves available control commands and parameter information for a specific device', specifying the verb 'retrieves' and the resource. It differentiates from siblings (get_device_list, get_device_status, post_device_control) by focusing on available controls rather than listing, status, or sending commands.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide explicit guidance on when to use this tool versus its siblings. It only states what it does, leaving the agent to infer context from the tool name and sibling names. No exclusions or alternatives are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_device_listA

Retrieves a list of all devices connected to the ThinQ Connect platform Args: None

Returns:
    String containing connected device list information
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries full burden. It discloses a string return type but lacks details on potential pagination, latency, or other behaviors. For a simple list tool, this is acceptable but not exemplary.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded, but includes redundant 'Args: None' given the schema. It is efficient but could be slightly tighter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters and an output schema exists (though not detailed), the description is sufficiently complete for a simple retrieval tool. However, it could mention that the list includes all connected devices.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist (0 params, 100% schema coverage). The description states 'Args: None', which confirms the schema but adds no extra meaning beyond it. Baseline 4 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Retrieves a list of all devices' which specifies the action and resource, and is distinct from sibling tools that deal with controls, status, or posting control commands.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or alternatives are provided, but the purpose is clear enough to infer usage. Sibling names offer implicit differentiation, so the guidance is adequate but minimal.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_device_statusB

Retrieves status information for a specific device Args: device_id: Unique ID of the device to query

Returns:
    String containing device status information
ParametersJSON Schema
NameRequiredDescriptionDefault
device_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must disclose behavior. It only says 'Retrieves status information', which implies a read operation, but omits details like auth requirements, side effects, or status format. Minimal behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the main purpose. The args/returns section is structured but could be more concise by removing the redundant format. Overall, it earns its place without excess.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a status retrieval tool with one parameter and no output schema content, the description lacks details on possible statuses, error handling, or response format. It is incomplete for an agent to fully understand the tool's behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds 'Unique ID of the device to query' for the device_id parameter, clarifying it as an identifier. Since schema description coverage is 0%, this addition provides necessary meaning, but it is brief and does not elaborate on possible values or formats.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Retrieves status information for a specific device', providing a clear verb and resource. It is distinct from sibling tools like get_device_list (list devices) and get_device_available_controls (list controls), so the agent can differentiate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like get_device_list or post_device_control. Lacks context about prerequisites, scenarios, or explicit when-not recommendations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

post_device_controlC

Send control commands to a specific device on the ThinQ Connect platform to change its settings or state Args: device_type: Device type (e.g., DEVICE_AIR_CONDITIONER, DEVICE_ROBOT_CLEANER, DEVICE_STYLER) device_id: Unique ID of the device to control control_method: Co ntrol method name to execute (e.g., set_air_con_operation_mode, set_target_temperature, set_wind_strength) control_params: Parameter dictionary to pass to the control method (e.g., {'operation': 'POWER_OFF'}, {'temperature': 25}, {'wind_strength': 'HIGH'})

Returns:
    String containing device control result message
ParametersJSON Schema
NameRequiredDescriptionDefault
device_typeYes
device_idYes
control_methodYes
control_paramsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description bears full burden for behavioral disclosure. It implies mutation but does not disclose potential side effects, required permissions, rate limits, error conditions, or idempotency. The return type (string message) is mentioned but is vague.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is largely concise and structured with Args and Returns sections. It front-loads the purpose. A minor typo ('Co ntrol') slightly detracts, but overall efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (4 required params, nested object), the description covers basic usage but lacks context on authentication, error handling, supported control methods per device type, and output schema details (returns only a vague string message). Output schema exists but is not leveraged in the description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds value beyond the input schema by listing each parameter with examples (e.g., device_type values, control_params as a dictionary). However, schema description coverage is 0%, and the description does not enumerate all valid values for enums or provide detailed formatting rules, relying on self-explanatory parameter names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action: sending control commands to change device settings or state. It provides example parameters for device types, control methods, and parameters, making the purpose explicit. While it doesn't explicitly differentiate from sibling tools, the action verb and mutation nature distinguish it from read-only siblings like get_device_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description lacks guidance on when to use this tool versus alternatives, such as when to query available controls via get_device_available_controls first or prerequisites like device authentication. No context for appropriate usage contexts or exclusions is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 4 tool updatesv1.0.0
    • Changedget_device_available_controls1 field changed
      • addedInput schema / title
        Added value: +"get_device_available_controlsArguments"
    • Changedget_device_list1 field changed
      • addedInput schema / title
        Added value: +"get_device_listArguments"
    • Changedget_device_status1 field changed
      • addedInput schema / title
        Added value: +"get_device_statusArguments"
    • Changedpost_device_control1 field changed
      • addedInput schema / title
        Added value: +"post_device_controlArguments"
  2. 4 tool updates
    • First observedget_device_available_controls
    • First observedget_device_list
    • First observedget_device_status
    • First observedpost_device_control

TDQS

A3.6/5.0
Disambiguation5/5

Each tool serves a distinct purpose: listing devices, getting status, querying available controls, and sending control commands. No overlap or ambiguity.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern (get_device_*, post_device_*), with clear and predictable naming.

Tool Count4/5

With 4 tools, the set covers essential operations for device management without being overly minimal or excessive. It's slightly on the lower end but well-scoped.

Completeness4/5

The set covers device listing, status retrieval, available controls, and control execution. Minor gaps like device registration or batch control are absent but acceptable for the domain.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

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

Related MCP Servers

  • F
    license
    A
    quality
    Not graded
    maintenance
    Enables monitoring and control of EcoFlow Power Stations and devices through the Model Context Protocol. Users can manage battery levels, toggle AC/DC outputs, and configure charging settings across the DELTA and RIVER series via the EcoFlow API.
    9
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that lets AI assistants control Samsung Smart TVs (Tizen OS, 2016+) over the local network. No cloud, no SmartThings account required.
    MIT

Latest Blog Posts

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/thinq-connect/thinqconnect-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server