项目简介

该项目是一个基于 Model Context Protocol (MCP) 的服务器实现,用于允许支持MCP协议的客户端(如某些LLM应用)通过SwitchBot API控制您的SwitchBot智能设备。它作为LLM与物理设备之间的桥梁,将LLM的意图转化为实际的设备操作。

主要功能点

该MCP服务器提供以下功能:

  • 获取设备列表: 查询并列出与您的SwitchBot账户关联的所有设备。
  • 获取设备状态: 查询特定SwitchBot设备的当前状态信息(如开关状态、电量等,具体取决于设备类型)。
  • 控制设备开关: 对支持开关功能的SwitchBot设备执行打开或关闭操作。

安装步骤

  1. 准备可执行文件: 从项目的 Release 页面 下载适用于您操作系统的最新版本可执行文件。
  2. 获取SwitchBot API凭证: 按照 SwitchBot API 的入门指南 获取您的 API Token 和 Secret。

服务器配置

MCP服务器是为MCP客户端应用提供服务的。您不需要直接运行此服务器文件,而是需要在支持MCP协议的客户端应用(例如Claude Desktop或其他兼容应用)中配置该服务器。客户端应用会根据您的配置在需要时启动此服务器进程并与其通信。

配置信息通常以JSON格式存在于客户端应用的设置文件或界面中,您需要提供以下关键信息:

  • 服务器名称 (server name): 您为该服务器指定的标识名称(例如,可以在客户端配置中命名为 'switchbot')。
  • 启动命令 (command): 您下载的可执行文件的完整文件路径(例如,假设您下载到 '~/Downloads' 目录下,路径可能类似于 '~/Downloads/switch-bot-mcp-server')。
  • 环境变量 (env): 一个包含服务器启动所需环境变量的对象。您必须在此包含从SwitchBot API获取的 'SWITCH_BOT_TOKEN' 和 'SWITCH_BOT_SECRET'。

例如,在客户端配置中可能体现为如下概念结构(具体格式取决于客户端应用):

{
  "mcpServers": {
    "您自定义的服务器名称": { // 例如: "switchbot"
      "command": "您下载的可执行文件的路径", // 例如: "~/Downloads/switch-bot-mcp-server"
      "env": {
        "SWITCH_BOT_TOKEN": "您的SwitchBot API Token",
        "SWITCH_BOT_SECRET": "您的SwitchBot API Secret"
      }
    }
  }
}

请参考您的MCP客户端应用的具体文档来正确添加和配置此服务器。

基本使用方法

配置并在MCP客户端应用中启用该服务器后,客户端应用即可发现该服务器提供的工具能力。您可以通过与LLM进行自然语言交互来使用这些功能。

例如,您可以尝试以下指令:

  • "列出我所有的SwitchBot设备。" (LLM可能会调用 'get_switch_bot_devices' 工具)
  • "BotDevice现在的状态是什么?" (LLM可能会调用 'get_switch_bot_device_status' 工具,您可能需要提供设备ID)
  • "关闭客厅的窗帘电机。" (LLM可能会调用 'turn_on_off_device' 工具,并根据您的描述识别设备ID和关闭操作)

LLM会解析您的指令,判断需要调用的工具及参数,然后通过MCP协议与SwitchBot MCP服务器通信来执行操作并获取结果,并将结果以自然语言的形式呈现给您。

信息

分类

AI与计算