OpenClaw 白皮书

小度 MCP 设备控制 Server (官方版)

注意: 该集成由小度 DuerOS 官方提供。允许 AI 模型通过标准化接口控制您的小度设备。
小度 MCP 设备控制 Server 是一个基于 Model Context Protocol (MCP) 构建的智能设备控制服务。它允许 AI 模型(如 Claude 等大语言模型)通过标准化接口控制您的:
  1. 小度智能屏设备(如小度添添、小度智能屏等)
  2. 小度 IoT 智能家电(如智能灯、空调、插座等生态链设备)

功能特性

1. 智能屏控制(Mcporter)

首先您需要进行授以获得访问凭证(mcporter),这是控制智能屏的基础。授权完成后,您可以:
  • 📱 获取设备列表 (get_devices): 查询您账号下所有的在线小度智能屏设备信息
  • 🗣️ 文本播报 (text_to_speech): 让指令设备朗读指定的文本内容
  • 🎤 执行语音指令 (execute_voice_command): 模拟用户对设备说出的语音指令(例如“播放周杰伦的歌”、“设置明天早上8点的闹钟”)
  • 📸 远程拍照 (take_picture): 控制设备的摄像头拍摄照片并返回图像
  • 🖼️ 推送展示资源 (push_resource): 向设备屏幕推送图片或文本进行展示

2. IoT 智能家电控制

通过提供 xiaodu_token (见下方配置说明),您可以直接控制小度智能家居生态中的设备:
  • 🏠 查询家电列表 (get_appliances): 获取您绑定的所有智能家电设备列表及其支持的控制操作
  • ⚙️ 控制家电设备 (control_appliance): 向指定家电发送控制指令(如开灯、调温、切换模式等)

3. 智能场景触发

同样需要 xiaodu_token
  • 🎭 查询场景列表 (get_scenes): 获取您在小度 App 中预设的所有智能场景
  • ▶️ 执行场景 (execute_scene): 一键触发执行预设的智能家居场景

安装

bash
npm install -g @dueros-mcp/xiaodu-control

配置指南

您有两种方式提供所需的认证凭证(可以只提供其中一个或全部提供,MCP 将自动暴露对应的工具组):

方式一:环境变量(推荐)

bash
export MCPORTER="[您的MCPORTER配置JSON字符串]"
export XIAODU_TOKEN="[您的小度Token]"
如果您使用 Claude Desktop,请在 Claude 配置文件中添加:
json
{
  "mcpServers": {
    "xiaodu-control": {
      "command": "npx",
      "args": ["-y", "@dueros-mcp/xiaodu-control"],
      "env": {
        "MCPORTER": "[您的MCPORTER配置JSON字符串]",
        "XIAODU_TOKEN": "[您的小度Token]"
      }
    }
  }
}

方式二:命令行参数

bash
npx -y @dueros-mcp/xiaodu-control --mcporter="[配置]" --xiaodu-token="[token]"

凭证获取指南

1. 获取 MCPORTER(用于控制智能屏)

  1. 确保您的小度智能屏与您的手机处于**同一局域网(同一 Wi-Fi)**下。
  2. 使用手机访问:小度 MCP 授权页面
  3. 页面会自动发现局域网内的小度设备。点击目标设备后的【授权】按钮。
  4. 智能屏会弹出授权确认窗口,在屏幕上点击【同意】。
  5. 手机页面会生成并显示您的 mcporter 凭据信息(一段 JSON 字符串,包含密钥和设备信息)。
  6. 将这段 JSON 字符串复制应用到您的配置中(如作为环境变量 MCPORTER 的值)。

2. 获取 XIAODU_TOKEN(用于控制 IoT 家电和场景)

  1. 在任意终端(如您的电脑),执行以下 curl 命令:
bash
curl -X 'POST' \
'https://xiaodu.baidu.com/saiya/auth/v1/app/getQrcode' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{}'
  1. 运行后,您会得到一个类似如下的 JSON 响应,记录下其中的 imageUrlauthCode
  2. 在浏览器中打开 imageUrl 对应的链接,您会看到一个二维码。
  3. 打开小度 App(手机端),使用 App 内的扫码功能扫描该二维码,并在手机上确认登录授权。
  4. 授权完成后,使用之前保存的 authCode 执行下面第二个命令获取 Token:
bash
curl -X 'POST' \
'https://xiaodu.baidu.com/saiya/auth/v1/app/getToken' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
  "authCode": "<将这里的文本替换为你刚才获取的authCode>"
}'
  1. 响应的 JSON 中会包含所需的 Token 信息,记录下 accessToken(即您的 XIAODU_TOKEN)。
  2. 将获取到的 accessToken 应用到您的配置中(如作为环境变量 XIAODU_TOKEN 的值)。

缺陷与排障

可以通过访问开源仓库寻求帮助: GitHub: dueros-mcp/xiaodu-control-official