Content
# aidot-mcp-server
MCP server for controlling [AiDot](https://www.aidot.com/) smart lights via the cloud API, deployable to Cloudflare Workers via [mcp-deploy](https://github.com/upascal/mcp-deploy).
## Tools
| Tool | Description |
|---|---|
| `list_devices` | List all devices and groups with current state (on/off, brightness, color, CCT) |
| `get_device_status` | Get detailed status of a specific device |
| `turn_on` | Turn on a light (by group or device ID) |
| `turn_off` | Turn off a light (by group or device ID) |
| `set_brightness` | Set brightness 0-100% |
| `set_color` | Set RGBW color (each channel 0-255) |
| `set_color_temperature` | Set color temperature in Kelvin (1800-6500K) |
## Setup
### Deploy with mcp-deploy
```bash
mcp-deploy add upascal/aidot-mcp-server
```
Then configure your AiDot credentials in the mcp-deploy GUI.
### Required Secrets
| Secret | Description |
|---|---|
| `AIDOT_EMAIL` | Your AiDot app login email |
| `AIDOT_PASSWORD` | Your AiDot app login password |
### Optional Config
| Config | Default | Description |
|---|---|---|
| `AIDOT_COUNTRY_CODE` | `US` | Country code — determines API region (US, EU, or JP) |
## How It Works
This MCP server uses the AiDot cloud API (`prod-{region}-app-api.arnoo.com/v34`) — the same API the official AiDot mobile app uses. All communication is standard HTTPS, making it fully compatible with Cloudflare Workers.
The cloud API controls lights through **groups**. Each light belongs to at least one group. The `list_devices` tool shows both devices and their groups. Control tools accept either a group ID (numeric) or a device ID (hex) — device IDs are automatically resolved to their group.
## Architecture
```
packages/
├── mcp/ # Transport-agnostic AiDot tools library
│ # Cloud API client, RSA crypto, MCP tool definitions
└── deploy/ # Cloudflare Worker wrapper (Durable Object for mcp-deploy)
```
## Development
```bash
npm install
npm run dev
```
## Publishing a Release
```bash
git tag v0.1.0
git push origin v0.1.0
```
GitHub Actions builds `worker.mjs` + `mcp-deploy.json` and creates a release.
Connection Info
You Might Also Like
everything-claude-code
Complete Claude Code configuration collection - agents, skills, hooks,...
markitdown
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
cc-switch
All-in-One Assistant for Claude Code, Codex & Gemini CLI across platforms.
servers
Model Context Protocol Servers
servers
Model Context Protocol Servers
Time
A Model Context Protocol server for time and timezone conversions.