elv2mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@elv2mcpTake a snapshot from cam1 and describe what you see."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
elv2mcp
Universal MCP adapter for Extra Low Voltage (ELV) systems β connect Hikvision, Dahua, and other security devices to AI agents via the Model Context Protocol.
π― What is elv2mcp?
elv2mcp is a Model Context Protocol (MCP) server that bridges the gap between AI agents (Claude, GPT, Cursor, etc.) and physical security systems.
Today, thousands of ELV systems β cameras, NVRs, access control, alarms β sit isolated from modern AI workflows. They speak proprietary protocols (ISAPI, CGI, SDK) that LLMs cannot understand. elv2mcp translates these into typed, safe, auditable MCP tools that any AI agent can call.
Think of it as a "USB-C for physical security" β one adapter, many vendors, safe by default.
Related MCP server: Webcam MCP
β¨ Features
Multi-vendor support β Hikvision (ISAPI), Dahua (CGI API), with a pluggable architecture for adding more (Bosch, Bolid, Axis, etc.)
Read-only by default β snapshots, device info, and channel lists work out of the box. Write operations (PTZ, reboot) require explicit opt-in.
Typed tools β AI agents call
elv_get_snapshot(device_name, channel)instead of guessing raw HTTP requests.Digest authentication β native support for Hikvision and Dahua auth schemes.
Secure credentials β never hardcoded. Loaded from environment variables or a
.envfile.FastMCP-powered β built on FastMCP, with automatic schema validation and stdio transport.
π Quick Start
1. Install
pip install fastmcp httpxOr clone and install locally:
git clone https://github.com/AMPVIP/elv2mcp.git
cd elv2mcp
pip install -e .2. Configure your devices
Set the ELV2MCP_DEVICES environment variable with a JSON map:
export ELV2MCP_DEVICES='{
"cam1": {
"ip": "192.168.1.100",
"username": "admin",
"password": "yourpass",
"vendor": "hikvision",
"port": 80
},
"cam2": {
"ip": "192.168.1.101",
"username": "admin",
"password": "yourpass",
"vendor": "dahua"
}
}'3. Run the server
python server.pyThe server runs on stdio and waits for MCP client connections.
π Connect to Claude Desktop
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"elv2mcp": {
"command": "/path/to/python",
"args": ["/path/to/elv2mcp/server.py"],
"env": {
"ELV2MCP_DEVICES": "{\"cam1\": {\"ip\": \"192.168.1.100\", \"username\": \"admin\", \"password\": \"yourpass\", \"vendor\": \"hikvision\"}}"
}
}
}
}Restart Claude Desktop β the elv_* tools will appear in the interface.
π οΈ Available Tools
Tool | Description | Hikvision | Dahua |
| List all configured devices | β | β |
| Get model, serial, firmware | β | β |
| Capture JPEG from a channel | β | β |
| Enumerate video channels | β | β οΈ MVP stub |
Example prompts for AI agents
Once connected, you can ask Claude:
"List all my cameras and tell me which ones are online."
"Take a snapshot from cam1 and describe what you see."
"What firmware version is running on cam2?"
π Security
elv2mcp is designed with a paranoid-by-default philosophy:
Read-only by default β all write operations (PTZ, reboot, config changes) are disabled unless
allow_write: trueis set per device.No hardcoded credentials β use environment variables or a
.envfile (never commit it).Digest auth β supports the auth schemes used by Hikvision and Dahua.
Audit-ready β every tool call can be logged (coming soon).
Network isolation β the server only talks to devices you explicitly configure.
β οΈ Never expose this server to the public internet. Run it on a trusted LAN or VPN.
π§© Architecture
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β AI Agent ββββββββΊβ elv2mcp ββββββββΊβ Hikvision β
β (Claude, GPT) β MCP β FastMCP β HTTP β Dahua β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β
βββ HikvisionProvider (ISAPI)
βββ DahuaProvider (CGI API)
βββ [Future: Bosch, Bolid, Axis]The provider pattern makes it trivial to add new vendors β implement get_device_info, get_snapshot, and list_channels for the new protocol.
πΊοΈ Roadmap
Hikvision ISAPI support (device info, snapshot, channels)
Dahua CGI API support (device info, snapshot)
PTZ control (Hikvision + Dahua) β behind
allow_writeflagEvent stream / motion detection (Hikvision
alertStream)Bosch BVMS provider
Bolid provider
Mock server for testing without real hardware
Audit logging (JSON lines)
MCP Registry publication
π€ Contributing
Contributions are welcome β especially new vendor providers. To add a vendor:
Create
providers/your_vendor.pywith a class implementingget_device_info,get_snapshot,list_channels.Register it in
server.py's dispatch logic.Add tests and documentation.
π License
MIT License β see LICENSE for details.
π Related Projects
Model Context Protocol β the standard this project implements
FastMCP β Python framework for building MCP servers
legacy2mcp β MCP adapter for SOAP/WSDL systems
plctap β MCP adapter for industrial PLCs
π€ Author
Andrey Pavlushov β Low Current Engineer with 20+ years of experience in ELV systems, networking, and security.
GitHub: @AMPVIP
Portfolio: ampvip.github.io
Built with the belief that the physical world deserves first-class AI tooling.
This server cannot be deployed
Maintenance
Related MCP Connectors
Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.
The OpenRouter for tools. One MCP connection gives any AI agent 254 hosted tools, pay per call.
Security tools for AI agents: scan MCP servers, validate HDP delegation chains, audit releases.
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceProvides camera and vision tools for AI assistants to list available cameras, capture images from USB cameras, and save frames to disk for use with LLMs.4MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that provides LLM agents with direct access to webcam hardware for capturing high-resolution photos and recording video sequences. It enables autonomous agents to monitor environments and interact with the physical world through standard Model Context Protocol tools.3MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables interaction with local camera devices to capture and process images. It allows LLMs to access video devices with configurable settings such as resolution, orientation, and image format.1MIT
- AlicenseAqualityBmaintenanceEnables AI agents to discover, monitor, and control industrial hardware like ESP32 machine controllers and inspection cameras through a standardized MCP interface.5MIT