Token导航 LogoToken导航

MCP Server · 浏览器工具

Cerberus Keyrouter

Cerberus KeyRouter是一款MCP服务器,通过本地Vaultwarden存储密码并使用占位符替换技术,确保AI代理在登录网站时密码不进入LLM上下文,提供安全的浏览器自动化登录解决方案。

未说明官方级别未说明来源级核验工具 2
本地存储TypeScript浏览器自动化

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
DemoJacob
提供方
DemoJacob

工具数量

2

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

5

仓库热度

收录来源

1 个

MCP World

选型结论

Cerberus Keyrouter 属于浏览器工具类 MCP Server,公开资料标注 2 个工具,通过传输方式未标注接入,客户端适配情况以官方文档为准,没有现成的安装命令;接入前要先准备 访问 Token。

分类

浏览器工具

传输方式

未说明

认证方式

访问 Token

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

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

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

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

  4. 4

    验证是否可用

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

接入前确认

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

公开资料仍需确认:安装命令

详细介绍

Cerberus密钥路由器

AI代理的安全登录路由器——你的LLM永远不会看到你的密码。

Cerberus KeyRouter是一个MCP(模型上下文协议)服务器,使AI代理能够安全地登录网站。密码存储在Vaultwarden(自托管Bitwarden)中,代理仅使用 {{placeholder}} 令牌——真正的凭据通过Chrome DevTools协议(CDP)在本地注入,从不进入LLM上下文。

问题

当AI代理自动化浏览器时,它们通常需要在上下文窗口中提供登录凭据。这意味着您的密码是:

  • 发送给云LLM提供商(OpenAI、Anthropic等)
  • 存储在对话日志中
  • 可能通过快速注射攻击暴露

Cerberus KeyRouter通过将凭据保存在本地保险库中并在浏览器级别注入它们来解决这个问题——LLM只能看到 {{email}} 和 {{password}} 占位符。

建筑

┌─ Your Machine ─────────────────────────────────┐
│                                                  │
│  AI Agent (OpenClaw, etc.)                       │
│    │                                             │
│    │ MCP call: secure_login("GitHub",            │
│    │   steps: [                                  │
│    │     {fill, "#email", "{{email}}"},           │
│    │     {fill, "#password", "{{password}}"},     │
│    │     {click, "#submit"}                      │
│    │   ])                                        │
│    │  + Authorization: Bearer      │
│    │                                             │
│    ▼                                             │
│  Login Router (localhost:8899)                   │
│    ├─ Route by bearer token → account            │
│    ├─ Fetch credentials from account's vault     │
│    ├─ Replace {{placeholders}} with real values  │
│    ├─ Execute via Chrome CDP                     │
│    ├─ Clear credentials from memory              │
│    └─ Return { status: "ok" } (no passwords)     │
│                                                  │
│  Admin Panel (localhost:8899/admin)              │
│    └─ Manage accounts, settings, bearer tokens   │
│                                                  │
│  Vaultwarden (Docker, localhost:8443)            │
│    └─ E2E encrypted password storage             │
│                                                  │
│  Chrome (CDP on localhost:18800)                 │
│    └─ Receives fill/click/type commands          │
│                                                  │
└──────────────────────────────────────────────────┘
  • LLM永远看不到明文密码
  • 凭据仅在登录路由器内存中短暂存在
  • 所有通信仅限于本地主机
  • 多个Vaultwarder账户由独立的保险库支持

特性

  • 法学硕士零知识 --密码永远不会进入AI上下文
  • Vaultwarder集成 --自托管、E2E加密密码存储
  • 多账户支持 --管理多个Vaultwarden帐户,每个帐户都有自己的不记名令牌
  • 管理面板 --web用户界面位于 /admin 用于帐户管理,具有基于会话的身份验证和密码保护
  • API密钥自动检索 -只需提供电子邮件+主密码,API密钥将自动提取
  • MCP协议 --可与任何兼容MCP的AI代理配合使用
  • 占位符图案 — {{email}}, {{password}}, {{totp}}
  • 填充和键入操作 — fill 对于标准形式, type (逐个键)用于React/SPA网站
  • 智能标签匹配 --通过URL和CSS选择器检测找到正确的浏览器选项卡
  • 双层保护 --标准模式(自动解锁)或高级模式(手动解锁+电报批准)
  • 电报集成 --解锁事件、带有确认码的批准请求和登录执行结果的实时通知
  • 移动友好审批页面 — /approve 用于在移动中解锁保管库和批准登录请求的页面
  • 加强安保 --速率限制、URL验证、审计日志记录、承载令牌身份验证
  • 审计日志 --web用户界面位于 /audit 查看所有登录尝试(不记录密码)

快速开始

先决条件

  • Docker&Docker编写
  • 启用远程调试的Chrome/Chromium(--remote-debugging-port=18800)
  • MCP兼容的AI代理(例如。, 开爪)

1.克隆和配置

git clone https://github.com/DemoJacob/cerberus-keyrouter.git
cd cerberus-keyrouter
cp .env.example .env

编辑 .env --只需要一个变量:

VW_ADMIN_TOKEN=your-secret-token-here

此令牌用于初始管理员登录和密码重置的回退。

2.启动服务

docker compose up --build -d

这将开始:

  • 保管员 上 https://localhost:8443 --密码保管库
  • 登录路由器 上 http://localhost:8899 --MCP服务器+管理面板

验证: curl http://localhost:8899/health 应返回 {"status":"ok"}

3.创建一个Vaultwarder帐户

打开 https://localhost:8443 在浏览器中(接受自签名证书)。

  1. 点击 创建账户
  2. 设置您的电子邮件和主密码
  3. 登录并为您的网站添加登录项(名称、用户名、密码、URI)

4.设置管理面板

打开 http://localhost:8899/admin:

  1. 首次登录 --输入您的 VW_ADMIN_TOKEN 从 .env
  2. 设置管理员密码 --一个对话框将提示您创建个人密码(最少8个字符)。在此之后, VW_ADMIN_TOKEN 不能再用于管理员登录
  3. 未来的登录将使用您的新密码
忘记密码? 点击登录页面上的“忘记密码?”链接,输入您的 VW_ADMIN_TOKEN 重置。

5.添加您的Vaultwarder帐户

在管理面板中:

  1. (可选)更新 保管员URL 如果使用自定义域
  2. 点击 +添加帐户
  3. 输入您的保管员 电子邮件 和 主密码
  4. 系统将自动:

- 连接到Vaultwarden并获取您的API密钥 - 启动一个专用 bw serve 过程 - 生成唯一 持有者令牌 用于MCP呼叫

  1. 复制承载令牌(单击令牌单元格或使用 主控程序 复制即用型MCP配置的按钮)

6.连接您的AI代理

添加到MCP配置中:

{
  "mcpServers": {
    "cerberus": {
      "url": "http://localhost:8899/mcp",
      "headers": {
        "Authorization": "Bearer "
      }
    }
  }
}

7.测试

# Check health
curl http://localhost:8899/health

# List available logins (no passwords shown)
curl http://localhost:8899/mcp \
  -H "Authorization: Bearer " \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

管理面板

访问地址: http://localhost:8899/admin.

身份验证:

  • 首次登录使用 VW_ADMIN_TOKEN,然后设置个人密码(PBKDF2-SHA256哈希)
  • 会话持续8小时
  • 密码可以随时从设置中更改
  • 忘记密码?重置为 VW_ADMIN_TOKEN 在登录页面上

特征:

  • 设置 --配置默认的Vaultwarden URL、电报通知
  • 账户 --添加、测试、重新启动、禁用或删除Vaultwarden帐户
  • 持有者代币 --每个帐户都有一个唯一的令牌;单击以复制
  • MCP配置 --一键复制即用型MCP JSON配置
  • 保护模式 --标准(自动解锁)或高级(手动解锁+电报批准)
  • 解锁/锁定 --直接从帐户列表中解锁或锁定高级模式帐户
  • bw服务状态 --查看正在运行的帐户

其他页面:

  • /approve --用于解锁高级模式帐户和批准登录请求的移动友好页面
  • /audit --所有登录尝试的可搜索审计日志

保护模式

每个Vaultwarder帐户都可以配置两个保护级别之一:

标准模式(默认)

  • 保险库是 自动解锁 服务器启动时
  • 登录请求立即执行
  • 最适合低风险客户或开发用途

高级模式

  • 保险库保持 锁定 直到通过手动解锁 /approve 页面或管理面板
  • 每个 secure_login 呼叫需要 实时审批 带有4位确认码
  • 批准必须在以下时间内完成 50秒 或者请求被自动拒绝
  • 最适合敏感账户(银行、金融服务等)

电报通知

配置Telegram(设置中的机器人令牌+聊天ID)后,高级模式帐户将收到:

  1. 解锁通知 --当保险库成功解锁时
  2. 申请批复 --当代理人来电时 secure_login,包括保管库项目名称和4位确认码
  3. 执行结果 --批准后登录是成功还是失败

这创建了一个人在循环中的流程:AI代理请求登录,您在手机上验证请求,在 /approve 页面,然后登录继续。

MCP工具

list_vault_items

返回可用的登录项——仅限于站点名称和用户名, 无密码.

secure_login

执行带有占位符替换的登录序列。

参数:

参数类型说明
vaultItemstring要使用的vault项目的名称
stepsarray浏览器操作的有序列表

步骤类型:

操作描述用例
fill设置值+调度输入/更改事件大多数站点的标准表单
type按键输入(50ms延迟)反应控制组件,SPA
click单击元素提交按钮
wait等待导航或选择器页面转换,多步流程
select选择下拉选项选择元素

占位符: {{email}}, {{username}}, {{password}}, {{totp}}

多步登录(SPA)

一些网站有多步登录流程。通过拆分为单独的呼叫来处理这些问题:

// Step 1: Enter username, proceed to password screen
{
  "vaultItem": "MyBank",
  "steps": [
    {"action": "type", "selector": "#username", "value": "{{username}}"},
    {"action": "click", "selector": "#next-btn"},
    {"action": "wait", "selector": "input[type=password]"}
  ]
}

// Step 2: Enter password, submit
{
  "vaultItem": "MyBank",
  "steps": [
    {"action": "type", "selector": "#password", "value": "{{password}}"},
    {"action": "click", "selector": "#login-btn"},
    {"action": "wait", "navigation": true}
  ]
}

安全

设计原则

  • 密码永远不会到达LLM --只有 {{placeholder}} 令牌存在于AI上下文中
  • 使用后清除凭据 --注入后立即将内存清零
  • 仅限本地主机 --MCP服务器绑定到 0.0.0.0:8899 在Docker内部,仅在本地主机上公开
  • Vaultwarder E2E加密 --静止的数据被加密;如果没有主密码,则无法读取
  • AES-256-GCM加密 --存储的主密码使用自动生成的密钥进行加密(独立于管理员令牌)
  • PBKDF2-SHA256管理员密码 --管理面板密码经过310k次迭代,从不以明文形式存储
  • 基于会话的身份验证 -管理员API使用服务器端会话(8小时TTL),而不是原始令牌
  • 指令序列,而非脚本 --只有预定义的操作(填充/键入/单击/等待/选择),没有任意的JS执行
  • 预防占位符注射 — {{password}} 仅允许填写/键入 value 领域;在选择器中被拒绝

威胁模型

威胁缓解
立即注入以登录钓鱼网站Vaultwarden充当隐式满网者;通过CDP进行URL验证
未经授权的MCP访问每个帐户持有人令牌身份验证
凭证滥用/重复尝试速率限制(3/min,20/hr)+故障后的冷却
未经授权登录敏感帐户高级模式:手动解锁+确认码批准,超时50秒
URL欺骗登录路由器通过CDP读取实际浏览器URL,并与vault URI进行匹配
缺少审计跟踪结构化审计日志记录在 /audit (日志中没有密码)
存储密码泄漏使用AES-256-GCM(自动生成密钥)加密的主密码
管理面板暴力破解PBKDF2-SHA256哈希密码,基于会话的身份验证
未注意到的凭据使用解锁、批准请求和执行结果的电报通知

环境变量

变量必填描述
VW_ADMIN_TOKEN是初始管理员登录令牌和密码重置回退

所有其他配置(Vaultwarden URL、帐户、承载令牌、电报、速率限制)均通过管理面板进行管理,或在中具有合理的默认值 docker-compose.yml.

路线图

  • \[\]Cookie缓存(登录一次,重用会话)
  • \[\]支持OpenClaw快照引用ID(以及CSS选择器)
  • \[\]多代理框架支持

许可证

该项目根据 GNU Affero通用公共许可证v3.0(AGPL-3.0)。参见 许可证 全文。

  • 免费供个人使用、测试和自托管
  • 在同一许可证下可以自由修改和分发
  • 如果将修改后的版本作为网络服务运行,则必须发布源代码
  • 如需商业许可,请联系作者

致谢

工具与能力

工具数量

2

资源数量

0

提示词数量

0

能力标签

安全登录TypeScript本地部署AI代理密码管理浏览器自动化本地存储

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

典型使用场景

自动操作网页

打开页面、点击、填表,把浏览器动作交给模型执行。

抓结构化数据

把页面内容整理成表格或 JSON,省掉手工复制粘贴。

走一遍关键流程

按步骤检查页面是否正常,回归时少漏环节。

选择建议

值得选的地方

  • 只提供 2 个工具,职责集中,接入后不容易误操作。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 需要自备访问 Token,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在浏览器工具场景里让模型直接调用外部能力的人。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 暂时拿不到访问 Token的人。
  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

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

MCP World · 本页

2未说明未标注1 个2026-05-17
Fetch 9a2682de

MCP.so

1SSE有3 个2026-05-17
Browser 738d52bc

MCP World

0stdio有1 个2026-05-17
Playwright MCP Server

MCP.so

21stdio有4 个2026-05-17
Skyvern MCP

MCP World

0stdio有2 个2026-05-17

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

常见问题

5 条

Cerberus Keyrouter 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Cerberus Keyrouter 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Cerberus Keyrouter 收费吗?

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

Cerberus Keyrouter 需要 API Key 吗?

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

Cerberus Keyrouter 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP