Skip to main content
Glama

Yeelight IoT MCP Server

Server Details

Yeelight device discovery, state, control, and scene execution.

Ownership verified
Status
Healthy
Uptime
96.1% over 21 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
Yeelight/yeelight-iot-mcp
GitHub Stars
10

TDQS

A3.5/5.0

Scored across 8 tools

Disambiguation5/5

Each tool targets a distinct resource or action: control_node for node control, execute_scene for scenes, and get_* for listing specific entity types. No two tools overlap in purpose, though control_node is broad and depends on the get_* tools for IDs.

Naming Consistency4/5

All tools use consistent snake_case verb_noun naming (get_*, control_node, execute_scene). The only flaw is a typo in get_currnet_house_info, which is a minor deviation from otherwise predictable naming.

Tool Count5/5

8 tools is well-scoped for an IoT control server: one flexible control tool, one scene executor, and six specific getters. No tool feels redundant or missing for the core scope.

Completeness3/5

The surface covers entity discovery (house, areas, rooms, devices, groups, scenes) and control execution, but it lacks a dedicated tool to retrieve supported properties for a node, which control_node explicitly requires for safe operation. There is also no direct state-query tool, leaving a notable gap for an IoT control server.

Available Tools

8 tools
control_nodeAInspect

工具用途:节点控制

  • 家庭、区域、房间、设备组、设备都被视为"节点",其类型通过 nodeType 区分。

  • 节点控制请求中的 nodeId 是节点的唯一标识。用户通常提供的是节点名称,因此在调用控制接口前,必须先使用相应工具获取节点nodeId,nodeId可以是家庭ID,区域ID,房间ID,设备组ID,设备ID,确认后再执行控制操作。

  • 节点控制指令通过 command 区分不同的操作。

  • 控制指令中参数的 value 类型需与节点属性值的类型一致。

  • 在调用此接口之前,请先确认节点支持的属性及其对应的可操作类型。如果目标节点不支持该属性,则无法进行控制。

  • 控制指令中的propName(参数名称propName请勿传错)参数,必须填写节点属性列表中对应属性的 propId 字段值,如 p(开关)、c(颜色)、ct(色温)、l(亮度)、tp(窗帘开合度)等。应根据节点属性列表中支持的 propId 选择最合适的属性来进行控制操作。

控制节点说明

家庭、区域、房间、设备组、设备都被视为"节点",其类型通过 nodeType 区分。

例如:

  • "关闭所有灯"的请求,可视为关闭家庭下所有的灯,可以使用家庭节点类型来实现。

  • "打开客厅灯"的请求,可以使用房间节点类型来实现。

节点类型(nodeType)信息列表

节点类型(node)

节点编码(nodeType)

节点描述

说明

house

5

家庭

例如:"关闭所有灯"的请求,可视为关闭家庭下所有的灯,可以使用家庭节点类型来实现。先通过获取家庭信息工具获取到家庭ID,再使用家庭ID控制家庭下的所有灯。

area

3

区域

控制某个区域,可先通过获取区域的工具获取到区域ID,来控制区域。

room

1

房间

控制某个房间,可先通过获取区域的工具获取到房间ID,来控制房间。

group

4

设备组、灯组

控制某个设备组,可先通过获取区域的工具获取到设备组ID,来控制设备组。

device

2

设备

控制某个设备,可先通过获取区域的工具获取到设备ID,来控制设备。

控制属性说明

  • 可以通过其他工具获取到节点支持的属性定义列表,表示该节点所支持的属性。所控制节点的属性必须在该节点的属性定义列表中存在,否则会发生错误。

  • 调用该工具控制节点属性时,传入的属性值需符合属性定义中的类型、取值范围、枚举值等的要求。

  • 默认 dryRun=true,只返回执行计划,不调用真实控制接口。

  • 如需真实执行,必须显式传 dryRun=false 且 confirmSideEffect=true。

相关属性信息列表

下面是一些属性的定义,可能会与其他工具中返回的属性定义冗余,供参考。

属性编码(propId/propName)

属性描述(desc)

属性格式(format)

属性单位(unit)

属性值范围(valueRange)

属性值枚举(valueList)

属性支持的操作(operators)

属性说明

p

开关属性(仅用于标识灯和开关类设备的开关状态)

boolean

-

-

true:开, false:关

set

true:开, false:关

l

亮度

uint8

%

min:1;max:100;step:1;

-

set

例如:80表示亮度值为80%

c

颜色

uint32

RGB

min:0;max:16777215;step:1;

-

set

十进制整形的RGB颜色表示。例如16711680表示红色(十六进制表示为#FF0000), 255表示蓝色(十六进制表示为#0000FF)

ct

色温

uint8

K

min:2700;max:6500;step:1;

-

set

色温

tp

窗帘目标开合度

uint8

%

min:0;max:100;step:1;

-

set

窗帘目标开合度,用于控制窗帘开合度,0代表完全关闭,100代表完全打开。例如30表示窗帘开合度为30%

NameRequiredDescriptionDefault
controlRequestYes节点控制请求体,包含节点ID、节点类型、控制指令和 dryRun/confirmSideEffect 选项

Output Schema

NameRequiredDescription
okYes是否允许或完成执行
codeYes结果编码
planYes执行计划
dryRunYes是否为 dryRun
messageYes结果说明
responseNo真实执行响应

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does so well: it discloses that dryRun defaults to true (plan only), that real execution requires both dryRun=false and confirmSideEffect=true, and that control fails if the target node does not support the requested property. It omits permission/auth requirements and failure response behavior, so it falls short of a 5.

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

Conciseness3/5

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

It is front-loaded with a useful bullet list, but the node-type explanation is stated twice (the intro bullet and the full table repeat the '关闭所有灯' example), and the property table is explicitly flagged as possibly redundant with other tools. Content earns its place, but the repetition costs it a point.

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

Completeness5/5

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

For a multi-target control tool with nested command semantics, the description covers everything the agent needs: node acquisition flow, nodeType encoding, command types (set/toggle/adjust), property/value constraints, and the safety gating flags. An output schema exists, so return values need not be explained.

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?

Schema description coverage is 100%, so baseline is 3; the description adds real value on top by mapping propName to concrete propId values (p, c, ct, l, tp) and supplying a table of formats, units, value ranges and enumerations (e.g. c is RGB 0–16777215, l is 1–100%). This meaningfully supplements the terse schema for the most error-prone parameter.

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 opening section states a specific verb and resource ('节点控制' / node control) and immediately defines the resource scope: house/area/room/group/device are all 'nodes' distinguished by nodeType. It also names the sibling dependency (get_areas/get_rooms/get_devices etc. must be used first to obtain nodeId), so an agent can tell this apart from the retrieval tools without opening a schema.

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

Usage Guidelines5/5

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

It gives explicit when-to-use routing: '关闭所有灯' maps to the house node type, '打开客厅灯' maps to the room node type, with a full nodeType table telling the agent which retrieval tool precedes each case. It also states the dryRun vs real-execution condition clearly, so there is no ambiguity about invocation mode.

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

execute_sceneAInspect

工具用途:执行情景(场景、模式)。

  • 在执行情景(场景、模式)前,必须确保已获取到对应的情景ID。由于用户通常提供的是情景名称,因此请务必先通过相应的工具获取情景ID,再使用该ID执行情景操作。

  • 默认 dryRun=true,只返回执行计划,不调用真实执行接口。

  • 如需真实执行,必须显式传 dryRun=false 且 confirmSideEffect=true。

NameRequiredDescriptionDefault
requestYes执行情景请求,包含 sceneId 和 dryRun/confirmSideEffect 选项

Output Schema

NameRequiredDescription
okYes是否允许或完成执行
codeYes结果编码
planYes执行计划
dryRunYes是否为 dryRun
messageYes结果说明
responseNo真实执行响应

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden and does disclose the key trait: this tool mutates state, but side effects are gated behind an explicit confirmSideEffect flag and dryRun defaults to safe preview. It does not cover reversibility, permissions, or error behavior, but the critical side-effect contract is stated.

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 purpose is front-loaded, followed by terse bullet points covering the prerequisite, the default mode, and the real-execution conditions. No sentence is redundant and the structure is scannable.

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?

An output schema exists, so return values need not be explained. For a single-parameter mutation tool with no annotations, the description covers the prerequisite workflow and the side-effect safety contract, leaving only minor gaps like permission requirements.

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?

Schema description coverage is 100%, so baseline is 3, but the description adds value by explaining the interaction between dryRun and confirmSideEffect (both must be set for real execution). It does not expand on the reason parameter, but the safety-critical semantics are clarified beyond the schema.

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 states a specific verb+resource (execute a scene/scenario/mode) and adds a scoping detail that the ID must be resolved first. It implicitly differentiates from the sibling get_scenes (which supplies the ID) but does not name it explicitly, so it falls short of full sibling differentiation.

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

Usage Guidelines4/5

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

It gives clear context: acquire the scene ID before executing, and clarifies that dryRun defaults to true (plan only) while real execution requires explicit dryRun=false and confirmSideEffect=true. It does not name the exact sibling tool for ID lookup, leaving that inference to the agent, so it is clear but not exhaustive.

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

get_areasCInspect

获取当前用户家庭(项目)下所有的区域

NameRequiredDescriptionDefault
limitNo每页数量,最大不超过服务端配置上限
cursorNo分页游标;来自上一次返回的 nextCursor,首次查询可不传

Output Schema

NameRequiredDescription
rowsNo区域列表
totalYes区域总数
isErrorNo是否请求失败
pageNumYes页码
pageSizeYes每页数量
nextCursorNo下一页游标。为空表示没有下一页
errorMessageNo错误信息

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden and does almost nothing with it. It says 'all areas' while the tool is actually paginated (limit/cursor), which is a mild mismatch, and it discloses nothing about permissions, ordering, or result size.

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?

A single short, front-loaded sentence with no filler. It is efficient, though it errs toward under-specification rather than providing extra useful framing.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and the simple read-only, zero-required-parameter nature keeps demands low. Still, for a tool sitting among several similar list siblings, the absence of any disambiguation or usage context leaves a real gap.

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?

Schema description coverage is 100% – both limit and cursor are documented in the schema itself (page size, cursor from previous nextCursor). The description adds no parameter meaning beyond that, so the baseline 3 applies.

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?

Names a specific verb (获取/get) and resource (区域/areas) plus the scope (当前用户家庭/项目 – current user's home/project). However, it does not distinguish itself from the sibling get_rooms, which is the nearest related resource, so an agent cannot tell from the text alone why it would pick 'areas' over 'rooms'.

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 when-to-use guidance, no prerequisites, and no mention of alternatives despite several sibling list tools (get_rooms, get_groups, get_devices, get_scenes). The agent must infer usage purely from the resource noun.

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

get_currnet_house_infoBInspect

获取用户当前家庭(或项目)的信息

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
idNo家庭/项目ID
descNo家庭/项目别称
iconNo家庭/项目图标
nameNo家庭/项目名称
isErrorNo是否请求失败
propertiesNo属性列表
errorMessageNo错误信息

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it discloses almost nothing beyond the operation itself. It does not state whether this is read-only, what scope 'current' resolves to, whether auth is required, or how 'home' relates to 'project'; the only mitigating factor is that an output schema exists to document the return shape.

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?

A single short sentence with no filler, front-loading the verb and resource. It is efficiently sized, though its brevity is partly a result of under-specification rather than disciplined editing.

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

Completeness3/5

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

For a parameterless getter with an existing output schema, the description need not explain return values, so the core need is covered. However, it leaves the agent without any sense of how the 'current home/project' scope is determined or how this tool relates to its siblings, which is the main contextual gap.

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?

The tool takes zero parameters, so per the rubric the baseline is 4. The schema coverage is 100% and there are no parameters whose meaning needs elaboration.

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 states a clear verb+resource: retrieve the user's current home (or project) information. It is specific enough to know what is fetched, but it never distinguishes itself from the sibling getters (get_areas, get_devices, get_rooms, get_scenes), so an agent must infer that this returns the top-level home rather than any sub-resource.

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?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the numerous sibling getters. The agent gets no signal about when this is the right call versus get_areas or get_devices.

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

get_devicesBInspect

获取当前用户家庭(项目)下所有的设备或者获取某个房间下的设备

NameRequiredDescriptionDefault
limitNo每页数量,最大不超过服务端配置上限
cursorNo分页游标;来自上一次返回的 nextCursor,首次查询可不传
roomIdNo房间ID。若不传此参数,则查询当前用户家庭(项目)下所有的设备

Output Schema

NameRequiredDescription
rowsNo设备列表
totalYes设备总数
isErrorNo是否请求失败
pageNumYes页码
pageSizeYes每页数量
nextCursorNo下一页游标。为空表示没有下一页
errorMessageNo错误信息

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it mostly duplicates the roomId schema text. It never mentions pagination, the fact that results are limited, authentication/ownership requirements, or the read-only nature beyond the weak implication of '获取'. For an unannotated tool this is thin.

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?

A single sentence, front-loaded on the resource and then the two scoping variants. No filler or repetition within the description itself.

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?

An output schema exists, so return-shape explanation is unnecessary, and all three parameters are fully documented in the schema. The remaining gap is the lack of any behavioral/edge context (pagination flow, empty results), but the definition is otherwise sufficient to call the tool correctly.

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?

Schema description coverage is 100%, so baseline is 3. The description restates the roomId scoping rule that is already fully documented in the schema and adds nothing about limit/cursor semantics, so no credit above baseline.

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?

States a clear verb+resource ('获取...设备') and defines two explicit scopes: all devices under the user's home/project, or devices under a specific room. It does not name any sibling tool (e.g. get_rooms, get_areas) to distinguish itself, so it falls short of the 5 bar for sibling differentiation.

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 implies the two usage modes (room-scoped vs home-wide), which is effectively a 'when' condition, but it never says when to prefer this tool over siblings like get_rooms or get_groups, nor any prerequisites. Usage is inferable but not stated as guidance.

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

get_groupsAInspect

获取当前用户家庭(项目)下所有的设备组或者获取某个房间下的设备组(设备组:相同设备类型的设备可以组成设备组,例如灯组、开关组灯)

NameRequiredDescriptionDefault
limitNo每页数量,最大不超过服务端配置上限
cursorNo分页游标;来自上一次返回的 nextCursor,首次查询可不传
roomIdNo房间ID。若不传此参数,则查询当前用户家庭(项目)下所有的设备组

Output Schema

NameRequiredDescription
rowsNo设备列表
totalYes设备总数
isErrorNo是否请求失败
pageNumYes页码
pageSizeYes每页数量
nextCursorNo下一页游标。为空表示没有下一页
errorMessageNo错误信息

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. '获取' implies a read-only query and the scope rule per mode is stated, but it says nothing about permissions, rate limits, ordering, or pagination behavior, and return values are covered by the output schema.

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?

A single sentence, front-loaded with the primary action and scope, followed by a parenthetical domain definition. The parenthetical is slightly long but earns its place by disambiguating the resource; no filler.

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?

With an output schema present, return values need no explanation, and all three optional parameters are documented. The definition covers scope and the domain concept adequately; only behavioral notes like permissions or ordering are absent, which is a minor gap for a simple read tool.

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?

Schema description coverage is 100%, so limit, cursor, and roomId semantics are already documented in the schema, including the 'no roomId means all groups' rule. The description restates that same roomId behavior without adding format or syntax detail, so baseline 3 applies.

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?

States a specific verb and resource ('获取...设备组') and adds a definition of what a device group is (same device type grouped, e.g. light group, switch group), which helps separate it from the sibling get_devices. It does not explicitly name or contrast a sibling tool, so it stops short of a 5.

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

Usage Guidelines4/5

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

Clearly lays out the two usage modes: omit the room filter to get all groups under the user's home/project, or scope to a single room. That is clear context for choosing a mode, but it names no exclusions and no alternative tools (e.g. get_devices) the agent should prefer in other cases.

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

get_roomsCInspect

获取当前用户家庭(项目)下所有的房间

NameRequiredDescriptionDefault
limitNo每页数量,最大不超过服务端配置上限
cursorNo分页游标;来自上一次返回的 nextCursor,首次查询可不传

Output Schema

NameRequiredDescription
rowsNo房间列表
totalYes房间总数
isErrorNo是否请求失败
pageNumYes页码
pageSizeYes每页数量
nextCursorNo下一页游标。为空表示没有下一页
errorMessageNo错误信息

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 carries the full burden. It implicitly indicates a read operation but does not disclose pagination behavior (the 'all' claim is misleading given limit/cursor), auth requirements, rate limits, or side effects. 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?

A single sentence with no wasted words. It is appropriately front-loaded, though its brevity leaves gaps that other dimensions address.

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 paginated list tool with no annotations and an output schema, the description should at least mention pagination or usage context. It covers scope but omits pagination, alternatives, and behavioral traits, making it incomplete.

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?

Schema description coverage is 100% and both parameters are documented in the schema. The description adds no parameter-level detail, so the baseline of 3 is appropriate.

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?

States a specific verb '获取' and resource '房间', with scope '当前用户家庭(项目)下'. This distinguishes it from siblings like get_areas and get_devices by resource. However, it does not explicitly name alternatives or explain how it differs from similar list tools, so it is clear but not maximally differentiated.

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 when-to-use guidance, no alternatives, no exclusions. It only describes what the tool does, leaving the agent to infer when to call it versus get_areas or get_devices.

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

get_scenesCInspect

获取当前用户家庭(项目)下所有的情景(场景、模式)

NameRequiredDescriptionDefault
limitNo每页数量,最大不超过服务端配置上限
cursorNo分页游标;来自上一次返回的 nextCursor,首次查询可不传

Output Schema

NameRequiredDescription
rowsNo情景列表
totalYes情景总数
isErrorNo是否请求失败
pageNumYes页码
pageSizeYes情景数量
nextCursorNo下一页游标。为空表示没有下一页
errorMessageNo错误信息

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it only says 'all scenes' without addressing permissions, whether results are paginated, or how the home/project scope is resolved. The word '所有' (all) even conflicts slightly with the paginated limit/cursor parameters, and that tension is never explained.

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?

A single front-loaded sentence that identifies the resource and scope with no filler. It is efficient, though it is arguably too terse to be a complete definition.

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

Completeness3/5

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

An output schema exists so return values need not be described, and both parameters are documented. For a simple read-only list tool this is minimally adequate, but with no annotations the description leaves the safety profile, pagination semantics, and scoping rules implied.

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?

Schema description coverage is 100%, so both limit and cursor are already documented in the schema, including that cursor comes from the previous nextCursor. The description adds no parameter-level detail, so the baseline 3 applies.

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?

States a specific verb (获取/get) and resource (情景/场景/模式 = scenes) scoped to the current user's home/project. This is enough to distinguish it from execute_scene, but the description never explicitly names that sibling or clarifies the distinction between listing and executing scenes.

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 when-to-use context, no prerequisites, and no mention of alternatives such as execute_scene. The agent must infer that this is the read path for discovering scenes before executing one.

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.

  1. 8 tool updates
    • First observedcontrol_node
    • First observedexecute_scene
    • First observedget_areas
    • First observedget_currnet_house_info
    • First observedget_devices
    • First observedget_groups
    • First observedget_rooms
    • First observedget_scenes

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables discovery and control of Philips Hue lighting devices via a local bridge using the CLIP v2 API, without any cloud dependency.
    10
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables local network control of Tuya and Smart Life smart home devices without cloud round-trips, including power, brightness, color, and raw datapoint operations.
    9
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.