Back to MCP directory
publicPublicdnsLocal runtime

CCTV VMS MCP

一个MCP服务器项目,用于连接CCTV录像系统(VMS),实现视频流检索、播放控制及PTZ摄像头操作。

article

README

🚀 MCP 服务器 - VMS 集成

本项目是一个模型上下文协议 (MCP) 服务器,它能够连接到 CCTV 录像程序 (VMS),用于检索录制和实时视频流。此外,还提供了控制 VMS 软件的工具,例如显示特定频道的实时或回放对话框,为视频监控管理提供了便利。

流程图

✨ 主要特性

  • 检索视频通道信息,涵盖连接和录制状态。
  • 获取特定频道的录制日期和时间。
  • 从视频频道获取实时或录制的图像。
  • 显示特定频道和时间戳的实时视频流或回放对话框。
  • 控制 PTZ( pan 高度镜头)摄像头,使其移动到预设位置。
  • 具备全面的错误处理和日志记录功能。

📦 安装指南

先决条件

  • 需要 Python 3.12+ 版本。
  • 安装 vmspy 库(用于 VMS 集成)。
  • 安装 Pillow 库(用于图像处理)。

安装步骤

1. 安装 UV 包管理器

在 PowerShell 中运行以下命令以安装 UV

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

有关其他安装方法,请参阅 官方 UV 文档

2. 安装 VMS 服务器

下载并安装 VMS 服务器:http://surveillance-logic.com/en/download.html (在使用此 MCP 服务器之前需要)

3. 安装 Python 依赖项

下载 vmspy 库:vmspy1.3-python3.12-x64.zip 将内容提取到您的 mcp_vms 目录中。

mcp-vms 目录结构应如下所示:

mcp-vms/
├── .gitignore
├── .python-version
├── LICENSE
├── README.md
├── pyproject.toml
├── uv.lock
├── mcp_vms.py            # 服务器实现的主要文件
├── mcp_vms_config.py     # VMS 连接配置
├── vmspy.pyd             # VMS Python 库
├── avcodec-61.dll        # FFmpeg 库
├── avutil-59.dll
├── swresample-5.dll
├── swscale-8.dll

📚 详细文档

MCP 服务器配置

如果您想在 Claude 桌面中使用 mcp-vms,需要设置 claude_desktop_config.json 文件如下:

{
  "mcpServers": {
    "vms": {
      "command": "uv",
      "args": [
        "--directory",
        "X:\\path\\to\\mcp-vms",
        "run",
        "mcp_vms.py"
      ]
    }
  }
}

VMS 连接配置

服务器使用以下默认配置连接到 VMS:

  • mcp_vms_config.py
vms_config = {
    'img_width': 320,
    'img_height': 240,
    'pixel_format': 'RGB',
    'url': '127.0.0.1',
    'port': 3300,
    'access_id': 'admin',
    'access_pw': 'admin',
}
help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client