PhantomAuth
MCP服务器,用于在web表单中填充来自的机密 安全库 --AI代理永远看不到原始凭证。
运作原理
PhantomAuth位于您的AI代理和微软的剧作家MCP之间:
AI Agent → PhantomAuth MCP → Playwright MCP → Browser
↕
SecureVault (OS Keychain)- 客服电话
secure_fill("Microsoft Email", "#email-input") - PhantomAuth解析SecureVault操作系统钥匙链中的“Microsoft电子邮件”
- 原始值直接转发给剧作家MCP
browser_fill_form - 代理人只看到“✅ 已填充--对代理隐藏的值”
代理人 从不 查看实际的密码、令牌或凭据。
先决条件
npx @playwright/mcp@latest --port 8931 --shared-browser-context设置
添加到您的MCP客户端配置中(例如VS代码 mcp.json):
{
"mcpServers": {
"phantomauth": {
"command": "node",
"args": ["C:/src/PhantomAuth/index.js"],
"env": {
"PLAYWRIGHT_MCP_URL": "http://localhost:8931/mcp"
}
}
}
}工具
secure_fill
在表单字段中填写一个秘密。使用剧作家的填充(直接设置值)。
secure_fill(secretTitle: "My Password", selector: "#password")secure_type
在字段中逐个键入密钥。用于React控制的输入。
secure_type(secretTitle: "TOTP Code", selector: "#otp-input", pressEnterAfter: true)secure_authenticate
使用SecureVault配置文件的多步登录流程。
secure_authenticate(
profileName: "Microsoft",
steps: [
{ selector: "#email", envVar: "EMAIL", action: "fill" },
{ selector: "#password", envVar: "PASSWORD", action: "fill", pressEnterAfter: true, waitMs: 2000 }
]
)list_vault_secrets
列出可用的秘密名称(值永远不会公开)。
list_vault_profiles
列出配置文件及其环境变量→ 秘密映射。
配置
| 环境变量 | 默认值 | 描述 |
|---|---|---|
PLAYWRIGHT_MCP_URL | http://localhost:8931/mcp | Playwright MCP HTTP端点的URL |
许可证
麻省理工学院
AI代理技能
PhantomAuth包含指导AI代理如何使用这些工具的指令文件:
| 文件 | 代理 | 描述 |
|---|---|---|
.github/copilot-instructions.md | GitHub Copilot | Copilot自动加载的自定义指令 |
.claude/skills/phantomauth.md | 克劳德代码 | 克劳德代码发现的技能文件 |
SKILL.md | 通用 | 跨代理技能文件(agentskills.io格式) |
与agentskills CLI一起使用
npx agentskills export --target copilot
npx agentskills export --target claude