Token导航 LogoToken导航TokenDH.com
Dahua MCP logo
音视频stdio官方级别未说明来源级核验

Dahua MCP

MCP Server

Dahua MCP Server是一款用于通过CGI HTTP API管理Dahua/Amcrest IP摄像头的服务器,支持多摄像头管理和多种传输方式。

工具数

20

提示词数

0

GitHub Stars

3

资源数

0
PythonClaude语音音频Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

brianegge

提供方

brianegge

最后核验

2026/5/17 20:23

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -d \

详细介绍

大华MCP服务器

MCP服务器,用于通过其CGI HTTP API管理大华/Amcrest IP摄像机。支持单个实例中的多个摄像头,同时支持stdio和HTTP传输。

快速开始

1.创建摄像头配置文件

创建 ~/.config/dahua-mcp/cameras.yaml (或 cameras.json)使用您的相机凭据。这是默认的配置位置——不需要env-var。

对象符号 (cameras.json):

{
  "cameras": [
    {
      "name": "front-door",
      "host": "192.168.1.108",
      "port": 80,
      "username": "admin",
      "password": "secret"
    },
    {
      "name": "backyard",
      "host": "192.168.1.109",
      "port": 80,
      "username": "admin",
      "password": "secret"
    }
  ]
}

YAML (cameras.yaml):

cameras:
  - name: front-door
    host: 192.168.1.108
    port: 80
    username: admin
    password: secret
  - name: backyard
    host: 192.168.1.109
    port: 80
    username: admin
    password: secret

每个摄像头条目支持:

字段必填默认描述
name--所有工具调用中使用的唯一相机名称
host--摄像头主机名或IP地址
port没有80HTTP端口(443 自动启用HTTPS)
username--摄像头用户名
password--摄像头密码
verify_ssl没有false验证SSL证书

2.添加MCP服务器

选项A:stdio(克劳德代码/克劳德桌面)

使用Claude Code CLI(摄像头配置自动发现) ~/.config/dahua-mcp/):

# From PyPI
claude mcp add dahua-mcp -- uvx dahua-mcp

# From a local clone
claude mcp add dahua-mcp -- uv run --directory /path/to/dahua-mcp dahua-mcp

# With a custom config path
claude mcp add dahua-mcp -e DAHUA_CAMERAS_CONFIG=/path/to/cameras.json -- uvx dahua-mcp

或者手动添加到您的克劳德代码设置中(~/.claude.json)或Claude桌面配置:

{
  "mcpServers": {
    "dahua-mcp": {
      "type": "stdio",
      "command": "uvx",
      "args": ["dahua-mcp"]
    }
  }
}

或者从本地克隆运行:

{
  "mcpServers": {
    "dahua-mcp": {
      "type": "stdio",
      "command": "uv",
      "args": ["run", "--directory", "/path/to/dahua-mcp", "dahua-mcp"]
    }
  }
}

要覆盖配置位置,请添加 env 块:

{
  "env": {
    "DAHUA_CAMERAS_CONFIG": "/custom/path/cameras.yaml"
  }
}

选项B:Docker容器(HTTP传输)

运行装载了配置文件卷的容器:

docker run -d \
  -v /path/to/cameras.json:/config/cameras.json:ro \
  -p 8000:8000 \
  ghcr.io/brianegge/dahua-mcp:latest

然后将HTTP服务器添加到MCP客户端配置中:

{
  "mcpServers": {
    "dahua-mcp": {
      "type": "http",
      "url": "http://localhost:8000/mcp"
    }
  }
}

要在Docker中使用YAML配置:

docker run -d \
  -v /path/to/cameras.yaml:/config/cameras.yaml:ro \
  -e DAHUA_CAMERAS_CONFIG=/config/cameras.yaml \
  -p 8000:8000 \
  ghcr.io/brianegge/dahua-mcp:latest

要添加承载令牌身份验证,请执行以下操作:

docker run -d \
  -v /path/to/cameras.json:/config/cameras.json:ro \
  -e MCP_HTTP_BEARER_TOKEN=your-secret-token \
  -p 8000:8000 \
  ghcr.io/brianegge/dahua-mcp:latest
{
  "mcpServers": {
    "dahua-mcp": {
      "type": "http",
      "url": "http://localhost:8000/mcp",
      "headers": {
        "Authorization": "Bearer your-secret-token"
      }
    }
  }
}

环境变量

除了相机凭据之外的所有设置都是通过环境变量配置的:

变量默认值描述
DAHUA_CAMERAS_CONFIG~/.config/dahua-mcp/cameras.yaml摄像头配置文件的路径(JSON或YAML)。自动发现来自 ~/.config/dahua-mcp/ 如果没有设置。
DAHUA_TIMEOUT20HTTP请求超时(秒)
READ_ONLY_MODEfalse禁用所有写入工具(重新启动、set_config等)
DISABLED_TAGS--要禁用的逗号分隔标签(例如。 destructive,write)
LOG_LEVELINFO日志记录级别
RATE_LIMIT_ENABLEDfalse启用速率限制
RATE_LIMIT_MAX_REQUESTS60每个窗口的最大请求数
RATE_LIMIT_WINDOW_MINUTES1速率限制窗口(分钟)
MCP_TRANSPORTstdio运输类型: stdio, sse,或 http
MCP_HTTP_HOST0.0.0.0HTTP绑定主机
MCP_HTTP_PORT8000HTTP绑定端口
MCP_HTTP_BEARER_TOKEN--HTTP身份验证的可选承载令牌

可用工具

发现

工具描述只读
list_cameras列出所有已配置的摄像头(名称、主机、端口)

系统信息

工具描述只读
get_system_info获取完整的系统信息(设备类型、序列号、固件等)
get_device_type获取设备类型/型号
get_software_version获取固件版本
get_machine_name获取相机的机器名称
get_serial_number获取序列号
get_hardware_version获取硬件版本
get_vendor获取供应商/制造商

配置读取

工具描述只读
get_config按名称获取任何配置节
get_motion_detection获取运动检测配置
get_video_in_mode获取视频输入模式(日夜模式)
get_encoding_config获取编码/流配置
get_network_config获取网络配置(IP、网关、DNS)
get_ntp_config获取NTP时间同步配置

配置写入

工具描述破坏性
set_config设置任意配置键值对
enable_motion_detection启用/禁用运动检测
set_record_mode设置录制模式(自动/手动/关闭)

系统控制

工具描述破坏性
reboot重新启动相机
take_snapshot拍摄JPEG快照(base64)

日志

工具描述只读
search_logs按时间范围和类型搜索摄像头日志

发展

git clone https://github.com/brianegge/dahua-mcp.git
cd dahua-mcp
uv sync
uv run pre-commit install  # Install ruff format/lint hook
uv run pytest              # Run tests
uv run ruff check .        # Lint

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

目录标签

目录标签

PythonClaude语音音频IP摄像头管理本地部署视频监控HTTPAPI多摄像头支持系统集成

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

20

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP