VMS Video Integration
STDIOMCP server connecting to CCTV recording program to retrieve and control video streams.
MCP server connecting to CCTV recording program to retrieve and control video streams.
A Model Context Protocol (MCP) server designed to connect to a CCTV recording program (VMS) to retrieve recorded and live video streams. It also provides tools to control the VMS software, such as showing live or playback dialogs for specific channels at specified times.
vmspy
library (for VMS integration)Pillow
library (for image processing)If you want to use mcp-vms
with Claude desktop, you need to set up the claude_desktop_config.json
file as follows:
{ "mcpServers": { "vms": { "command": "uv", "args": [ "--directory", "X:\\path\\to\\mcp-vms", "run", "mcp_vms.py" ] } } }
The server uses the following default configuration for connecting to the VMS:
vms_config = { 'img_width': 320, 'img_height': 240, 'pixel_format': 'RGB', 'url': '127.0.0.1', 'port': 3300, 'access_id': 'admin', 'access_pw': 'admin', }
Run the following command in PowerShell to install UV
:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
For alternative installation methods, see the official UV documentation.
Download and install the VMS server from:
http://surveillance-logic.com/en/download.html
(Required before using this MCP server)
Download the vmspy library:
vmspy1.4-python3.12-x64.zip
Extract the contents into your mcp_vms
directory
The mcp-vms directory should look like this:
mcp-vms/ ├── .gitignore ├── .python-version ├── LICENSE ├── README.md ├── pyproject.toml ├── uv.lock ├── mcp_vms.py # Main server implementation ├── mcp_vms_config.py # VMS connection configuration ├── vmspy.pyd # VMS Python library ├── avcodec-61.dll # FFmpeg libraries ├── avutil-59.dll ├── swresample-5.dll ├── swscale-8.dll