Flair MCP服务器

一个实用的Flair MCP服务器,提供OAuth2客户端凭证认证、安全默认设置和自动化设置,用于处理操作员管道。

  • by masltov-creations
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 masltov-creations/flair-mcp

使用说明

Flair MCP

人工智能工具和Flair之间礼貌的偏执桥梁。

用于Flair的实用MCP服务器,具有OAuth2客户端凭据身份验证、安全默认值和处理操作员管道的设置自动化。

本项目不隶属于Flair,也不由Flair认可或维护。
对于API正式入职:https://api.flair.co/

从这里开始(60秒)

mkdir -p /home/$USER/apps && ( [ -d /home/$USER/apps/flair-mcp/.git ] && git -C /home/$USER/apps/flair-mcp pull --ff-only origin main || git clone https://github.com/masltov-creations/flair-mcp /home/$USER/apps/flair-mcp ) && cd /home/$USER/apps/flair-mcp && ./scripts/setup.sh

这里没有浏览器OAuth步骤。此服务器使用 client_credentials.

什么设置为您处理

./scripts/setup.sh 是主要工作流,可以安全地重新运行。

它可以:

  • 写入/更新 .env 默认值
  • 收集Flair API证书
  • 配置读/写权限模式
  • 安装依赖项并构建
  • 可选择安装/刷新systemd服务
  • 可选择安装 SKILL.md 对于OpenClaw
  • 可选配置和验证 mcporter
  • 可选择在SmartThings网关设置中将Flair注册为上游
  • 等待健康准备和深度健康验证

设置要求您做什么

  • FLAIR_CLIENT_ID
  • FLAIR_CLIENT_SECRET
  • 许可模式(read 或 write)
  • 可选的systemd安装
  • 可选的OpenClaw技能安装
  • 可选的 mcporter 注册/验证
  • 可选的SmartThings网关集成

提供商访问检查表

  1. 开始于https://api.flair.co/
  2. 按照官方入门步骤获取:
  • FLAIR_CLIENT_ID
  • FLAIR_CLIENT_SECRET
  1. 跑 ./scripts/setup.sh 并提供凭证。
  2. 验证 /healthz?deep=1.

快速验证

curl -sS http://127.0.0.1:8090/healthz?deep=1
npx -y mcporter list flair --schema

如果 ok: true 和 deep.ok: true,服务器已准备就绪。

技能(法学硕士)

使用 SKILL.md 作为操作员指南:

  • 刀具路径
  • 渐进式披露
  • 输出格式化合同
  • 编写安全确认流程

安装程序可以在检测到OpenClaw时自动安装此程序。

工具亮点

读取/查询

  • health_check
  • list_resource_types
  • list_structures
  • list_rooms
  • list_vents
  • list_devices
  • list_named_devices
  • list_room_temperatures
  • list_device_room_temperatures
  • list_vents_with_room_temperatures
  • list_vents_by_room_temperature
  • list_open_vents_in_cold_rooms (便捷快捷方式)
  • list_resources
  • get_resource
  • get_related_resources

写入/控制(默认禁用)

  • update_resource_attributes
  • create_resource
  • set_vent_percent_open
  • set_vent_percent_open_and_verify (首选:写入+状态验证)

通过设置启用写入(FLAIR_PERMISSION_MODE=write)或 WRITE_TOOLS_ENABLED=true.

快速查询示例

# Generic vent filter: open vents in rooms below 68F
npx -y mcporter call --server flair --tool list_vents_by_room_temperature --args '{"temperature_operator":"lt","threshold_temp_f":68,"vent_state":"open"}' --output json

# Generic vent filter: closed vents in rooms above 74F
npx -y mcporter call --server flair --tool list_vents_by_room_temperature --args '{"temperature_operator":"gt","threshold_temp_f":74,"vent_state":"closed"}' --output json

# Convenience shortcut
npx -y mcporter call --server flair --tool list_open_vents_in_cold_rooms --args '{"below_temp_f":68,"min_percent_open":1}' --output json

# Preferred write path: set vent and verify observed state in one call
npx -y mcporter call --server flair --tool set_vent_percent_open_and_verify --args '{"vent_id":"<vent-id>","percent_open":30}' --output json

set_vent_percent_open_and_verify 仅在启用写入模式时可用。

OpenClaw+mcporter

注册服务器:

npx -y mcporter config add flair http://localhost:8090/mcp --allow-http --transport http --scope home

列出工具:

npx -y mcporter list flair --schema

可选集成

如果您单独运行SmartThings MCP网关,安装程序可以在那里添加Flair作为命名上游。

该集成是可选的,仅在您选择时启用。

常见操作

更新运行时安装并重新启动:

cd /home/$USER/apps/flair-mcp && git pull --ff-only origin main && npm run build && sudo systemctl restart flair-mcp

切换到写入模式:

cd /home/$USER/apps/flair-mcp && FLAIR_PERMISSION_MODE=write INSTALL_SYSTEMD=false INSTALL_OPENCLAW_SKILL=false CONFIGURE_MCPORTER=false INTEGRATE_SMARTTHINGS_GATEWAY=false ./scripts/setup.sh && sudo systemctl restart flair-mcp

切换回只读模式:

cd /home/$USER/apps/flair-mcp && FLAIR_PERMISSION_MODE=read INSTALL_SYSTEMD=false INSTALL_OPENCLAW_SKILL=false CONFIGURE_MCPORTER=false INTEGRATE_SMARTTHINGS_GATEWAY=false ./scripts/setup.sh && sudo systemctl restart flair-mcp

安全地重新运行安装程序:

cd /home/$USER/apps/flair-mcp && ./scripts/setup.sh

手动安装工作区技能:

install -Dm644 SKILL.md ~/.openclaw/workspace/skills/flair-mcp/SKILL.md

故障排除(快速点击)

  • deep.ok: false 和 invalid_client 凭据错误。使用重新运行安装程序 FORCE_REENTER_CREDS=true.

  • 服务启动,但工具看起来很旧 提取最新版本、重建、重新启动服务、重新列出工具。

  • Host not allowed 更新 ALLOWED_MCP_HOSTS 并重新启动。

  • 名称看起来很通用 使用 list_named_devices 而不是 list_devices.

  • 查询速度慢 使用聚合工具(list_device_room_temperatures, list_vents_by_room_temperature)与 room_id, structure_id, max_items.

安全说明

  • 保守秘密 .env从不使用git。
  • 令牌永远不会被工具返回。
  • 执行主机/来源检查。
  • 代理层在写入操作之前应要求明确确认。

建筑(高级)

MCP client -> Flair MCP -> Flair API (api.flair.co)
                    |
          OAuth2 client_credentials token flow

许可证

麻省理工学院