Token导航 LogoToken导航TokenDH.com
Secrets Router logo
浏览器工具stdio官方级别未说明来源级核验

Secrets Router

MCP Server

secrets-router是一个用于在AI代理工作流中隔离凭证(如密码、卡号和API密钥)的MCP服务器,确保敏感信息不进入代理的上下文窗口或日志记录。

工具数

6

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude浏览器自动化Claude

安装说明

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

作者 / 组织

josephrobertlopez

提供方

josephrobertlopez

最后核验

2026/5/17 20:20

快速接入

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

命令预览

pip install -e .

详细介绍

秘密路由器

MCP服务器,用于代理工作流中的凭据隔离。

问题: 人工智能代理需要将密码、卡号和API密钥填充到浏览器和API中。如果代理看到该值,它将进入上下文窗口,并可能记录日志、工具调用或对话历史。secrets路由器将凭据值保存在服务器进程中——代理只看到不透明的句柄和屏蔽的预览。

encrypted store ──> secrets-router ──> browser/API
                         |
                    agent sees only:
                    handle:a3f8c2d1...
                    ****1017

快速开始

# Install
pip install -e .

# Register with Claude Code
claude mcp add secrets-router -- python3 /path/to/secrets-router/server.py

需求

  • Python 3.11+
  • 浏览器填充:Chromium运行 --remote-debugging-port (参见 CDP设置)

工具

工具它做什么代理看到
secure_fetch(store, key, field)获取凭证,返回不透明句柄handle:a3f8c2d1... + ****1017
secure_fill(handle, selector)通过CDP填写浏览器字段{"status": "filled", "masked": "****1017"}
secure_list_handles()列出活动句柄ID、来源、年龄--无值
secure_discard_handles(handle?)提前放下手柄计数丢弃
secure_list_recipes()列出可用的YAML配方名称、描述、标签
secure_run_recipe(name, ...)执行完整的食谱逐步感知,蒙面

凭证后端

后端CLI工具示例
rbwRBWsecure_fetch("rbw", "primary card", "number")
bitwarden带宽secure_fetch("bitwarden", "my-login", "password")
pass通过secure_fetch("pass", "payments/card")
yaml年龄secure_fetch("yaml", "water-bill.card.number")
env--secure_fetch("env", "API_KEY")

运作原理

1. Agent calls: secure_fetch("rbw", "primary card", "number")
   Agent receives: {"handle": "handle:a3f8c2d1...", "masked": "****1017"}

2. Agent calls: secure_fill("handle:a3f8c2d1...", "#card-number")
   Server resolves handle -> fills browser DOM via CDP WebSocket
   Agent receives: {"status": "filled", "masked": "****1017"}
   Handle is consumed (single-use) and deleted.

3. The card number never entered the agent's context.

食谱

食谱是定义具有凭证隔离的多步骤工作流的YAML文件。代理调用一个工具并返回感知(发生了什么),而看不到任何凭据值。

# List available recipes
secure_list_recipes()

# Run a recipe
secure_run_recipe("pay-water-milwaukee")

# Dry run (shows steps without executing)
secure_run_recipe("pay-water-milwaukee", dry_run=True)

# Override config values
secure_run_recipe("pay-water-milwaukee", config_overrides={"account_number": "9999"})

recipes/README.md 获取完整的食谱语言参考。

CDP设置

secrets路由器通过Chrome DevTools协议填充浏览器字段。浏览器必须在启用远程调试的情况下运行:

# Launch Chromium with CDP
chromium --remote-debugging-port=9222

# Or with Google Chrome
google-chrome --remote-debugging-port=9222

# secrets-router auto-discovers the CDP port from running processes.
# No configuration needed if Chromium is running with the flag above.

安全模型

  • 手柄为一次性使用 5分钟后过期(可配置)
  • 值保持在进程中 --使用后立即取消引用
  • 屏蔽输出 仅显示最后4个字符(****1017)
  • 审批门 在配方中暂停执行以进行人工/代理审查
  • 日志中没有值 --只记录句柄ID和源名称

局限性

  • Python字符串是不可变的,并且是垃圾回收的。值不能加密为零。它们在使用后会被取消引用(不是内存集)。
  • 隔离边界是进程级的,而不是网络级的。如果服务器进程受到损害,值就会暴露出来。

项目结构

secrets-router/
  server.py                  MCP tools + handle store + credential backends
  engine.py                  Recipe execution engine
  actuators/
    base.py                  Abstract actuator interface
    playwright_cdp.py        Browser automation via CDP
  recipes/
    schema.yaml              Recipe language spec
    README.md                Action reference
    pay-water-milwaukee.yaml Example: utility bill payment
    example-login-github.yaml    Example: GitHub login with 2FA
    example-api-call.yaml        Example: authenticated API call
    example-template.yaml        Blank template for new recipes
  precepts/
    generate.py              Scan vault, generate credential inventory
  skills/
    secrets-router.md        Record/play/list/edit recipes (progressive disclosure)
    route-validator.md       Validate recipe before running (credentials, URLs, selectors)
    recipe-debugger.md       Diagnose failed recipe execution
    recipe-tester.md         Dry-run trace without execution
    step-recorder.md         Watch browser actions → auto-generate recipe YAML
    credential-auditor.md    Audit credential usage across recipes

技能(克劳德代码)

回购附带六项技能。复制到 ~/.claude/skills/ 或直接使用。

技能它做什么
secrets-router手动记录工作流→ 生成配方→ 自主回放
route-validator飞行前检查:凭据存在,URL可访问,选择器有效
recipe-debugger故障后诊断:哪个步骤坏了,为什么,建议修复
recipe-tester模拟运行跟踪:在不执行的情况下验证每个步骤
step-recorder观看剧作家的动作→ 自动生成配方步骤
credential-auditor跨配方审核:已使用/缺失/未使用的凭据
# Install skills
cp skills/*.md ~/.claude/skills/

# Use in Claude Code
/secrets-router record "pay electric bill"
/secrets-router play pay-water-milwaukee
/route-validator recipes/pay-water-milwaukee.yaml
/recipe-tester pay-water-milwaukee
/credential-auditor

CLI使用情况

# Start the MCP server
python3 server.py

# Standalone: list recipes
python3 -c "from engine import RecipeEngine; e = RecipeEngine('recipes'); print([r['name'] for r in e.list_recipes()])"

# Standalone: load and check a recipe
python3 -c "from engine import RecipeEngine; e = RecipeEngine('recipes'); print(e.load_recipe('pay-water-milwaukee')['name'])"

# Scan vault inventory (local only, not exposed to agents)
python3 precepts/generate.py

许可证

麻省理工学院

目录标签

目录标签

PythonClaude浏览器自动化凭证管理本地部署安全隔离API密钥管理工作流安全

支持客户端

Claude

接入字段

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

stdio

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

session

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiosession部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP