m

mcp-dyson-appliances

@m2ai-mcp-servers/mcp-dyson-appliances
0 Stars 3 次浏览 m2ai-mcp-servers 更新于 2026-08-23

MCP server for controlling Dyson air purifiers and fans

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "mcp-dyson-appliances": {
      "args": [
        "mcp-dyson-appliances@1.0.0"
      ],
      "command": "npx"
    }
  }
}

可用工具 (5 个)

该服务在 MCP 协议中暴露的工具,AI 可按需调用

tavily_search 14 个参数 需填 1 项

Search the web for current information on any topic. Use for news, facts, or data beyond your knowledge cutoff. Returns snippets and source URLs.

必填参数:query

tavily_extract 6 个参数 需填 1 项

Extract content from URLs. Returns raw page content in markdown or text format.

必填参数:urls

tavily_crawl 11 个参数 需填 1 项

Crawl a website starting from a URL. Extracts content from pages with configurable depth and breadth.

必填参数:url

tavily_map 8 个参数 需填 1 项

Map a website's structure. Returns a list of URLs found starting from the base URL.

必填参数:url

tavily_research 2 个参数 需填 1 项

Perform comprehensive research on a given topic or question. Use this tool when you need to gather information from multiple sources to answer a question or complete a task. Returns a detailed response based on the research findings.

必填参数:input

服务介绍

mcp-dyson-appliances

An MCP (Model Context Protocol) server for controlling Dyson air purifiers and fans.

# Features

  • get_device_status - Get current device state (power, fan speed, oscillation, night mode, air quality)
  • set_fan_speed - Set fan speed (1-10 or auto)
  • set_oscillation - Enable/disable oscillation
  • get_air_quality - Get detailed air quality readings (PM2.5, PM10, VOC, NO2, humidity, temperature)
  • set_night_mode - Enable/disable night mode

# Prerequisites

  • Node.js 18+
  • Dyson account with registered devices
  • Dyson devices connected to your network

# Supported Devices

  • Pure Cool Link (Tower & Desk)
  • Pure Cool
  • Pure Hot+Cool
  • Pure Hot+Cool Link
  • Pure Humidify+Cool
  • Pure Cool Formaldehyde

# Installation

# # From npm (Recommended)

npx mcp-dyson-appliances

# # From Source

git clone https://github.com/m2ai-mcp-servers/mcp-dyson-appliances.git
cd mcp-dyson-appliances
npm install
npm run build

# Configuration

# # Environment Variables

export DYSON_EMAIL=your-email@example.com
export DYSON_PASSWORD=your-password
export DYSON_COUNTRY=US  #  Optional, defaults to US

# # Supported Country Codes

  • US - United States
  • GB - United Kingdom
  • DE - Germany
  • FR - France
  • AU - Australia
  • CN - China

# # Claude Desktop Configuration

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "dyson": {
      "command": "npx",
      "args": ["-y", "mcp-dyson-appliances"],
      "env": {
        "DYSON_EMAIL": "your-email@example.com",
        "DYSON_PASSWORD": "your-password",
        "DYSON_COUNTRY": "US"
      }
    }
  }
}

# Usage Examples

# # Get device status

get_device_status

Returns:

{
  "device": {
    "serial": "ABC-XX-XXXXXXXX",
    "name": "Living Room"
  },
  "state": {
    "power": "on",
    "fanSpeed": "5",
    "oscillation": "on",
    "nightMode": "off",
    "autoMode": "off"
  },
  "airQuality": {
    "pm25": 8,
    "pm10": 12,
    "voc": 2,
    "no2": 1,
    "humidity": "45%",
    "temperature": "22.5°C",
    "level": "Good"
  }
}

# # Set fan speed

set_fan_speed speed="5"
set_fan_speed speed="auto"
set_fan_speed device_id="ABC-XX-XXXXXXXX" speed="10"

# # Set oscillation

set_oscillation enabled=true
set_oscillation device_id="ABC-XX-XXXXXXXX" enabled=false

# # Get air quality

get_air_quality

Returns:

{
  "pm25": {
    "value": 8,
    "unit": "µg/m³",
    "level": "Good"
  },
  "pm10": {
    "value": 12,
    "unit": "µg/m³"
  },
  "voc": {
    "value": 2,
    "unit": "index",
    "description": "Low"
  },
  "no2": {
    "value": 1,
    "unit": "index",
    "description": "Low"
  },
  "humidity": {
    "value": 45,
    "unit": "%",
    "description": "Comfortable"
  },
  "temperature": {
    "celsius": 22.5,
    "fahrenheit": 73
  }
}

# # Set night mode

set_night_mode enabled=true
set_night_mode device_id="ABC-XX-XXXXXXXX" enabled=false

# Air Quality Index (AQI) Levels

Based on PM2.5 readings:

| PM2.5 (µg/m³) | Level |
|- -- -- -- -- -- -- --|- -- -- --|
| 0-12 | Good |
| 13-35 | Moderate |
| 36-55 | Unhealthy for Sensitive Groups |
| 56-150 | Unhealthy |
| 151-250 | Very Unhealthy |
| 251+ | Hazardous |

# Development

#  Watch mode
npm run dev

#  Run tests
npm test

#  Build
npm run build

# Testing

npm test

# Troubleshooting

# # Authentication Failed

  • Verify your Dyson email and password are correct
  • Ensure your account has registered devices
  • Check if your country code is correct

# # Device Not Found

  • Ensure devices are powered on and connected to WiFi
  • Check if devices appear in the Dyson Link app
  • Try specifying the device serial number directly

# # Air Quality Not Available

  • Some older devices may not have air quality sensors
  • Ensure the device supports air quality monitoring

# Security Notes

  • Credentials are passed via environment variables (never hardcode)
  • The server uses HTTPS for all API communication
  • Consider using a secrets manager in production

# License

MIT


Built autonomously by GRIMLOCK - Autonomous MCP Server Factory

相关 MCP 服务