About MCP Server - VMS Integration
An MCP server for connecting to CCTV recording software (VMS) to retrieve live and recorded video and control its display. It also supports moving PTZ cameras to preset positions.
Key features
- 01Check channel connection and recording status
- 02Get recording dates and times
- 03Retrieve live or recorded images
- 04Show live video or timestamped playback
- 05Move PTZ cameras to presets
Use cases
- 01Check camera channel and recording status
- 02View live or historical channel footage
- 03Move a PTZ camera to a preset
MCP support
The server connects to a VMS and exposes channel status, recording times, and image retrieval to MCP clients, along with controls for live video, playback, and PTZ cameras.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMCP Server - VMS Integration
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.

Features
- Retrieve video channel information, including connection and recording status.
- Fetch recording dates and times for specific channels.
- Fetch live or recorded images from video channels.
- Show live video streams or playback dialogs for specific channels and timestamps.
- Control PTZ (Pan-Tilt-Zoom) cameras by moving them to preset positions.
- Comprehensive error handling and logging.
Prerequisites
- Python 3.12+
vmspylibrary (for VMS integration)Pillowlibrary (for image processing)
MCP-server Configuration
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"
]
}
}
}
VMS Connection Configuration
The server uses the following default configuration for connecting to the 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',
}
Installation
1. Install UV Package Manager
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.
2.Install VMS Server
Download and install the VMS server from:
http://surveillance-logic.com/en/download.html
(Required before using this MCP server)
3.Install Python Dependencies
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
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.
