
ebenezer-isaac/vigi-nvr-mcp
Developer toolsこのページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る
Local, browser-free MCP server for a TP-Link VIGI NVR: read-first, write-gated, lockout-aware; manage channels and export footage over RTSP.
概要
An MCP server for a single TP-Link VIGI NVR on your own network. It speaks the NVR's local JSON API directly — no cloud, no browser, no vendor app — and exposes it to an AI agent or any MCP client as a set of safe, typed tools: read the device and its cameras, manage channels, and export recorded footage over RTSP. Reads are free; every write needs two separate opt-ins; and login is engineered around the NVR's account-lockout so an agent cannot lock you out of your own recordings. VIGI NVRs lock the admin account after ~10 failed logins, and while locked you cannot reach the NVR at all, including its recordings. This server never auto-retries a login and, by default, stops all logins after a failure until a human clears the breaker. Confirm your password with vigi-nvr-mcp --check-auth --login before pointing an agent at it. See Safety model. Other VIGI models and firmware very likely work, but — this unit uses MD5+RSA, and newer firmware is known to use SHA-256-based schemes.
README
以下は原文 README の抜粋です。原文を見る。
vigi-nvr-mcp
An MCP server for a single TP-Link VIGI NVR on your own network. It speaks the NVR’s local JSON API directly — no cloud, no browser, no vendor app — and exposes it to an AI agent or any MCP client as a set of safe, typed tools: read the device and its cameras, manage channels, and export recorded footage over RTSP. Reads are free; every write needs two separate opt-ins; and login is engineered around the NVR’s account-lockout so an agent cannot lock you out of your own recordings.
[!WARNING] Account lockout is the main risk. VIGI NVRs lock the
adminaccount after ~10 failed logins, and while locked you cannot reach the NVR at all, including its recordings. This server never auto-retries a login and, by default, stops all logins after a single failure until a human clears the breaker. Confirm your password withvigi-nvr-mcp --check-auth --loginbefore pointing an agent at it. See Safety model.
Supported hardware
| Tested model | VIGI NVR1016H(UN) |
| Tested firmware | 1.1.3 Build 260727 |
| Auth scheme (this firmware) | MD5 + RSA-PKCS1v15 (encrypt_type 2), falling back to bare MD5 (encrypt_type 1) |
Other VIGI models and firmware very likely work, but the login scheme varies
by firmware — this unit uses MD5+RSA, and newer firmware is known to use
SHA-256-based schemes. The server auto-detects encrypt_type 1 vs 2, but if
your firmware uses something else, login will fail. Verify first, without
risking the lockout counter:
vigi-nvr-mcp --check-auth # fetch the challenge only: offered schemes, counters; NO login
vigi-nvr-mcp --check-auth --login # plus exactly ONE login attempt
The full wire protocol is documented in docs/protocol/vigi-nvr.md.
Features
- 45 tools over one NVR, all returning a uniform
{success, data, error}envelope with credentials redacted. - Catalog gateway —
nvr_callreaches every one of the 586 documented calls across 61 API modules through one validated, write-gated entry point, so coverage is the whole inventory rather than 586 hand-written tools. - Typed reads for the high-value calls: device/system/network info, users, storage and disks, recording status, video/image/detection config, firewall, cloud status, time.
- Channel management — list bound cameras, group duplicates by device UUID, flag stale “ghost” channels, and plan/execute cleanup (remove, move) with per-write UUID checks.
- Footage over RTSP — enable ONVIF/RTSP, build redacted stream URLs, export
replay windows to mp4 (lossless
-c copy, or re-encode to a size target), grab snapshots, build time-stamped contact sheets, sample frames, and run a full “find the footage and send it” investigation recipe. - MCP resources — the export directory is also exposed as
exports://
インストール
This server does not publish a one-line install command.
Open the repository installation guide MCP 初心者?mcpskill.org のガイドから始めましょう →設定
{
"mcpServers": {
"vigi-nvr": {
"command": "/path/to/.venv/bin/vigi-nvr-mcp",
"env": { "VIGI_NVR_HOST": "192.0.2.1", "VIGI_NVR_PASSWORD": "<password>" }
}
}
}