Token导航 LogoToken导航

MCP Server · 浏览器工具

MCP Switchbot Go

一个基于Model Context Protocol (MCP)的服务器,用于通过Claude Desktop控制SwitchBot设备,支持动态工具生成和自动认证。

stdio官方级别未说明来源级核验工具 5
设备控制GoClaude智能家居Claude Desktop

快速开始

作者 / 组织
kta
提供方
kta
运行时
Docker

工具数量

5

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

MCP Switchbot Go 属于浏览器工具类 MCP Server,公开资料标注 5 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前要先准备 访问 Token。

分类

浏览器工具

传输方式

stdio

认证方式

访问 Token

部署方式

公开资料未说明

安装与配置

安装命令

docker run -i --rm -e SWITCHBOT_TOKEN=xxx -e SWITCHBOT_SECRET=yyy mcp-switchbot:latest

客户端配置示例

{
  "mcpServers": {
    "mcp-switchbot-go": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "SWITCHBOT_TOKEN=xxx",
        "-e",
        "SWITCHBOT_SECRET=yyy",
        "mcp-switchbot:latest"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Docker,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 5 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

SwitchBot MCP服务器(Go)

日语版在这里

A. 模型上下文协议(MCP) 使Claude Desktop能够控制SwitchBot设备的服务器。

特性

  • 183工具:完整覆盖SwitchBot API v1.1
  • 动态工具生成:根据YAML规范自动生成工具
  • 自动工具名称消毒:Auto符合MCP命名约定(转换括号等)
  • 自动更新:启动/生成时自动下载最新的API规范
  • HMAC-SHA256身份验证:SwitchBot API身份验证的自动处理
  • 本地/k8s支持:运行二进制、Docker容器或Kubernetes部署

需求

  • 转到1.23+(用于当地发展)
  • Docker(用于容器执行)
  • Kubernetes(用于生产部署)
  • SwitchBot API令牌和机密

正在获取SwitchBot API凭据

  1. 访问 SwitchBot官方网站
  2. 在应用程序中,转到个人资料→ 设置→ 点击“应用程序版本”10次以启用开发者模式
  3. 获取您的“令牌”并将其另存为 SWITCHBOT_TOKEN 和 SWITCHBOT_SECRET

有关详细信息,请参阅 SwitchBot API文档.

本地开发

1.设置环境变量

cp .env.example .env
# Edit .env file to set your token and secret

2.构建和运行

# Build
make build

# Run
export SWITCHBOT_TOKEN='your_token'
export SWITCHBOT_SECRET='your_secret'
./mcp-switchbot

或者,如果您在中设置了环境变量 .env 文件:

source .env
./mcp-switchbot

3.测试

# Get list of tools
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | \
  SWITCHBOT_TOKEN=xxx SWITCHBOT_SECRET=yyy ./mcp-switchbot

使用Docker运行

构建

make docker-build

跑

# Set environment variables and run
export SWITCHBOT_TOKEN='your_token'
export SWITCHBOT_SECRET='your_secret'
make docker-run

或者,使用docker compose:

# Set environment variables in .env file first
docker-compose up

Kubernetes部署

1.创建秘密

kubectl create secret generic switchbot-keys \
  --from-literal=token='YOUR_TOKEN' \
  --from-literal=secret='YOUR_SECRET'

2.构建和推送图像

# Build image
docker build -t your-registry/mcp-switchbot:latest .

# Push to registry
docker push your-registry/mcp-switchbot:latest

3.编辑k8s.yaml

更新 image: 领域 k8s.yaml 使用您的注册表URL。

4.部署

kubectl apply -f k8s.yaml

5.配置克劳德桌面

~/.config/claude/claude_desktop_config.json (Linux/Mac)或 %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "switchbot": {
      "command": "kubectl",
      "args": [
        "exec",
        "-i",
        "deployment/mcp-switchbot",
        "--",
        "/app/mcp-switchbot"
      ]
    }
  }
}

与Claude桌面的本地连接

要在没有Kubernetes的情况下直接使用本地二进制文件:

{
  "mcpServers": {
    "switchbot": {
      "command": "/path/to/mcp-switchbot",
      "env": {
        "SWITCHBOT_TOKEN": "your_token",
        "SWITCHBOT_SECRET": "your_secret"
      }
    }
  }
}

可用工具

此MCP服务器提供183个工具。主要类别:

  • 设备状态: getXxxStatus (获取每个设备的当前状态)
  • 设备控制: Xxx_turnOn/turnOff (电源开/关)
  • 参数设置: Xxx_setBrightness, Xxx_setColorTemperature等等。
  • 场景执行: executeScene (执行已注册的场景)

有关工具的完整列表,请参阅 mcp-server.yaml.

自动更新YAML规范

如果满足以下条件,服务器会自动下载最新版本 mcp-server.yaml 启动时不存在。

通过环境变量进行控制

  • MCP_YAML_URL:下载YAML规范的URL(默认:官方SwitchBot存储库)
  • MCP_FORCE_UPDATE:设置为 true 每次启动时强制下载最新版本
# Force download latest version on startup
MCP_FORCE_UPDATE=true ./mcp-switchbot

手动YAML更新

make update-yaml

发展

CI/CD管道

该项目包括使用GitHub Actions的自动化CI/CD管道:

  • 持续集成:对每个pull请求运行lint、构建、测试和安全扫描
  • 自动释放:推送标签时自动生成多平台二进制文件和Docker镜像
  • 依赖关系更新:Dependabot每周检查依赖关系

在本地运行CI检查:

make ci  # Lint + Build + Test

检查工具数量

make count-tools

更新依赖关系

make deps

贡献

对于贡献者,请参阅 贡献.md.

建筑

┌─────────────────┐
│ Claude Desktop  │
└────────┬────────┘
         │ stdio (JSON-RPC)
         │
┌────────▼────────┐
│  MCP Server     │
│  (Go)           │
│                 │
│  - YAML Parser  │
│  - Tool Gen     │
│  - HMAC Auth    │
└────────┬────────┘
         │ HTTPS
         │
┌────────▼────────┐
│  SwitchBot API  │
│  v1.1           │
└─────────────────┘

关键组件

  1. YAML解析器:从加载工具定义 mcp-server.yaml
  2. 动态工具生成:在运行时生成183个工具
  3. HMAC-SHA256身份验证:为每个请求生成签名
  4. HTTP客户端:处理对SwitchBot API的请求

故障排除

Claude Desktop显示“失败”

  1. 检查调试日志:
   tail -f /tmp/mcp-switchbot-debug.log
  1. 手动测试:
   cd /Users/spm/Documents/workspace/myspace/mcp-switchbot-go
   ./test-mcp.sh
  1. 验证环境变量:

确保 SWITCHBOT_TOKEN 和 SWITCHBOT_SECRET 在Claude Desktop配置文件中正确设置

  1. 检查克劳德桌面日志:

- 雨衣: ~/Library/Logs/Claude/ - 窗户: %APPDATA%\Claude\logs\

错误:“SWITCHBOT_TOKEN和SWITCHBOT_SCRET环境变量是必需的”

未设置环境变量。将以下内容添加到您的Claude Desktop配置文件中(claude_desktop_config.json):

{
  "mcpServers": {
    "switchbot": {
      "command": "/path/to/mcp-switchbot",
      "env": {
        "SWITCHBOT_TOKEN": "your_token_here",
        "SWITCHBOT_SECRET": "your_secret_here"
      }
    }
  }
}

错误:“读取mcp服务器.yaml失败”

mcp-server.yaml 找不到文件。尝试:

  1. 通过环境变量显式指定路径:
   "env": {
     "SWITCHBOT_TOKEN": "xxx",
     "SWITCHBOT_SECRET": "yyy",
     "MCP_YAML_PATH": "/Users/spm/Documents/workspace/myspace/mcp-switchbot-go/mcp-server.yaml"
   }
  1. 手动下载:
   make update-yaml

Docker stdin不工作

添加 -i 标记为 docker run:

docker run -i --rm -e SWITCHBOT_TOKEN=xxx -e SWITCHBOT_SECRET=yyy mcp-switchbot:latest

许可证

该项目在MIT许可证下发布。

相关链接

来源:

工具与能力

工具数量

5

资源数量

0

提示词数量

0

能力标签

设备控制Go本地部署智能家居API集成动态工具生成自动化

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

自动操作网页

打开页面、点击、填表,把浏览器动作交给模型执行。

抓结构化数据

把页面内容整理成表格或 JSON,省掉手工复制粘贴。

走一遍关键流程

按步骤检查页面是否正常,回归时少漏环节。

选择建议

值得选的地方

  • 只提供 5 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Docker,换机器要重新装一遍。
  • 需要自备访问 Token,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在浏览器工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到访问 Token的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
MCP Switchbot Go

MCP World · 本页

5stdio有1 个2026-05-17
Fetch 9a2682de

MCP.so

1SSE有3 个2026-05-17
Browser 738d52bc

MCP World

0stdio有1 个2026-05-17
Playwright MCP Server

MCP.so

21stdio有4 个2026-05-17
Skyvern MCP

MCP World

0stdio有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

MCP Switchbot Go 怎么安装?

公开资料给出的安装命令是 docker run -i --rm -e SWITCHBOT_TOKEN=xxx -e SWITCHBOT_SECRET=yyy mcp-switchbot:latest,运行环境为 Docker。装完后按客户端要求写进 MCP 配置,重启客户端生效。

MCP Switchbot Go 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Docker;保存后完全退出客户端再打开,配置才会生效。

MCP Switchbot Go 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

MCP Switchbot Go 需要 API Key 吗?

公开资料标注的认证方式是访问 Token,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

MCP Switchbot Go 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP