使用说明
项目简介
本项目是一个基于Model Context Protocol (MCP) 的服务器实现,旨在展示MCP如何用于连接大型语言模型 (LLM) 和外部服务。本示例将MCP服务器与Home Assistant智能家居平台集成,允许用户通过兼容MCP协议的LLM应用,使用自然语言控制Home Assistant管理的灯光设备。
主要功能点
- MCP服务器: 实现了MCP协议,可以作为独立的后端服务运行,并与兼容MCP的LLM客户端进行通信。
- 工具注册: 注册了 'control_light' 工具,允许LLM控制Home Assistant中的灯光设备(开关)。
- Home Assistant 集成: 通过 WebSocket API 与 Home Assistant 通信,获取灯光状态并执行控制命令。
- Stdio传输: 使用 Stdio 作为 MCP 服务器的传输协议。
安装步骤
- 克隆仓库: 'git clone https://github.com/andrelandgraf/mcp-vs-function-calling'
- 进入 'mcp-server' 目录: 'cd mcp-vs-function-calling/mcp-server'
- 创建 '.env' 文件: 'cp .env.example .env'
- 配置 '.env' 文件: 在 '.env' 文件中填入你的 Home Assistant API token ('HOME_ASSISTANT_API_TOKEN')、Host ('HOME_ASSISTANT_HOST') 和 Secure 设置 ('HOME_ASSISTANT_SECURE')。 你需要预先安装并配置好 Home Assistant 服务。
- 安装依赖并构建: 如果使用 'bun': 'bun i && bun run build' 或者使用 'npm': 'npm install && npm run build'
服务器配置
{ "name": "home-assistant", "command": "node /path/to/mcp-server/dist/index.js" }
参数注释:
- 'name': MCP 服务器的名称,可以自定义,例如 "home-assistant"。
- 'command': 启动 MCP 服务器的命令。需要将 '/path/to/mcp-server/dist/index.js' 替换为实际 'index.js' 文件在你的系统中的路径。
基本使用方法
- 启动 MCP 服务器: 按照安装步骤完成配置和构建后,通过在终端运行 'node dist/index.js' (或 'bun run dist/index.js') 启动 MCP 服务器。
- 配置 LLM 客户端: 在你的 MCP 兼容的 LLM 客户端(例如 Cursor 编辑器)中,添加上述提供的服务器配置 JSON。
- 通过 LLM 发送指令: 使用自然语言向 LLM 客户端发送指令,例如 "Turn on the office lights" 或 "关掉卧室的灯"。LLM 客户端会将请求转发到 MCP 服务器,服务器解析指令并控制 Home Assistant 灯光。
信息
分类
桌面与硬件