载入中… | 今日精选 · 实时更新
每日精选全球 AI 与科技资讯
编辑部 · 北京时间 每日 08:00 更新
首页 ›

MCP-warden 本地凭据代理

· · 阅读 5 分钟

开发者 ermoluk 发布 MCP-warden v0.4.0,一个本地优先的 Model Context Protocol(MCP)凭据代理,适配 Claude Code、Cursor、Cline、Codex、Continue 和 Zed 六款 AI 编程代理。代理执行 HTTP 动作时不接触密钥,密钥由 MCP-warden 在服务端注入,上下文窗口里不出现任何凭据,泄露的对话记录不含可用信息。

mcp-warden secret add 命令把密钥一次存入操作系统钥匙串,值从 stdin 读取,不经过 argv。预设(preset)定义命名且限定了作用域的动作,如 github-read、stripe-charges。代理连接 mcp-warden 的 stdio MCP 服务器后,调用 proxy_http 时携带预设名、路径和方法;mcp-warden 先按预设的允许列表校验请求,通过后执行动作并返回响应。敏感预设触发审批提示,Linux 用桌面通知,macOS 和 Windows 用 TUI 提示。开发者可为预设开启时限审批窗口,一次确认可覆盖短时间内的连续调用。每次操作写入本地 SQLite 审计日志,含审批窗口放行的决策记录。

密钥若直接交给代理调用,会进入上下文窗口。MCP-warden 把密钥留在系统钥匙串,代理调用的预设定义了允许的路径和方法。审计日志设计为只追加(append-only),mcp-warden audit --last 5 可查看代理最近的动作。

MCP 服务器暴露六个工具:list_presets、proxy_http、ssh_exec、sftp_transfer、db_query、get_secret_for_env。proxy_http 执行前先做允许列表校验;ssh_exec 只在命令匹配预设的正则允许列表时运行,并校验主机密钥;sftp_transfer 限制远程路径为预设的 sftp_allowed_paths,本地路径限于 $HOME 或 /tmp;db_query 只运行预设定义的命名查询,代理只能提供查询名和位置参数。get_secret_for_env 是最后手段,无论预设策略如何都要求审批。

v0.4.0 把项目拆成 mcp-warden-core 库和 mcp-warden 二进制。替代 KeychainStore、ApprovalTransport、AuditSink 或 PresetSource 的实现只依赖 core,不会拖入二进制的图形界面和运行时栈。Telegram 审批传输在 v0.4.0 变为可选配置。安装用 cargo install mcp-warden,GitHub 发行版附 macOS x86_64、aarch64 和 Linux x86_64 的预编译包及 SHA-256 校验值。

Claude Code 插件随仓库提供,安装二进制后执行 /plugin marketplace add ermoluk/mcp-warden 和 /plugin install mcp-warden@mcp-warden,重启后运行 /mcp-warden:setup 完成配置。若之前用 claude mcp add 注册过服务器,需要先移除该条目,避免重复注册。

· END ·