自动割草机状态查询服务

一个通过Husqvarna远程API提供自动割草机状态查询功能的服务,适用于智能家居和AI助手集成。

  • by jeanlaurent
  • Go
  • 混合部署
  • 1 星标
  • 更新于
在 GitHub 查看 jeanlaurent/mcp-husqvarna-automower

使用说明

Husqvarna Autopower MCP服务器

模型上下文协议(MCP)服务器,提供对Husquvarna连接的汽车API的访问,允许AI助手查询有关汽车状态的信息。

这调用husquvarna远程API。您需要在以下位置创建凭据https://developer.husqvarnagroup.cloud

特性

这 Husqvarna汽车制造商状态 该工具会返回连接到您Husqvarna帐户的每台割草机的完整快照。每台割草机返回的具体数据包括:

  • 状态和活动:当前模式(例如。 MAIN_AREA)活动(例如。 MOWING, CHARGING, PARKED_IN_CS),状态(例如。 IN_OPERATION),以及任何活动错误代码
  • 电池:收费百分比(例如。 87%)
  • 日程:下一个计划的开始时间戳、包含每周天数和开始/持续时间的日历任务
  • 最后已知的GPS位置:纬度和经度坐标
  • 统计:总切割时间、总驱动距离、充电循环次数、刀片使用时间
  • 设置:切割高度,前照灯模式
  • 系统信息:割草机名称、型号、序列号

先决条件

你需要一个 ClientID 和 ClientSecret 通过 Husqvarna开发者门户

  1. 首选https://developer.husqvarnagroup.cloud
  2. 注册/登录
  3. 转到我的应用程序https://developer.husqvarnagroup.cloud/applications
  4. 点击“创建应用”,输入名称,离开本地主机,点击创建
  5. 您将收到应用程序密钥(ClientID)和应用程序机密(ClientSecret)

可用工具

Husqvarna汽车制造商状态

获取所有自动割草机的详细信息。

参数:

无

使用Docker

在Docker容器中运行服务器是Claude Desktop的推荐方法:它将您的Husqvarna凭据与AI模型进程隔离开来,Claude通过stdio调用它,而不需要任何网络设置。

确保 Docker 桌面版 正在运行,然后构建映像:

docker build -t husqvarna-automower-mcp .

然后将其添加到您的Claude Desktop(或任何MCP客户端)配置中:

{
  "mcpServers": {
    "automower": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "HUSQVARNA_CLIENT_ID",
        "-e",
        "HUSQVARNA_CLIENT_SECRET",
        "husqvarna-automower-mcp"
      ],
      "env": {
        "HUSQVARNA_CLIENT_ID": "YourClientID",
        "HUSQVARNA_CLIENT_SECRET": "YourClientSecret"
      }
    }
  }
}

使用克劳德代码

向注册服务器 claude CLI,因此它在所有Claude Code会话中都可用:

claude mcp add husqvarna-automower -- docker run -i --rm \
  -e HUSQVARNA_CLIENT_ID=YourClientID \
  -e HUSQVARNA_CLIENT_SECRET=YourClientSecret \
  husqvarna-automower-mcp

在流式HTTP模式下运行

要将服务器作为持久HTTP端点公开(适用于多代理堆栈、Home Assistant或任何通过HTTP连接的客户端,而不是生成子进程):

docker run --rm \
  -e TRANSPORT=http \
  -e PORT=8080 \
  -e HUSQVARNA_CLIENT_ID=YourClientID \
  -e HUSQVARNA_CLIENT_SECRET=YourClientSecret \
  -p 8080:8080 \
  husqvarna-automower-mcp

服务器将在以下时间可用 http://localhost:8080/mcp.

容器运行后,将其添加到您的Claude桌面 claude_desktop_config.json:

{
  "mcpServers": {
    "automower": {
      "type": "streamable-http",
      "url": "http://localhost:8080/mcp"
    }
  }
}

使用Docker Compose(流式HTTP+MCP检查器)

流式HTTP模式将服务器暴露为持久HTTP端点,而不是子进程。这适用于多代理堆栈、家庭助理集成以及任何无法直接启动子流程的MCP客户端。

此Docker Compose设置以HTTP模式运行automographer服务器,并与 MCP检查员 为了便于测试。

  1. 构建容器映像:
docker compose build
  1. 创建一个 .env 使用您的凭据文件:
cat > .env << 'EOF'
HUSQVARNA_CLIENT_ID=YourClientID
HUSQVARNA_CLIENT_SECRET=YourClientSecret
EOF

⚠️ 不要承诺 .env --它包含着秘密。它已在中列出 .gitignore.

  1. 启动这两项服务:
docker compose up
  1. 在以下位置打开检查器UI http://localhost:6274 --它是预先填充的,可以连接到自动割草机服务。

    注: DANGEROUSLY_OMIT_AUTH=true 和 ALLOWED_ORIGINS 在Docker中运行时,MCP检查器需要这些参数才能正常工作。 HOST=0.0.0.0 绑定到所有接口(Docker端口映射所需),但导致Inspector的代理令牌URL使用 0.0.0.0 而不是 localhost。禁用身份验证可以避免这种不匹配。始终打开检查器 http://localhost:6274,从来没有 http://0.0.0.0:6274.

  2. 点击 连接 开始会话。

  3. 使用 Husqvarna汽车制造商状态 查询割草机的工具。