Yeelight Metadata MCP Server

io.github.Yeelight由 GitHub 账号 Yeelight 发布v1.0.0更新于 Oct 24, 2026

Yeelight home metadata and guarded management workflows.

已验证Streamable HTTP可网页运行位置与生活效率与工作流

概览

AI 生成的概览

Yeelight 云端 MCP 服务器,让助手获得智能家居的结构化视图,并以受保护的方式管理房间、设备、场景和自动化。

可以做什么
  • 发现任务组、任务与运行时动作目录,并读取每个动作的参数结构
  • 列出家庭、房间、设备、分组、面板、场景、自动化、收藏与维护项
  • 通过统一的 execute_task 工具规划并执行家居管理任务,默认仅生成 dry-run 计划
  • 读取 MCP 资源与提示词,用于任务发现、变更规划和自动化排查
适用场景
适用于支持 MCP 但无法安装 Agent Skills 的 AI 客户端,需要理解并管理 Yeelight 智能家居时。它侧重房间、设备、分组、场景、自动化和面板管理,实时设备控制由配套的 IoT 服务负责。
运行要求
使用 Yeelight 云端的远程 Streamable HTTP 端点,无需本地安装。必须在 Authorization 请求头中提供 Yeelight 云 Bearer 令牌,可选 Yeelight-Region 与 House-Id 请求头。从源码运行需要 Python 3.10 或更高版本。
安装前请注意
Authorization 令牌等同于完整账号凭据:不要粘贴到 AI 对话中,优先使用二维码登录流程,让令牌留在本地代理里。任务可创建、更新、删除、解绑、转移或登录,实际执行 S2/S3 操作需 confirmSideEffect=true;请先做 dry run 并使用可恢复的数据。家居数据会发送到 Yeelight 云服务。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Yeelight Metadata MCP Server,将其添加到工作区。
  2. 连接 Authorization token 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.Yeelight%2Fyeelight-metadata-mcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "yeelight-metadata": {
      "type": "http",
      "url": "https://api.yeelight.com/apis/metadata_mcp_server/v1/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

Yeelight Metadata MCP Server

简体中文

Official Repository And Mirrors

GitHub is the canonical source for issues, contributions, CI, and releases. Read-only mirrors are available on Gitee and GitCode for users who cannot reach GitHub reliably, with GitLab.com as an additional global fallback. Clone from any reachable source, but report issues and contribute changes on GitHub.

This repository contains the home-understanding and management service inside Yeelight MCP. Ordinary users connect the complete Yeelight MCP suite once; they do not choose or install this server separately. Its guarded task interface covers homes, rooms, devices, groups, panels, scenes, automations, favorites, maintenance, and account operations.

[!TIP] New to Yeelight MCP? Follow the official English Yeelight MCP tutorial to prepare Yeelight Home, connect the complete Metadata and IoT capability suite, and verify the first real response. A Simplified Chinese tutorial is also available.

Yeelight Cloud MCP Suite

Yeelight Metadata MCP and Yeelight IoT MCP form the official Yeelight MCP cloud suite. They are independently deployed services configured together by the ordinary-user setup:

ServerRole in the suiteCore capabilities
Metadata MCPHome understanding and guarded management.Broad discovery and guarded workflows for homes, rooms, devices, groups, panels, scenes, automations, favorites, maintenance, accounts, multi-region authorization, and request-scoped home selection.
IoT MCPLive state and focused control.Direct topology and live-state access, device control through control_node, and scene execution through execute_scene.

Recommended composition: run one Yeelight MCP setup. It configures both services in the same AI client so the model receives home understanding, management, live state, and control without a second install or scan.

Place In Yeelight AI

yeelight-home provides the recommended installation, QR sign-in, and client-configuration flow. Ordinary users should prefer the complete yeelight-smart-home Skill. When a client cannot install Skills, one cloud setup connects the complete Yeelight MCP suite; the cloud services then execute independently of the local Runtime.

In plain language: this server gives an MCP-only AI a structured view of your home and guarded ways to manage it. It is not another CLI and it is not required by yeelight-home or the Smart Home Skill.

Choose this whenChoose something else when
Your AI client supports MCP but cannot install Agent Skills.Your client can install Skills: use yeelight-smart-home for the complete guided experience.
The AI needs rooms, devices, groups, scenes, automations, panels, or home management.You are scripting or troubleshooting in a terminal: use yeelight-home directly.
You need to develop or troubleshoot the home-understanding service inside Yeelight MCP.You only need an existing specialized control_node or execute_scene integration: use the IoT service documentation.

Highlights

  • Six namespaced tools instead of a large set of low-level HTTP operations.
  • 7 task groups, 23 tasks, and a runtime action catalog.
  • Safe-by-default execution: dryRun defaults to true.
  • Explicit confirmation for S2/S3 side effects.
  • Candidate actions are blocked from live execution by default.
  • MCP resources and prompts for task discovery and change planning.
  • Compatible METADATA_MCP_* and legacy APP_MCP_* environment variables.

Hosted Service

The official Streamable HTTP endpoint is:

text
https://api.yeelight.com/apis/metadata_mcp_server/v1/mcp

Required request header:

  • Authorization

Recommended optional headers:

  • Yeelight-Region: cn, sg, us, or eu; defaults to the deployment Region (cn by default)
  • House-Id

Authorization is the only required user credential. When Yeelight-Region is absent, the server can use the JWT Region claim to select an official endpoint, then validates the complete token there. Yeelight services derive client identity from that verified authorization context; users never enter a Client ID. For actions that need a home, precedence is context.houseId -> House-Id -> first Pro home in the same Region. The fallback is request-scoped, not a global current-home state.

MCP Capabilities

Tools:

  • yeelight_metadata.list_groups
  • yeelight_metadata.list_houses
  • yeelight_metadata.list_tasks
  • yeelight_metadata.list_actions
  • yeelight_metadata.get_action_schema
  • yeelight_metadata.execute_task

Resources:

  • yeelight-metadata://tasks
  • yeelight-metadata://actions
  • yeelight-metadata://schema/{task}/{action}

Prompts:

  • yeelight_metadata.inspect_home_metadata
  • yeelight_metadata.plan_metadata_change
  • yeelight_metadata.troubleshoot_automation_metadata

Treat the live MCP tools/list response as the source of truth for tool schemas.

Quick Start

Recommended: let Yeelight Home complete sign-in and configuration

bash
npm install --global yeelight-homeyeelight-home setup --lang en-US --mode mcp --agent cursor --mcp-source cloud --yes

The command displays the QR code. In Yeelight Pro app, tap Home's top-right +, choose MCP Authorization, and scan it. A single Pro home is selected automatically; only multiple homes require a choice by name. Replace cursor with your client or use --agent auto for detection. The generated client configuration starts a local credential proxy and contains no Authorization value. Manual token configuration remains an advanced compatibility path; never paste a token into an AI chat.

Connect to the hosted server

json
{  "mcpServers": {    "yeelight-metadata": {      "url": "https://api.yeelight.com/apis/metadata_mcp_server/v1/mcp",      "headers": {        "Authorization": "<YOUR_AUTHORIZATION>",        "Yeelight-Region": "cn",        "House-Id": "<YOUR_HOUSE_ID>"      }    }  }}

Both optional headers may be omitted. A JWT token supplies its Region claim; opaque tokens use the deployment default. Match an explicitly selected endpoint host to the Region (api.yeelight.com, api-sg.yeelight.com, api-us.yeelight.com, or api-de.yeelight.com). To switch homes, call yeelight_metadata.list_houses, then pass the chosen ID as request.context.houseId on subsequent calls.

See the integration guide for Cursor, Claude Desktop, local source, and combined IoT/Metadata configurations.

Run from source

Requirements: Python 3.10 or newer. Python 3.12 is recommended for local development.

bash
uv venv .venvsource .venv/bin/activateuv pip install -e '.[test]'
METADATA_MCP_RUNTIME_ENV=local ./service.sh start./service.sh status

The local endpoint is http://127.0.0.1:9010/mcp. A request without an Authorization header returns 401 by design.

Direct startup is also supported:

bash
METADATA_MCP_RUNTIME_ENV=local \METADATA_MCP_BIND_HOST=127.0.0.1 \PYTHONPATH=src \.venv/bin/uvicorn main:streamable_http_app --host 127.0.0.1 --port 9010

Safety Model

Every action has an execution mode, side-effect level, status, and parameter schema.

LevelMeaningExamples
S0Read-onlylist, get, search
S1Diagnostic or external activitydiagnose, download, poll
S2Create or updatecreate, update, configure
S3Destructive or identity-sensitivedelete, unbind, transfer, login

execute_task defaults to a plan-only request:

json
{  "request": {    "task": "family_space.manage_room",    "action": "create",    "payload": {"name": "Sample Room"},    "options": {"dryRun": true}  }}

Live S2/S3 execution requires confirmSideEffect=true. Candidate actions also require allowCandidate=true and are restricted by runtime policy. Start with a dry run, review plan.httpRequest, then execute only with testable or recoverable data.

Configuration

VariableDefaultPurpose
METADATA_MCP_RUNTIME_ENVprodprod, dev, local, or test
METADATA_MCP_BIND_HOSTlocal/test: 127.0.0.1; prod/dev: 0.0.0.0Listen address
METADATA_MCP_PORT9010Listen port
METADATA_MCP_PATH/mcpMCP route
METADATA_MCP_DEFAULT_REGIONcnDefault Region when Yeelight-Region is absent
METADATA_MCP_HOST_PREFIXhttps://api.yeelight.comYeelight API host
METADATA_MCP_API_BASE_URLhost prefixExplicit API base URL
METADATA_MCP_HTTP_TIMEOUT15Upstream timeout in seconds
METADATA_MCP_RESOURCE_DIRresources/catalogRuntime catalog override
METADATA_MCP_NACOS_ENABLEenvironment-dependentNacos registration switch
METADATA_MCP_NACOS_SERVERenvironment-dependentNacos servers
METADATA_MCP_ALLOW_CANDIDATE_EXECUTIONfalseCandidate execution gate

Legacy APP_MCP_* names remain supported for deployment compatibility. Standard Yeelight cloud origins support per-request Region routing. A custom API base is fixed to METADATA_MCP_DEFAULT_REGION; requests naming another Region are rejected instead of being silently misrouted.

Documentation

Development

bash
PYTHONPATH=src python -m pytest -qpython -m compileall -q main.py src tests scripts

The repository also includes protocol and acceptance utilities under scripts/. Live acceptance commands can change cloud data; use explicit credentials, a non-production home, and recoverable fixtures.

License

Licensed under the Apache License 2.0.

来源:README.md,提交 b34ca72

工具

0
该服务器需要 API 密钥等凭据,因此 SourceWeft 无法在没有凭据的情况下读取其工具,也未收录。

版本历史

1
  1. v1.0.0最新Oct 12, 2026

评分

已满足适用检查项的 85%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分