Token导航 LogoToken导航

MCP Server · 音视频

Een API MCP

Eagle Eye Networks摄像头系统的模型上下文协议(MCP)服务器,支持AI助手与EEN摄像头交互,查看实时/历史图像,查询事件,管理布局等功能。

stdio官方级别未说明来源级核验工具 18playwright
TypeScriptClaude语音音频Claude Desktop

快速开始

作者 / 组织
klaushofrichter
提供方
klaushofrichter
运行时
Node.js

工具数量

18

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Een API MCP 属于音视频类 MCP Server,公开资料标注 18 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前要先准备 OAuth 授权。

分类

音视频

传输方式

stdio

认证方式

OAuth 授权

部署方式

公开资料未说明

安装与配置

安装命令

npx playwright install chromium

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Node.js,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 18 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

一个MCP服务器

Eagle Eye Networks相机系统的模型上下文协议(MCP)服务器。该服务器使Claude和Gemini等AI助手能够与EEN摄像头交互,查看实时/记录的图像,查询事件,管理布局等。

特性

  • 相机管理:列出摄像头,查看摄像头详细信息,按状态过滤
  • 实时和录制的图像:获取当前快照或历史录像
  • 布局管理:查看和查询相机布局(预定义网格视图)
  • 事件查询:查询运动事件、分析事件和60多种事件类型
  • 用户管理:查看用户和当前用户配置文件
  • 警报访问:查询触发的警报和通知
  • 桥梁信息:查看网桥设备及其连接状态
  • 多账户支持:在多个EEN帐户之间进行配置和切换
  • 自动选择单个帐户:当只配置一个帐户时,会自动为API调用选择该帐户
  • 自动令牌刷新:令牌在到期前会自动刷新

先决条件

  • Node.js 18.0或更高版本
  • 鹰眼网络帐户
  • 来自EEN开发者门户的OAuth客户端凭据(客户端ID和密钥)

安装

# Clone the repository
git clone https://github.com/klaushofrichter/een-api-mcp.git
cd een-api-mcp

# Install dependencies
npm install

# Install Playwright browsers (required for OAuth authentication)
npx playwright install chromium

# Build the project
npm run build

认证

MCP服务器在使用前需要进行预身份验证。身份验证是通过CLI工具处理的,该工具通过无头浏览器执行OAuth登录。

设置环境变量

创建 .env 使用OAuth客户端凭据在项目根目录中创建文件:

EEN_CLIENT_ID=your-client-id
EEN_CLIENT_SECRET=your-client-secret

您可以从以下网址获取这些凭据 鹰眼网络开发者门户.

登录进程

身份验证CLI使用Playwright自动化OAuth登录流程:

# Basic login (will prompt for password if not provided)
npm run auth login -- --username user@example.com

# Login with password on command line
npm run auth login -- --username user@example.com --password "your-password"

# Login and store password for automatic re-authentication
npm run auth login -- \
  --username user@example.com \
  --password "your-password" \
  --persistPassword

# Provide OAuth credentials explicitly (overrides .env)
npm run auth login -- \
  --username user@example.com \
  --password "your-password" \
  --client-id your-client-id \
  --client-secret your-client-secret \
  --persistPassword

重要标志:

  • --persistPassword:在本地加密并存储密码,以便在令牌过期时自动重新验证
  • --client-id / --client-secret:覆盖OAuth凭据的环境变量

验证身份验证

# List all configured accounts
npm run auth list

# Show detailed status including token expiration
npm run auth status

状态输出示例:

Account: user@example.com
  User: John Doe
  Base URL: https://api.c001.eagleeyenetworks.com:443
  Token Valid: true
  Expires: 2026-01-28T22:48:44.000Z
  Password Stored: true

管理多个帐户

您可以配置多个EEN帐户并在它们之间切换:

# Login to additional accounts
npm run auth login -- --username another@example.com --persistPassword

# List all accounts
npm run auth list

# Revoke and remove an account
npm run auth revoke -- --account user@example.com

帐户自动选择

MCP服务器包括自动帐户选择,以提高与AI助手的兼容性:

  • 单一账户:当只配置一个帐户时,会自动为API调用选择该帐户,而无需 een_set_account 先被叫
  • 多个帐户:配置多个帐户时,必须使用以下命令明确选择一个 een_set_account 在进行API调用之前

当使用可能并不总是调用的AI助手时,此功能提高了鲁棒性 een_set_account 在发出API请求之前。

凭据存储

凭据被安全地存储:

  • 位置: ~/.een-mcp/credentials.json
  • 权限:文件是使用创建的 0600 (仅限所有者读/写)
  • 密码加密:密码使用AES-256-GCM和机器特定密钥进行加密
  • 许可证管理:访问令牌在到期前5分钟自动刷新

配置Claude

MCP服务器可以与Claude Desktop或Claude Code一起使用。

Claude桌面配置

将MCP服务器添加到Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json

使用内置版本(建议用于生产):

{
  "mcpServers": {
    "een-mcp-server": {
      "command": "node",
      "args": ["/absolute/path/to/een-api-mcp/dist/src/index.js"],
      "env": {
        "EEN_CLIENT_ID": "your-client-id",
        "EEN_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

直接使用TypeScript(用于开发):

{
  "mcpServers": {
    "een-mcp-server": {
      "command": "npx",
      "args": ["tsx", "/absolute/path/to/een-api-mcp/src/index.ts"],
      "env": {
        "EEN_CLIENT_ID": "your-client-id",
        "EEN_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

更新配置后,重新启动Claude Desktop。

Claude代码配置

对于Claude Code,将MCP服务器添加到您的设置文件中:

全局设置: ~/.claude/settings.json 项目设置: .mcp.json 在项目根中

{
  "mcpServers": {
    "een-mcp-server": {
      "command": "node",
      "args": ["/absolute/path/to/een-api-mcp/dist/src/index.js"]
    }
  }
}

提供了一个模板配置文件: mcp-config-template.json

验证连接

配置后,您可以通过询问Claude来验证MCP服务器是否已连接:

“我配置了哪些EEN帐户?”

克劳德应该使用 een_list_accounts 工具并返回您配置的帐户。

配置Gemini CLI

MCP服务器也可以与 谷歌Gemini CLI.

Gemini CLI配置

将MCP服务器添加到Gemini CLI设置文件中:

全局设置: ~/.gemini/settings.json

{
  "mcpServers": {
    "een-mcp-server": {
      "command": "node",
      "args": ["/absolute/path/to/een-api-mcp/dist/src/index.js"],
      "env": {
        "EEN_CLIENT_ID": "your-client-id",
        "EEN_CLIENT_SECRET": "your-client-secret"
      },
      "timeout": 60000
    }
  }
}

可选参数:

  • timeout:请求超时(毫秒)(默认值:600000)
  • trust:设置为 true 绕过工具确认(谨慎使用)
  • cwd:服务器进程的工作目录

与npx一起使用(替代)

您也可以直接通过npx运行服务器,而无需本地安装:

{
  "mcpServers": {
    "een-mcp-server": {
      "command": "npx",
      "args": ["tsx", "/absolute/path/to/een-api-mcp/src/index.ts"],
      "env": {
        "EEN_CLIENT_ID": "your-client-id",
        "EEN_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

验证连接

配置后,通过询问Gemini来验证MCP服务器是否已连接:

“我配置了哪些EEN帐户?”

双子座应该使用 een_list_accounts 工具并返回您配置的帐户。

可用工具

身份验证工具(3)

工具说明
een_auth_status检查所有已配置帐户的身份验证状态
een_list_accounts列出所有已配置的帐户ID
een_set_account为后续API调用设置活动帐户

相机工具(2)

工具说明
een_get_cameras列出具有分页、按状态过滤和名称搜索功能的摄像头
een_get_camera获取特定相机的详细信息

媒体工具(3)

工具说明
een_get_live_image从相机获取当前实时快照(返回base64 JPEG)
een_get_recorded_image获取特定时间戳的历史图像
een_list_media列出记录间隔(有可用记录的时间段)

事件工具(2)

工具说明
een_get_events使用参与者、类型和时间范围过滤器查询事件
een_get_event_types列出所有60+可用事件类型

用户工具(3)

工具说明
een_get_current_user获取经过身份验证的用户的个人资料
een_get_users列出帐户中的所有用户
een_get_user获取特定用户的详细信息

警报工具(1)

工具说明
een_get_alerts使用时间、参与者和类型过滤器列出触发的警报

桥接工具(2)

工具说明
een_get_bridges列出具有可选状态过滤的网桥设备
een_get_bridge获取特定桥梁的详细信息

布局工具(2)

工具说明
een_get_layouts列出相机布局(预定义网格视图)
een_get_layout获取布局详细信息,包括相机窗格和显示设置

用法示例

配置后,您可以通过自然语言与EEN摄像头进行交互:

身份验证:

  • “我配置了哪些EEN帐户?”
  • “显示我的身份验证状态”

摄像头:

  • “列出我的所有相机”
  • “显示所有在线摄像头”
  • “哪些摄像头当前处于离线状态?”
  • “我有多少台相机?”

实时图像:

  • “从前门摄像头拍摄快照”
  • “显示摄像头1005963a的实时图像”

录制视频:

  • “给我看昨天下午3点大厅摄像头的录像”
  • “获取一小时前的录制图像”

活动:

  • “我可以查询哪些类型的事件?”
  • “在过去的一个小时里,第一台摄像机上有任何动态事件吗?”

警报:

  • “显示最近的提醒”
  • “今天触发了哪些警报?”

桥梁:

  • “列出我的所有桥梁”
  • “我的任何桥梁都离线了吗?”

用户:

  • “我以谁的身份登录?”
  • 列出我的EEN帐户中的所有用户

布局:

  • “列出我的所有相机布局”
  • “给我看看Klaus布局的细节”
  • “我的布局中有哪些摄像头?”

组合查询:

  • “给我所有相机、网桥和布局的状态概述”

测试

集成测试

该项目包括针对实时EEN API运行的全面集成测试。这些测试需要一个已配置并经过身份验证的帐户。

# Run all integration tests
npm test

# Run specific test file
npx vitest run test/integration/tools.test.ts

# Run tests for a specific category
npx vitest run test/integration/tools.test.ts -t "Camera"
npx vitest run test/integration/tools.test.ts -t "Layout"
npx vitest run test/integration/tools.test.ts -t "Event"

测试套件包括:

  • 身份验证工具:帐户列表、状态检查、帐户切换
  • 摄影机工具:列出摄像头,按状态过滤,获取摄像头详细信息
  • 媒体工具:实时快照、录制的图像、录制间隔
  • 事件工具:事件类型列表、运动事件查询
  • 警报工具:警报列表和筛选
  • 桥接工具:桥梁列表和详细信息
  • 布局工具:布局列表、筛选和详细信息
  • 错误处理:参数无效,工具未知

通过环境变量配置测试帐户:

TEST_USER=your-test-account@example.com npm test

快速测试

提供了一个bash脚本,用于通过Claude Code在MCP服务器上测试自然语言提示:

# Interactive menu to select and run prompts
./test-prompts.sh

# List all available test prompts
./test-prompts.sh --list

# Run all prompts sequentially
./test-prompts.sh --all

# Run a specific prompt by number
./test-prompts.sh 3

# Run a custom prompt
./test-prompts.sh --custom "Show me a live image from camera 1005963a"

该脚本包括22个预定义的提示,涵盖所有工具类别:

  • 身份验证(3个提示)
  • 摄像头(4个提示)
  • 媒体(2个提示)
  • 事件(2个提示)
  • 警报(1个提示)
  • 桥接(2个提示)
  • 用户(2个提示)
  • 布局(5个提示)
  • 组合查询(1个提示)

其他示例提示记录在 example-prompts.md.

备注:提示测试脚本要求安装Claude Code,并在Claude Code设置中配置MCP服务器。

项目结构

een-api-mcp/
├── src/
│   ├── index.ts              # MCP server entry point
│   ├── api/                   # EEN API client functions
│   │   ├── client.ts         # Base HTTP client with auth
│   │   ├── cameras.ts        # Camera API
│   │   ├── bridges.ts        # Bridge API
│   │   ├── users.ts          # User API
│   │   ├── events.ts         # Event API
│   │   ├── alerts.ts         # Alert API
│   │   ├── media.ts          # Media/image API
│   │   └── layouts.ts        # Layout API
│   ├── auth/                  # Authentication module
│   │   ├── token-manager.ts  # Token storage and refresh
│   │   ├── oauth.ts          # OAuth login flow
│   │   └── crypto.ts         # Password encryption
│   ├── tools/                 # MCP tool definitions
│   │   ├── definitions.ts    # JSON Schema tool definitions
│   │   └── handlers.ts       # Tool implementation
│   └── types/                 # TypeScript type definitions
├── cli/
│   └── auth.ts               # Authentication CLI
├── test/
│   └── integration/          # Integration tests
├── .env                       # Environment variables (create this)
├── mcp-config-template.json  # Template MCP configuration
└── test-prompts.sh           # Prompt testing script

安全

  • 凭据存储: ~/.een-mcp/credentials.json 和 0600 权限
  • 密码加密:带机器特定密钥的AES-256-GCM
  • 许可证管理:过期前5分钟自动刷新
  • 刷新令牌轮换:支持EEN OAuth刷新令牌轮换
  • 代码中没有凭据:通过环境变量或CLI获取所有机密

故障排除

“找不到凭据文件”

运行auth-CLI登录:

npm run auth login -- --username user@example.com --persistPassword

“未选择帐户”

MCP工具会自动选择第一个可用帐户,但您可以明确设置一个:

# Via Claude
> "Set my EEN account to user@example.com"

“令牌已过期”

如果已存储密码(--persistPassword),令牌自动刷新。否则,请重新运行登录:

npm run auth login -- --username user@example.com

“身份验证失败”

  1. 验证您的凭据是否正确
  2. 检查您的OAuth客户端ID/密钥是否有效
  3. 确保您的EEN帐户在web控制台中处于活动状态

“MCP服务器未连接”

  1. 验证Claude配置中的路径是否正确
  2. 确保项目建成: npm run build
  3. 检查是否安装了Node.js 18+
  4. 查看克劳德桌面/代码日志中的错误

发展

# Run in development mode (auto-reload)
npm run dev

# Type checking
npm run typecheck

# Build for production
npm run build

# Run integration tests
npm test

# Run auth CLI
npm run auth -- 

许可证

麻省理工学院

工具与能力

工具数量

18

资源数量

0

提示词数量

0

能力标签

摄像头管理TypeScript本地部署AI交互视频监控事件查询多账户支持

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

语音转文字

把会议录音转成文字,再整理要点。

文字转语音

把文案转成配音,调整语速和音色。

视频素材处理

提取字幕、剪出片段、生成封面。

选择建议

值得选的地方

  • 工具数量 18 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Node.js,换机器要重新装一遍。
  • 需要自备OAuth 授权,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在音视频场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到OAuth 授权的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Een API MCP

MCP World · 本页

18stdio有1 个2026-05-17
Youtube E0eb3510

MCP World

0stdio有1 个2026-05-17
Ableton MCP B7b69a6a

MCP World

16stdio有2 个2026-05-17
Voicemode MCP

MCP World

0stdio有3 个2026-05-17
Short Video Maker MCP

MCP World

0stdio有3 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Een API MCP 怎么安装?

公开资料给出的安装命令是 npx playwright install chromium,运行环境为 Node.js。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Een API MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Node.js;保存后完全退出客户端再打开,配置才会生效。

Een API MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Een API MCP 需要 API Key 吗?

公开资料标注的认证方式是OAuth 授权,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Een API MCP 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP