Yeelight Metadata MCP Server
Server Details
Yeelight home metadata and guarded management workflows.
- Status
- Healthy
- Uptime
- 96.5% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- Yeelight/yeelight-metadata-mcp
- GitHub Stars
- 0
- Server Listing
- Yeelight Metadata MCP Server
TDQS
Scored across 5 tools
The five tools have distinct roles: execute_task for running/validating, get_action_schema for introspection, and three list_* tools for browsing actions, groups, and tasks. list_groups and list_tasks could lightly overlap when a user wants task organization, but descriptions make their roles clear. No serious ambiguity.
All tool names follow a consistent snake_case verb_noun pattern with the same yeelight_metadata prefix: execute_task, get_action_schema, list_actions, list_groups, list_tasks. This is highly predictable and readable.
Five tools is a reasonable, well-scoped set for a metadata management server focused on discovery and execution. It is slightly lean but each tool has a distinct purpose and supports a coherent workflow.
The surface covers discovery (list_groups, list_tasks, list_actions), introspection (get_action_schema), and execution/validation (execute_task), which supports the apparent metadata lifecycle. It lacks explicit update or delete operations, but metadata execution likely handles state changes through tasks, so only minor gaps exist.
Available Tools
5 toolsyeelight_metadata.execute_taskAInspect
校验或执行元数据管理任务。默认 options.dryRun=true 只生成执行计划;真实执行前会校验 schema、候选状态和副作用确认。
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes | 任务执行请求,必须包含 task、action、context、payload 和 options |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden and does disclose meaningful behavior: dryRun defaults to true and produces only a plan, and real execution enforces schema validation, candidate-status checks, and side-effect confirmation. This reveals the safety gates without over-claiming; it stops short of detailing what a real execution mutates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight clauses with the purpose front-loaded followed by the dry-run/validation behavior. Every phrase carries weight; the only minor cost is the dual 'validate or execute' framing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 the description covers the key execution semantics (dry-run default, validation gates). For a task/action dispatcher it is reasonably complete, though it could note the prerequisite discovery step.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the nested request/options/payload fields are already documented. The description reinforces options.dryRun by explaining it returns only a plan, but adds no syntax or format detail beyond the schema, so the 3 baseline applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (校验/执行) and resource (元数据管理任务), so an agent knows this is the execution dispatcher among the list/get siblings. It does not explicitly name which sibling to consult first, but the execute-vs-list distinction is clear enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the intended flow – dry-run by default, real execution only after schema/candidate/side-effect checks – which is useful when-to-use context. However, it never states exclusions or points to the discovery siblings (list_tasks/list_actions) that an agent must clearly call first to obtain valid task/action IDs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yeelight_metadata.get_action_schemaBInspect
返回指定 task/action 的参数 schema、全局 Header、局部 context、payload 和 options 提示。
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | 任务 ID,例如 family_space.manage_room | |
| action | Yes | 动作 ID,例如 create、list、delete 或 get_house_detail |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It does enumerate what is returned (schema, global Header, context, payload, options hints), which is genuinely useful, but it never states that this is a read-only lookup with no side effects or whether the lookup can fail for unknown task/action pairs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler or repetition. It packs the return contents into one clause efficiently, though the enumeration of five return elements is dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not strictly required, and the description still outlines the return shape. Combined with fully documented parameters, an agent has enough to invoke it, with only the when-to-use dimension left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema already gives concrete examples for both task (family_space.manage_room) and action (create, list, delete, get_house_detail). The description adds no format or constraint details beyond what the schema supplies, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (返回) and a well-defined resource (the param schema, global Header, local context, payload and options for a given task/action). It is clearly distinguishable in kind from siblings like execute_task or list_actions, but it never explicitly names or contrasts with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus execute_task or list_actions, nor any prerequisites. The use case (look up a schema before executing) must be inferred entirely from the purpose, so guidance is effectively absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yeelight_metadata.list_actionsCInspect
列出或筛选 action,支持按 task、group、status、sideEffect、executionMode 过滤。
| Name | Required | Description | Default |
|---|---|---|---|
| task | No | 可选任务 ID,例如 family_space.manage_room | |
| group | No | 可选分组 ID,例如 family_space | |
| limit | No | 最多返回多少个 action | |
| cursor | No | 分页游标;来自上一次返回的 nextCursor | |
| status | No | 可选 action 状态,例如 confirmed、candidate | |
| sideEffect | No | 可选副作用等级,例如 S0、S2、S3 | |
| executionMode | No | 可选执行模式,例如 cloud_api、manual_assist |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 discloses nothing beyond the schema. It does not say the operation is read-only, how results are ordered, how pagination interacts with filters, or what a filtered-out status means.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence front-loading the verb and resource with no filler. It is efficient, though the brevity comes partly from omitting information rather than from tight editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 no explanation, and the filters are named. However, with zero annotations and no behavioral detail about a paginated list tool, the definition is only minimally sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each of the seven parameters documented including examples, so the baseline is 3. The description names five of the filter parameters but adds no syntax or semantics beyond what the schema already provides, and omits limit/cursor entirely.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (列出/筛选) and resource (action) and enumerates the filterable dimensions, so the agent knows exactly what the tool returns. It does not, however, differentiate itself from siblings like list_tasks, list_groups, or get_action_schema beyond the noun 'action'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus get_action_schema or execute_task, and no exclusions or prerequisites. The mention of filterable fields implies usage but leaves the agent to infer the routing decision entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yeelight_metadata.list_groupsAInspect
分页返回 Metadata 任务分组摘要,帮助选择 list_tasks 的 group 参数。
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 最多返回多少个分组 | |
| cursor | No | 分页游标;来自上一次返回的 nextCursor |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It discloses that results are paginated (分页返回), which is useful, but says nothing about permission requirements, error behavior, or the nature of the summary payload beyond what the schema and output schema already provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the resource and scope, then states the tool's purpose in the workflow. Nothing is redundant or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the return values need not be described, and both parameters are fully covered by the schema. The one remaining gap is that it does not explain the relationship to the other sibling tools (list_actions, execute_task), but for a simple two-parameter listing tool it is close to complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (limit, cursor) are documented in the schema, including that cursor comes from nextCursor. The description adds no parameter-level meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource (分页返回 Metadata 任务分组摘要) and relates itself to the sibling tool list_tasks, so an agent can distinguish it from list_tasks/list_actions without opening the schema. It stops short of fully positioning itself against all siblings, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states the role: use it to pick the group argument for list_tasks, which is genuine when-to-use guidance tied to a named alternative. There is no explicit when-not-to-use or prerequisite statement, so it falls just below the top tier.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yeelight_metadata.list_tasksAInspect
浏览、搜索或查看 Metadata 任务。传 task 返回单任务详情;传 query 搜索任务和 action;都不传则按 group 分页列出任务摘要。
| Name | Required | Description | Default |
|---|---|---|---|
| task | No | 可选任务 ID,例如 family_space.manage_room;传入后返回该任务详情和 action 摘要 | |
| group | No | 可选分组 ID,例如 family_space | |
| limit | No | 最多返回多少个任务 | |
| query | No | 可选搜索关键词,例如 room、房间、device、automation | |
| cursor | No | 分页游标;来自上一次返回的 nextCursor |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full behavioral burden. It does disclose mode-dependent behavior (single detail vs. search vs. paginated summary, and that query spans actions too), which is genuinely useful, but says nothing about read-only nature, result volume, or limits beyond what the schema already states.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with three clearly delimited clauses, front-loading the browse/search/view framing before the branch conditions. No filler, though the three modes run together without separators.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value detail is not needed here, and the branching logic across the five optional parameters is fully explained. Complete enough to invoke correctly; only cross-tool routing guidance is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each of the five parameters is already documented with examples in the schema. The description reinforces the mode semantics of task/query/group but adds no format, constraint, or interaction detail beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a concrete verb set (浏览/搜索/查看) bound to a specific resource (Metadata 任务) and enumerates three operating modes keyed to which parameter is supplied. It is distinguishable from list_actions and list_groups by resource, but it never names or contrasts those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit conditional guidance: pass task for a single-task detail view, pass query to search tasks and actions, pass neither to get group-paginated summaries. That covers when to use each mode well, but offers no guidance on when to prefer a different tool (e.g. list_actions or execute_task) instead.
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.
5 tool updates
- First observed
yeelight_metadata.execute_task - First observed
yeelight_metadata.get_action_schema - First observed
yeelight_metadata.list_actions - First observed
yeelight_metadata.list_groups - First observed
yeelight_metadata.list_tasks
Related MCP Connectors
Yeelight device discovery, state, control, and scene execution.
- DomusOAuthapp.getdomus
Homeowner's AI: view & update appliances, warranties, documents & maintenance for your home.
Control your existing Philips lights, Sonos speakers, Roborock vacuums and other supported devices through Port OS cloud. Give ChatGPT, Claude and other MCP-compatible assistants access to the devices you connect. Turn off the living room lights, play music on your speakers, adjust the thermostat, run a vacuum in a room, check a camera snapshot or find a connected tracker. Available actions depend on your linked provider accounts and each device’s supported capabilities. Port OS runs in the cloud; no local server is required. You choose the account, device and capability permissions each assistant receives. Device operations require user OAuth; public tool discovery does not grant device access. Port OS is in alpha. Setup: https://portoperatingsystem.com/docs/getting-started/ Support: https://portoperatingsystem.com/contact/
Control your Philips lights, Sonos speakers, Roborock vacuums and more with Port OS cloud.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables control of Yeelight smart lights over local LAN, supporting on/off, brightness, color, temperature, and auto discovery.-
- AlicenseNot gradedqualityCmaintenanceSmart Device Control 🎮 💡 Lights: Brightness, color, RGB 🌡️ Climate: Temperature, HVAC, humidity 🚪 Covers: Position and tilt 🔌 Switches: On/off 🚨 Sensors: State monitoring Intelligent Organization 🏠 Grouping with context awareness. Robust Architecture 🛠️ Error handling, state validation ...226 npm58Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to discover, read and control smart-home devices from multiple vendors through a unified capability model, and to author and trigger YAML scenes that a local deterministic engine executes without the AI in the control loop. High-risk actions such as door locks and garage doors are held in a confirmation queue for a human, and every call is written to a local audit log.Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables control of Tuya smart lighting over the local home network, including reading device state, turning devices on or off by name, and switching between white and colour modes with RGB or temperature settings. Devices and credentials stay on the server and are scoped per household principal, so each caller only sees their own home's lights.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.