Skip to main content
Glama

brokre — AI 安全的凭据代理

English | 简体中文

brokre 是一个面向 AI 代理和人类的本地凭据代理。可配合 Cursor、Claude Code、Kimi Code、Trae、OpenClaw、Hermes Agent、ChatClaw 以及其他支持 MCP 的客户端使用,运行 ssh、mysql、psql 等命令——密码永远不会进入 AI 上下文、环境变量或 ps 输出。它包装 PATH 上的任何 CLI——不仅限于 SSH 或 MySQL——并在提示符处注入已保存的密码,而不会将明文暴露给 AI 进程、shell 历史或进程环境。

由 Techinone(成都同创合一科技有限公司)开发。

0.2.17 中的新功能

0.2.17 是当前版本:默认通过 SessionRelay 路由 SSH、多跳堡垒机路由、默认仅本地列表,以及现有的一键 npm 安装 / 自动 MCP 注册 / 自动二进制升级流程。

npm — 安装、自动更新、自动 MCP 设置

npm install -g brokre          # or: npx -y brokre@latest

能力

具体行为

自动 MCP 注册

postinstall 运行 brokre-setup-mcp——仅检测已安装的 IDE,并将 npx -y brokre@latest 合并到每个全局 MCP 配置中。重新运行:brokre mcp setup 或 npx brokre-setup-mcp。跳过:BROKRE_MCP_SKIP_SETUP=1。

自动二进制升级

每次 MCP 启动时,将 npm 包版本与 PATH / ~/.brokre/bin/brokre 进行比较;当缺失或较旧时,下载匹配的 GitHub Release。

无需 npm 的 CLI

brokre version / brokre upgrade 适用于 install.sh 用户;安装 IDE 后运行 brokre mcp setup 注册 MCP。

支持的 IDE

Cursor、VS Code、VS Code Insiders、Claude Code、Claude Desktop、Trae、Kimi Code、Windsurf、OpenClaw——参见 packages/brokre-mcp/README.md。

推荐的 MCP 配置(自动设置也会应用):

{ "command": "npx", "args": ["-y", "brokre@latest"] }

堡垒机代理 — 集群管理

堡垒机层允许 AI 代理操作一个跳板机后面的许多主机,而无需将保险库密码复制到上下文中,也无需将机密散布在笔记本电脑上。

优势

实际意义

单一控制平面

注册堡垒机 SSH 别名(b150),从远程 brokre 同步内部别名,并通过 brokre list / MCP brokre_list 驱动整个集群

智能路由

b150::db、b150::app-01、多跳 b1::b2::inner——路由分隔符 ::;路由 SSH 默认使用 SessionRelay

机密保留在堡垒机上

路由执行在跳板机上运行 ~/.brokre/bin/brokre;笔记本电脑仅保存元数据和会话门,而非内部主机密码

人工门控,代理友好

堡垒机出站需要解锁(TTY、/bastion-auth 或 MCP URL 引导);门控认证在管理 UI 空闲过期后仍然有效,因此长时间运行的 MCP 调用可以继续工作

集群安全默认值

默认仅本地列表;显式堡垒机发现;带毫秒超时和并发上限的可达性探测;循环检测和审计 route/bastion 字段

通过路由的特权操作

brokre_exec_elevated 和 sudo/sudo -i 路径通过堡垒机工作,支持会话复用和 PTY 加固

典型流程:一个入口主机后面的 K8s / 数据库 / 批处理集群:

brokre bastion enable b150
brokre bastion sync b150 --json          # pull inner alias catalog
brokre bastion unlock
brokre list --include-bastions --json    # b150::db, b150::worker-01, …
brokre ssh b150::db systemctl status   # MCP: brokre_exec with routed alias

MCP 等效操作:

{ "binary": "ssh", "args": ["b150::db", "uname", "-a"] }

门控策略(默认 vs 严格)——参见下面的 堡垒机门控策略。门控在 brokre bastion set-key 之前处于非活动状态;然后默认仅解锁堡垒机出站路径;严格要求每次执行都解锁,而列表保持仅本地,除非请求堡垒机发现。

有关设置详情,请参见下面的 跨网络列表继承 和 堡垒机代理。

Related MCP server: agent-vault

CLI 安全(核心)

brokre 围绕一条规则构建:机密远离 AI 的触及范围,也远离可观察的进程状态。

层

brokre 的作用

无环境变量 / ps 泄漏

注入基于 PTY 提示符——密码从不通过 -p、SSHPASS、MYSQL_PWD 或导出的环境变量传递

父进程不持有明文(Unix)

保存的密码在短暂的 brokre --internal-injector 子进程中解密,仅写入 PTY 一次,然后子进程退出

AI 无法 reveal

brokre reveal 需要真实的 TTY + 主密码短语;在 Web UI 中不可用,且不通过 MCP 暴露

静态保险库

每个字段 AES-256-GCM;DEK 使用操作系统密钥环(Linux)或 ~/.brokre/.master_kek(macOS)包装,可选 Argon2id 揭示密码短语

审计

HMAC 链式 JSONL 位于 ~/.brokre/audit/audit.log;brokre audit list 查询历史(仅元数据);brokre audit verify 检测篡改

MCP 边界

MCP 暴露元数据(brokre_list)、执行(brokre_exec、brokre_exec_elevated)、brokre_setup 和只读审计(brokre_audit_list、brokre_audit_verify)——没有密码、会话令牌或 reveal

管理 UI

仅绑定 127.0.0.1;密码只写;审计日志标签页用于历史;会话令牌打印在您的终端中,绝不返回给 AI

操作系统加固

禁用核心转储、ptrace 检查(Linux)、可选 mlockall——参见 docs/HARDENING.md

完整威胁模型:SECURITY.md、THREAT_MODEL.md。

PATH 上的任何 CLI(通用设计)

brokre 不是固定的数据库/SSH 包装器列表。核心模型是:

brokre <any-cli-on-PATH> [args...]

首次连接:原样运行,捕获您在提示符处输入的密码,提供保存为别名的选项。
下次:brokre <cli> <alias> … 自动注入——AI 和脚本只看到别名。

预设提示符模式适用于常见工具(ssh、mysql、psql、redis-cli、ftp、clickhouse、git、docker、kubectl、sudo 等)。其他所有工具使用通用的 password: / passphrase: 匹配器——无需修改代码。

brokre gsql prod-cluster -c "SELECT 1"    # any proprietary CLI on PATH
brokre kubectl get pods                   # if your cluster CLI prompts for a password
brokre my-internal-tool --host db.internal

需要时自定义:

  • ~/.brokre/prompts.toml — 每个二进制的提示符正则表达式覆盖

  • ~/.brokre/manage.toml — 管理 UI 中的自定义部分(例如 GaussDB、内部工具)

内置管理 UI 标签页(当二进制已安装时)包括 SSH、FTP、MySQL、PostgreSQL、Redis、ClickHouse、MinIO——仅为方便;PTY 包装器适用于任何 CLI。

安装(MCP 优先——推荐用于 AI)

npm 包 brokre 通过 stdio 为 Cursor、Claude Code、Kimi Code、Trae、OpenClaw、Windsurf、VS Code 和其他 MCP 客户端启动本地 brokre mcp 服务器。

选择您的安装路径

路径

最适合

安装

IDE 中的 MCP

CLI 升级

npm(推荐)

AI 用户;想要一条命令

npm install -g brokre

安装时自动(postinstall)

npm + 每次 MCP 启动时自动下载

install.sh / Homebrew

生产环境;日常使用无需 Node

curl … | bash 或 brew install brokre

安装 IDE 后运行 brokre mcp setup

brokre version / brokre upgrade

手动 MCP JSON

仅自定义布局

CLI 或 npm 已存在

手动编辑 IDE 配置

取决于 CLI 的安装方式

推荐的 MCP 入口(自动设置也会写入):

{ "command": "npx", "args": ["-y", "brokre@latest"] }

无 Node——将 MCP 指向原生二进制:{ "command": "brokre", "args": ["mcp"] }。

路径 A — npm 一行命令(0.2.8+)

npm install -g brokre
# or without global install:
npx -y brokre@latest

在 npm install 时,自动发生三件事:

  1. MCP 启动器 — brokre-mcp / npx -y brokre@latest 生成 brokre mcp。

  2. IDE 自动注册 — postinstall 运行 brokre-setup-mcp:仅检测已安装的 IDE(应用、CLI 或实际使用痕迹——不是空文件夹),并将上述 MCP 条目合并到每个全局配置中。幂等;保留您的其他 MCP 服务器。

  3. 二进制自动升级 — 每次 MCP 启动时,如果 PATH 或 ~/.brokre/bin/brokre 比 npm 包旧,则下载匹配的 GitHub Release。

自动设置覆盖的 IDE

IDE

全局配置

Cursor

~/.cursor/mcp.json

VS Code / Insiders

…/Code/User/mcp.json

Claude Code

~/.claude.json

Claude Desktop

…/Claude/claude_desktop_config.json

Trae

…/Trae/User/mcp.json

Kimi Code

~/.kimi-code/mcp.json

Windsurf

~/.codeium/windsurf/mcp_config.json

OpenClaw

~/.openclaw/openclaw.json(mcp.servers)

重新运行注册(例如,您在 Cursor 之前安装了 brokre,然后稍后安装了 Cursor):

brokre mcp setup              # via CLI — same logic as postinstall
npx brokre-setup-mcp          # via npm
brokre mcp setup --dry-run    # preview only
brokre mcp setup --force      # overwrite existing brokre entry

在 npm install 时跳过自动注册:BROKRE_MCP_SKIP_SETUP=1。禁用二进制自动下载:BROKRE_SKIP_AUTO_INSTALL=1。固定二进制:BROKRE_BIN=/path/to/brokre。

npm 路径需要 Node.js 18+。

路径 B — 原生 CLI(install.sh / Homebrew,无需 npm)

curl -fsSL https://raw.githubusercontent.com/Furowu/brokre/main/install.sh | bash
brew tap Furowu/brokre
brew install brokre

版本和升级(内置于 CLI——无需 npm):

brokre version                # version, binary path, install type
brokre version --check        # compare with latest GitHub release
brokre version --check --json
brokre upgrade                # download latest release (curl + tar)
brokre upgrade --check        # exit 1 if an update is available
brokre upgrade 0.2.10         # install a specific version
brokre upgrade --force        # reinstall even when up to date

重新运行 install.sh 也会在存在较新版本时升级。

CLI 安装后注册 MCP(设置脚本需要 Node,或使用 npx 回退):

brokre mcp setup

手动按 IDE 设置(可选)

仅当您跳过自动设置或需要项目级配置时使用。

Cursor — 一键安装,或 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "brokre": { "command": "npx", "args": ["-y", "brokre@latest"] }
  }
}

Claude Code — 用户范围在 ~/.claude.json 或 claude mcp add --scope user brokre -- npx -y brokre@latest。项目范围:.mcp.json 中的 "type": "stdio"。

更多客户端和环境变量:packages/brokre-mcp/README.md。MCP Registry ID:io.github.Furowu/brokre。

MCP 工具及用法

MCP 工具

用途

brokre_list

默认列出已保存的本地别名;设置 include_bastions=true 可发现路由别名(b150::db),这可能需要解锁堡垒机;包含 access/availability/bastion_gate

brokre_exec

运行任意已保存的 CLI 别名(binary + args);ssh 支持 shell_command 执行远程脚本;ssh + sudo/su 自动复用提权会话

brokre_exec_elevated

远程特权命令(alias、command、mode);默认 session=reuse(10 分钟空闲超时)

brokre_setup

在浏览器中打开管理 UI,供人工添加凭据

brokre_audit_list

查询审计历史(仅元数据 — 参数已编辑)

brokre_audit_verify

验证防篡改审计日志链

brokre_bastion_policy

读取或设置堡垒机门控模式(default / strict);返回 key_set、unlocked

MCP 与 CLI 对比(对 AI 代理至关重要)

brokre 不是 ssh / mysql 的直接替代品 — 必须加上 brokre 前缀才能进行保险库注入。

任务

MCP(在 IDE 中)

CLI(终端 / 调试)

列出别名

brokre_list

brokre list --json

SSH 远程命令

brokre_exec binary=ssh, args=["prod","uname","-a"]

brokre ssh prod uname -a

任意 CLI

brokre_exec binary=mysql, args=["prod-db","-e","SHOW TABLES"]

brokre mysql prod-db -e "SHOW TABLES"

写入远程脚本

shell_command="…"(仅 ssh)

brokre ssh prod sh -c '…'(整个脚本作为一个 -c 参数)

特权执行

brokre_exec_elevated command="…"

brokre ssh prod sudo …(MCP 有会话池;CLI 每次使用新的 PTY)

添加凭据

brokre_setup(打开浏览器)

brokre manage --open

首次保存

不可用(需要人工 TTY)

brokre ssh user@10.0.0.1

常见错误(AI 代理)

错误

正确

ssh prod uptime

brokre ssh prod uptime

MCP args=["prod","uname -a"](单个 shell 字符串)

args=["prod","uname","-a"](argv 令牌)

MCP args=["prod","sh -c 'echo hi'"]

shell_command="echo hi" 或 args=["prod","sh","-c","echo hi"]

裸 mysql -h … -p

brokre mysql <saved-alias> …

对于远程 SSH:别名后的令牌是 argv 片段,不是单个 shell 命令。简单命令使用拆分令牌;复杂脚本使用 shell_command。

MCP 提权会话(sudo / su,Unix)

默认情况下,brokre mcp 为每个 (alias, mode, user) 复用后台提权 shell,因此不会在每次调用时重新提示 sudo 密码。

brokre_exec_elevated(特权提升的首选):

{
  "alias": "prod",
  "command": "systemctl status nginx",
  "mode": "sudo_login",
  "session": "reuse"
}

字段

描述

mode

sudo、sudo_login(或 sudo-i)、su

session

reuse(默认)、new(关闭旧会话并打开新会话)、close(结束会话;传递 command: "")

user

仅 su 模式;默认 root

启用会话池后,响应除了 exit_code / stdout / stderr 外,还包含 session_reused 和 session_idle_expires_at。session_idle_expires_at 是一个滚动空闲窗口提示,每次调用都会刷新,不是固定的过期时间戳。stderr 在池路径上通常为空。stdout 仅包含远程命令输出 — TTY 回显、__BROKRE_* 框架和 shell 提示符均被剥离。

brokre_exec:binary=ssh 且 args 中包含 sudo/su 时自动使用同一池(始终 reuse;无 session=new|close)。示例:args=["prod","sudo","whoami"]。

编写远程脚本/文件(shell_command,仅 binary=ssh):仅在 args 中传递别名;将完整 shell 脚本放在 shell_command 中(brokre 规范化为 sh -c)。不要在 args 中嵌入 sh -c '...',也不要将 printf/重定向拆分为 argv 令牌。对于特权系统路径,使用 brokre_exec_elevated.command。

{
  "binary": "ssh",
  "args": ["prod"],
  "shell_command": "cat > /tmp/deploy.sh <<'EOF'\n#!/bin/sh\necho ok\nEOF"
}

堡垒机路由同样适用:args=["b150::db"] 配合 shell_command 作为远程脚本。

SessionRelay 隧道(默认)

brokre ssh b150::db 默认使用 SessionRelay 路径:笔记本电脑通过 SSH 在 b150 上启动 brokre tunnel agent --stdio,代理在堡垒机上运行 brokre ssh db。多跳路由每跳剥离一个代理(b1::b2::db 在 b1 上启动,然后 b1 继续使用 b2::db)。内部凭据保留在堡垒机保险库中;笔记本电脑仅中继终端字节。BROKRE_TUNNEL=0 是临时的旧版逃生通道,用于紧急回滚。

brokre tunnel doctor b150
brokre ssh b150::db uname -a

MCP brokre_exec 对路由 SSH 的响应包含 tunnel: { mode, active }。TcpForward、端点同步、Manage UI 隧道控制以及持久化 tunneld 属于后续阶段。

控制

默认

空闲拆除

10 分钟

最大生命周期

30 分钟

每命令超时

120 秒

变量

默认

含义

BROKRE_MCP_SESSION

1

0 禁用池;回退到一次性子进程执行

BROKRE_MCP_SESSION_IDLE_SECS

600

空闲超时(秒)

BROKRE_MCP_SESSION_MAX_SECS

1800

最大会话生命周期(秒)

BROKRE_MCP_SESSION_CMD_TIMEOUT

120

远程命令超时(秒)

不支持:无命令的交互式 sudo -i、vim/top,或与保险库 password 字段不同的 sudo 密码。参见 THREAT_MODEL.md T12。

首次连接空保险库时,brokre 会在浏览器中打开 manage(http://127.0.0.1:56777/?t=…)。会话令牌保留在 localhost — 绝不返回给 AI。设置 BROKRE_MCP_NO_AUTO_OPEN=1 可禁用自动打开。

| MCP 工具 | 用途 |

添加凭据

CLI 安装后,管理器在首次运行时打开(brokre manage --onboard --open)。或随时:

brokre manage --open

或在首次交互式连接时保存(任何 CLI):

brokre ssh root@10.0.0.1
brokre my-tool --host internal.corp

使用(AI 安全)

brokre mysql prod-db -e "SHOW TABLES"
brokre ssh prod-bastion uname -a
brokre <your-cli> <alias> [args...]

列出元数据(对 AI / 脚本安全)

brokre list --json              # local aliases with reachability status (default probe)
brokre list --no-probe --json   # metadata only, skip TCP/SSH probes
brokre list --reachable-only    # hide unavailable aliases
brokre list --all --json        # compat: show all (same as default unless --reachable-only)
brokre list --no-bastion-discovery   # local only — no bastion SSH discovery

当注册了堡垒机时,brokre list 默认仅限本地,不会 SSH 到堡垒机或触发堡垒机解锁。当您确实需要路由别名(如 b150::db)时,使用 brokre list --include-bastions(MCP:include_bastions=true);该远程发现可能需要解锁。

OpenSSH 会话默认注入 ConnectTimeout=5(BROKRE_SSH_CONNECT_TIMEOUT)。使用 -o ConnectTimeout=N 或环境变量覆盖。堡垒机 RPC(brokre list --include-bastions / 远程列表)在 60 秒后超时(BROKRE_BASTION_RPC_TIMEOUT)。远程命令使用 ControlPath=none,因此不会附加到 ControlPersist mux 主进程。

跨网络列表继承(堡垒机代理)

用于跨网络访问 — 旅行、VPN、公共入口 — 当直接 LAN 别名在本地不可达,但可通过运行 brokre 的堡垒机访问时。

先决条件

  1. 笔记本电脑:brokre bastion enable b150(b150 是已保存的 SSH 别名)

  2. 堡垒机主机在 ~/.brokre/bin/brokre(标准安装 / npx 路径)运行 brokre,并保存了内部别名(例如 db)

路由列表

brokre bastion unlock            # if bastion key is set
brokre list --include-bastions   # includes b150::db (route=b150, access=via_b150)

跨网络时,需要路由别名时使用 --include-bastions。普通 brokre list 仅限本地,不会解锁或 SSH 到堡垒机。

执行

brokre ssh b150::db uname -a
# MCP: brokre_exec binary=ssh, args=["b150::db", "uname", "-a"]

当两条路径都可用时,列表会同时显示 db(direct)和 b150::db(via_b150)— 通过 access 区分。

堡垒机代理(跨网络 / 内网入口)

将任何远程主机运行 brokre 的已保存 SSH 别名提升为堡垒机代理。秘密保留在堡垒机上;笔记本电脑缓存元数据并通过 SSH 直通执行。

brokre bastion enable b150        # register ssh alias b150 as bastion
brokre bastion set-key              # set bastion unlock key (TTY)
brokre bastion unlock               # unlock outbound session (TTL, 30 min idle default)
brokre list --include-bastions --json # discover bastion-routed aliases
brokre ssh b150::db uname -a        # routed exec via b150 remote brokre
brokre bastion sync b150 --json     # fetch alias list from one bastion
  • 路由分隔符 ::(: 在别名中非法):db(本地)、b150::db(通过堡垒机)、b1::b2::inner(多跳,默认深度 ≤2)。

  • 远程 brokre:路由执行在堡垒机上调用 ~/.brokre/bin/brokre(带 BROKRE_SOFT_MEMLOCK=1、BROKRE_ALLOW_FILE_KEYCHAIN=1、BROKRE_ROUTED_INNER=1 用于无头 Linux)。交互式命令(例如 sudo -i)自动获得 -tt。

  • 防护措施:探测并发上限、毫秒超时、短缓存、循环检测、审计 route/bastion(HMAC v4)。

  • 管理 UI:brokre manage Bastion 选项卡 — 注册/禁用堡垒机、Web 设置密钥和解锁/锁定、严格模式切换、同步远程别名;非 TTY 仍自动打开 /bastion-auth。审计选项卡按 bastion/source 过滤并显示路由字段。

堡垒机门控策略(默认 vs 严格)

堡垒机门禁(gate)是在敏感操作之前的人工解锁步骤。在设置堡垒机密钥(brokre bastion set-key)之前,它处于关闭状态。密钥存在后,解锁会建立一个本地 TTL 会话(brokre bastion unlock、TTY 口令、管理界面 /bastion-auth 或 MCP 浏览器引导)。

策略存储在 ~/.brokre/bastion/policy.json(strict_mode,默认 false)。

模式

gate_mode

需要解锁的情况(必须已设置密钥)

默认

default

仅堡垒机出站 — b150::inner 路由执行;SSH/scp/sftp 到已注册的堡垒机别名;当堡垒机发现通过 SSH 连接堡垒机时的 brokre list / brokre_list。纯本地执行(例如 brokre ssh lan-db)不需要解锁。

严格

strict

每次 brokre exec / MCP brokre_exec;仅元数据的 brokre list 保持仅本地,而 --include-bastions 仍需要解锁。当您希望在配置了堡垒机密钥的情况下,为代理执行引入人工介入时使用。

示例(默认模式,已设置密钥,会话已锁定)

操作

需要解锁?

brokre ssh prod uname -a(本地别名)

否

brokre ssh b150::db uname -a

是

brokre ssh b150 uptime(已注册的堡垒机)

是

brokre list --include-bastions

是

brokre list(仅本地)

否

在严格模式下,exec 行需要解锁;仅元数据的 brokre list 保持仅本地,除非使用 --include-bastions,否则不会解锁。

设置门禁模式

brokre bastion strict status    # default | strict
brokre bastion strict on        # strict — all exec gated; list stays local-only unless discovery is requested
brokre bastion strict off       # default — bastion outbound only

界面

方式

CLI

brokre bastion strict on|off|status

管理界面

Bastion 标签页 — 严格模式开关

MCP

brokre_bastion_policy — 读取当前策略,或传入 {"strict_mode": true} / false

MCP 读取响应包含 strict_mode、gate_mode、key_set、unlocked。列表/执行响应包含 bastion_gate(required、unlocked_during_call、idle_expires_at)。

解锁会话 TTL(默认值):空闲 30 分钟(BROKRE_BASTION_IDLE_SECS),最长 8 小时(BROKRE_BASTION_MAX_SECS)。在解锁状态下,每次受门禁保护的调用都会续期空闲窗口(通过 ~/.brokre/run/bastion_session.json 在 CLI、MCP 和管理界面之间共享)。堡垒机门禁认证独立于管理界面会话空闲过期。在 MCP 解锁时禁用自动打开浏览器:BROKRE_BASTION_NO_AUTO_OPEN=1。

显示 / 删除(仅限人工,真实 TTY)

brokre reveal mysql prod-db --field password
brokre rm ssh prod-bastion

审计日志(仅元数据)

brokre audit list --profile ssh --action exec --json
brokre audit verify --json

事件存储在 ~/.brokre/audit/audit.log(HMAC 链式)。命令参数统一以 <REDACTED> 脱敏。新事件包含 source 字段(cli、mcp 或 manage)。管理界面的 Audit log 标签页和 MCP brokre_audit_list 暴露相同的元数据。

管理界面安全

  • 仅限 127.0.0.1;会话令牌在终端中

  • 密码:仅可创建 / 轮换 — 无读取 API

  • 删除 / 轮换需要显示口令(自动保存的记录为 YES)

  • 15 分钟空闲超时

架构

┌─────────┐     ┌──────────┐     ┌─────────────┐     ┌────────────┐
│ AI/User │────▶│ brokre CLI│────▶│ OS Keychain │────▶│ Vault File │
└─────────┘     └──────────┘     └─────────────┘     └────────────┘
                      │
                      ▼
               ┌─────────────┐
               │  PTY + inj. │──▶ any CLI on PATH (ssh, mysql, gsql, …)
               └─────────────┘
  • 双重加密:每个字段使用唯一的 DEK;分别为 exec 和 reveal 包装。

  • 保险库元数据:profile、name、host_alias、saved_args 以明文形式与密文并列存储(THREAT_MODEL.md T3)。

  • SSH 私钥:0600 临时文件 + 会话使用 -i(docs/HARDENING.md)。

预设管理界面分组

当二进制文件在 PATH 中时的便捷标签页:

分组

二进制文件

SSH

ssh、scp、sftp(共享凭据)

FTP

ftp、lftp

MySQL

mysql、mariadb

PostgreSQL

psql、postgres

Redis

redis-cli、redis

ClickHouse

clickhouse-client、clickhouse

MinIO

mc、minio

路线图

当前: 通用 PTY 包装器 + manage.toml 分组 + prompts.toml 覆盖。

计划中: ~/.brokre/profiles/ 下的完整 TOML 连接器配置文件,包含按工具注入策略。

管道标准输入与 OpenSSH 共享

  • 管道标准输入(tar | brokre ssh host 'tar xf -'):仅在注入完成后才转发管道数据。

  • OpenSSH 系列(ssh、scp、sftp):当主机匹配时共享已保存的凭据。需要先进行交互式保存(TTY)。

开发

cargo test    # unit tests in src/ only (no tests/ integration suite in this repo)
cargo clippy --all-targets --all-features -- -D warnings
cargo build --release   # binary: target/release/brokre

发布版本在 VERSION 中声明(也反映在 Cargo.toml 和 packages/brokre-mcp/package.json 中)。官方二进制文件和 npm 包由 TechinOne 通过 GitHub Releases 和 CI 发布 — 不属于此开源树的一部分。

许可证

MIT — 参见 LICENSE。


Techinone · 成都同创合一科技有限公司

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI agents to securely access authenticated services (HTTP, SSH, SMTP) without exposing secrets, by acting as a server-side proxy that injects authentication.
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Agent Vault is a local credential vault for AI agents. It enables agents to use secrets by name without ever seeing their values, with host allowlists, output scrubbing, and audit logging.
      4
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Enables AI agents to securely manage local credentials, obtain short-lived tokens for authenticated API access, and audit every use by purpose.
      9
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Lets AI agents make authenticated API and OAuth calls using stored credentials they never see, with per-credential Touch ID approval, proxy execution, and a local audit log of every use.
      1
      Apache 2.0