Modern SwitchBot MCP server with stdio and Streamable HTTP transports
Modern SwitchBot MCP server with stdio and Streamable HTTP transports. The switchbot mcp mcp server wraps that behind the Model Context Protocol, so an assistant can use it through 4 defined tools rather than through you.
The source repository is public, but v3 is not yet published to npm or the official MCP Registry. The npm, npx, and one-click commands in this README become usable only after the first release tracked in Issue #7. Build from source for current evaluation.
Everything the assistant can do here goes through one of these:
Read — only checks (list_devices and list_scenes)Required — The Required tool exposed by this serverTransport — HTTP requests with an Origin header must use a hostname from the same allowlist as the Host header. Localhost and the configured bind host areRuntime — The Runtime tool exposed by this serverYou will need 8 environment variables: SWITCHBOT_TOKEN, SWITCHBOT_SECRET, MCP_TRANSPORT, YOUR_SWITCHBOT_TOKEN, YOUR_SWITCHBOT_SECRET, MCP_SERVER_API_KEY, MCP_HTTP_HOST, MCP_HTTP_PATH. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.
The server ships on npm as @genm-dev/switchbot-mcp, so your MCP client can launch it on demand — there is no separate build step. Add the server block to your client's configuration, restart it, and the tools register themselves.
Among the developer tooling options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. Switchbot MCP's toolset — Read, Required, Transport and 1 more — is a fair guide to whether it matches your workflow. It is maintained by genm; worth a glance at recent repository activity before you build anything load-bearing on it.
This entry was verified against Switchbot MCP's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.
| Tool | What it does |
|---|---|
| Read | only checks (list_devices and list_scenes) |
| Required | The Required tool exposed by this server. |
| Transport | HTTP requests with an Origin header must use a hostname from the same allowlist as the Host header. Localhost and the configured bind host are included automatically. Add reverse-proxy hostnames explicitly; malformed or |
| Runtime | The Runtime tool exposed by this server. |
### Claude Desktop
```json
{
"mcpServers": {
"switchbot": {
"command": "npx",
"args": ["-y", "@genm-dev/switchbot-mcp"],
"env": {
"SWITCHBOT_TOKEN": "YOUR_SWITCHBOT_TOKEN",
"SWITCHBOT_SECRET": "YOUR_SWITCHBOT_SECRET",
"MCP_TRANSPORT": "stdio"
}
}
}
}Configuration as documented by the project. Restart the client after saving.
| Variable | Description | Required |
|---|---|---|
| SWITCHBOT_TOKEN | Credential the server authenticates with. | Yes |
| SWITCHBOT_SECRET | Credential the server authenticates with. | Yes |
| MCP_TRANSPORT | Configuration value read at startup. | Optional |
| YOUR_SWITCHBOT_TOKEN | Credential the server authenticates with. | Yes |
| YOUR_SWITCHBOT_SECRET | Credential the server authenticates with. | Yes |
| MCP_SERVER_API_KEY | Credential the server authenticates with. | Yes |
| MCP_HTTP_HOST | Endpoint or connection string the server talks to. | Optional |
| MCP_HTTP_PATH | Filesystem location the server is allowed to use. | Optional |
Kill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Microsoft's official browser automation server — drive a real browser through the accessibility tree, no screenshots needed.
GitHub's official server — repos, issues, pull requests, Actions and code security, straight from your assistant.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Local repository surgery — status, diffs, commits, branches and history for any repo on disk.
Timezone sanity for AI — current time anywhere and correct conversions, without the model doing date math.