mcpField
D
Dirigera Mcp Iot Device Control Server

Dirigera Mcp Iot Device Control Server

本地服务
github.com/joakimeriksson其他610 周前更新

关于 Dirigera Mcp Iot Device Control Server

面向智能家居用户的 MCP 服务,用于管理 IKEA Dirigera 设备,包括灯、插座和环境传感器。它提供设备状态查询与控制工具,并支持本地及远程传输方式。

主要功能

  1. 01查看传感器读数
  2. 02查看插座和灯具状态
  3. 03切换设备开关
  4. 04调节灯光亮度和颜色
  5. 05支持标准输入输出及远程传输
  6. 06可选 JWT 身份验证

适用场景

  1. 01查询温度、湿度和空气质量
  2. 02查看插座功率及灯具状态
  3. 03按名称开关灯具或插座
  4. 04调整兼容灯具的亮度或颜色

MCP 相关

向 MCP 客户端提供传感器、插座和灯具状态查询,以及电源和灯光设置控制工具。支持标准输入输出、streamable HTTP 和 SSE 传输。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Dirigera MCP 服务

用于控制 IKEA Dirigera 智能家居设备的 MCP 服务,包括插座、灯具和环境传感器。

基于 FastMCP 和 dirigera Python 库构建。

前提条件

  • Python 3.11+
  • uv 包管理器
  • 本地网络中的 IKEA Dirigera Hub

设置

1. 安装依赖项
uv sync
2. 获取 Dirigera 令牌

你需要一个 JWT 令牌来向 Dirigera Hub 进行身份验证。使用附带的辅助工具:

uv run gen_token.py 192.168.1.200

此操作会向 Hub 发送身份验证质询。出现提示时,按下 Dirigera Hub 上的操作按钮,随后会输出令牌。

3. 配置

复制示例配置并填入你的值:

cp config.example.toml config.toml
[dirigera]
host = "192.168.1.200"
token = "your-dirigera-token-here"

默认情况下,服务会在 ../config.toml(上一级目录)中查找配置。使用 --config-path 覆盖此路径:

uv run dirigeramcp.py --config-path ./config.toml

运行服务

本地(stdio)——用于 Claude Desktop、Claude Code、MCP CLI
uv run dirigeramcp.py
远程(streamable-http)——推荐用于远程客户端
uv run dirigeramcp.py --transport streamable-http --host 0.0.0.0 --port 8000

服务将在 http://<your-ip>:8000/mcp 上提供。

远程(SSE)——旧版
uv run dirigeramcp.py --transport sse --host 0.0.0.0 --port 8000

服务将在 http://<your-ip>:8000/sse 上提供。

使用 JWT 身份验证

对于远程传输,你可以启用 JWT 身份验证:

uv run dirigeramcp.py --transport streamable-http --host 0.0.0.0 --auth

首次使用 --auth 运行时,如果配置中不存在 [auth] 部分,服务会自动生成密钥并保存。你也可以在 config.toml 中手动设置:

[auth]
jwt_secret = "your-hex-secret"
api_key = "your-hex-api-key"
expiry_hours = 24

要获取 JWT 令牌,请向令牌端点发送 POST 请求:

curl -X POST http://localhost:8000/auth/token \
  -H "Content-Type: application/json" \
  -d '{"api_key": "your-api-key"}'

要刷新即将过期的令牌:

curl -X POST http://localhost:8000/auth/refresh \
  -H "Authorization: Bearer <your-jwt-token>"

可用工具

工具描述参数
get_environment_sensors列出包含温度、湿度、PM2.5、VOC、CO2 数据的传感器--
get_outlets列出包含功率、电压、电流数据的插座--
get_lights列出包含亮度、色温、色相、饱和度和开关状态的灯具--
set_onoff按名称打开或关闭插座或灯具name、is_on
set_light_level设置灯具亮度name、light_level(int)
set_light_color设置灯具颜色(如果支持)name、color_saturation(0.0-1.0)、color_hue(0-360)

使用 MCP Inspector 测试

npx @modelcontextprotocol/inspector uv --directory . run dirigeramcp.py

Claude Desktop 配置

将以下内容添加到你的 Claude Desktop claude_desktop_config.json:

{
  "mcpServers": {
    "dirigera": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/mcp-agents/dirigera/fastmcp",
        "run",
        "dirigeramcp.py"
      ]
    }
  }
}

命令行选项

--config-path   Path to config TOML file (default: ../config.toml)
--host          Host to bind to (default: 127.0.0.1, use 0.0.0.0 for remote)
--port          Port to bind to (default: 8000)
--transport     stdio | sse | streamable-http (default: stdio)
--auth          Enable JWT authentication (remote transports only)

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。