ChatGPT MCP服务

一个允许AI助手通过MCP协议向Home Assistant中的ChatGPT发送命令的服务,适用于Claude Desktop、Cursor等MCP兼容客户端。

  • by DominionZA
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 dominionza/homeassistant-chatgpt-mcp

使用说明

家庭助理ChatGPT MCP服务器

一种模型上下文协议(MCP)服务器,允许AI助手向Home Assistant中的ChatGPT发送命令。与Claude Desktop、Cursor和任何启用MCP的AI客户端兼容。

特性

  • 在Home Assistant中向ChatGPT发送自然语言命令
  • 适用于任何兼容MCP的AI客户端
  • 安全的环境变量配置
  • 实时设备状态反馈

先决条件

  • 已配置OpenAI对话集成的家庭助手
  • Python 3.8+
  • 来自Home Assistant的长期访问令牌

安装

  1. 克隆存储库:

    git clone https://github.com/DominionZA/HomeAssistant-ChatGpt-MCP.git
    cd HomeAssistant-ChatGpt-MCP
    
  2. 安装MCP服务器:

    pip install -e .
    
  3. 设置环境变量:

    Windows(PowerShell):

    $env:HA_TOKEN = "your_long_lived_access_token_here"
    $env:HA_URL = "http://homeassistant.local:8123"  # Optional, defaults to this
    

    Windows(命令提示符):

    set HA_TOKEN=your_long_lived_access_token_here
    set HA_URL=http://homeassistant.local:8123
    

    Linux/Mac:

    export HA_TOKEN="your_long_lived_access_token_here"
    export HA_URL="http://homeassistant.local:8123"  # Optional
    

    要使环境变量永久化,请执行以下操作:

    • 窗户: 将它们添加到系统环境变量中
    • Linux/Mac: 将导出命令添加到您的 ~/.bashrc 或 ~/.zshrc

获取您的家庭助理令牌

  1. 转到您的家庭助理web界面
  2. 点击您的个人资料(左下角)
  3. 向下滚动到“长期访问令牌”
  4. 点击“创建令牌”
  5. 给它起个名字,比如“MCP服务器”
  6. 复制令牌并将其用作您的 HA_TOKEN

AI客户端的配置

克劳德桌面

将此添加到您的Claude Desktop配置文件中:

窗户: %APPDATA%\Claude\claude_desktop_config.json 雨衣: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "homeassistant-chatgpt": {
      "command": "homeassistant-chatgpt-mcp",
      "env": {
        "HA_TOKEN": "your_long_lived_access_token_here",
        "HA_URL": "http://homeassistant.local:8123"
      }
    }
  }
}

光标

将以下内容添加到您的Cursor配置文件中:

窗户: %APPDATA%\Cursor\User\globalStorage\anysphere.cursor\settings\claude_desktop_config.json

{
  "mcpServers": {
    "homeassistant-chatgpt": {
      "command": "homeassistant-chatgpt-mcp",
      "env": {
        "HA_TOKEN": "your_long_lived_access_token_here",
        "HA_URL": "http://homeassistant.local:8123"
      }
    }
  }
}

添加配置后,重新启动AI客户端。

用法

配置后,您可以在AI客户端中使用自然语言命令:

  • “打开客厅的灯”
  • “把卧室灯调到蓝色”
  • “关掉所有的灯”
  • “将恒温器设置为72度”
  • 打开Pad Mi灯,选择以下颜色之一:红色、橙色、粉色、蓝色、黄色或紫色。不要选择当前的颜色

MCP服务器将:

  1. 将您的命令发送到家庭助理中的ChatGPT
  2. 返回成功/失败状态
  3. 显示哪些设备受到影响

环境变量

变量 必填 默认 描述
HA_TOKEN 是 无 您的家庭助理长期访问令牌
HA_URL 没有 http://homeassistant.local:8123 您的家庭助理URL

测试

直接测试MCP服务器:

homeassistant-chatgpt-mcp

如果配置正确,它将启动并等待输入。按Ctrl+C退出。

故障排除

“HA_TOKEN环境变量是必需的”

  • 确保您已设置 HA_TOKEN 环境变量
  • 设置变量后重新启动终端/AI客户端

“无法连接到家庭助理”

  • 检查家庭助理是否正在运行
  • 验证您的 HA_URL 是正确的
  • 确保您的令牌具有正确的权限

“ChatGPT没有响应”

  • 验证OpenAI会话集成是否已在Home Assistant中设置
  • 检查ChatGPT是否有权控制您的设备

安全

  • 永远不要将您的家庭助理令牌提交给版本控制
  • 使用环境变量来保护凭据的安全
  • 定期轮换您的访问令牌

许可证

MIT许可证-有关详细信息,请参阅许可证文件。