项目简介
本项目是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在作为大型语言模型 (LLM) 与特定视频监控系统 (VMS) 之间的桥梁。它允许 LLM 通过标准的 MCP 接口访问 VMS 的功能,例如获取摄像头列表、查询录像信息、抓取实时或历史画面,以及执行 PTZ (云台) 控制和在 VMS 客户端显示视频。
主要功能点
- 查询摄像头信息: 获取所有摄像头的详细信息,包括连接状态、录像状态、PTZ 能力和可用预设位。
- 获取录像信息: 查询指定日期范围内的录像日期和特定日期、特定通道的录像时间段。
- 获取视频画面: 抓取指定通道的实时画面或历史录像画面。
- 控制 PTZ 摄像头: 将 PTZ 摄像头移动到预设位置。
- 在 VMS 客户端显示视频: 控制 VMS 客户端软件显示指定通道的实时视频或指定时间点的录像回放。
- 分组操作: 支持显示摄像头组的实时或录像视频。
- 事件查询: 获取指定日期和通道的事件列表(如运动检测事件)。
安装步骤
- 安装 UV 包管理器: 运行 PowerShell 命令 'powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"' 安装 UV 包管理器。
- 安装 VMS 服务器: 从 http://surveillance-logic.com/en/download.html 下载并安装 Surveillance Logic VMS 服务器软件。 重要:在使用此 MCP 服务器前必须先安装并运行 VMS 服务器。
- 获取项目代码: 克隆或下载 'mcp_vms' 仓库代码到本地目录。
- 安装 Python 依赖: 从 https://sourceforge.net/projects/security-vms/files/vmspy1.4-python3.12-x64.zip/download 下载 'vmspy' 库,并将其内容(包括 'vmspy.pyd' 和相关的 FFmpeg DLL 文件)解压到 'mcp_vms' 项目的主目录下。
- 配置 VMS 连接: 编辑项目目录下的 'mcp_vms_config.py' 文件,根据您的 VMS 安装设置修改 IP 地址、端口、访问ID和密码。
服务器配置
此 MCP 服务器需要由 MCP 客户端(如 Claude Desktop)启动和管理。在您的 MCP 客户端配置中,需要添加一个指向此服务器的配置项。通常,您需要在客户端的配置文件(如 'claude_desktop_config.json')的 'mcpServers' 部分添加如下结构的配置信息:
- 服务器名称: 为您的 VMS MCP 服务器指定一个唯一的名称,例如 '"vms"'。
- 启动命令 (command): 指定启动服务器的可执行文件,本项目使用 'uv' 命令。
- 启动参数 (args): 提供启动服务器所需的参数列表,通常包括:
- '"--directory"': 指定服务器脚本所在的目录路径 (例如 'X:\path\to\mcp-vms')。
- '"run"': UV 命令的子命令,用于运行 Python 脚本。
- '"mcp_vms.py"': 服务器的主脚本文件。
请参考您使用的 MCP 客户端文档,将上述信息配置到正确的 JSON 格式中。
基本使用方法
- 确保 VMS 服务器软件正在运行。
- 确保您已完成上述安装和配置步骤。
- 通过您的 MCP 客户端启动此 VMS MCP 服务器(根据您在客户端配置文件中添加的配置项启动)。
- 一旦服务器成功启动,您的 MCP 客户端即可发现并使用此服务器提供的工具来与 VMS 系统进行交互。
信息
分类
AI与计算