mcpField
O
OTPilot

OTPilot

本地服务
otpilot.app安全01 周前更新

关于 OTPilot

供 AI Agent 使用的 MCP 服务,可通过 OTPilot 已批准的账号登录网站和运行命令,而不向 Agent 返回密码或 2FA 代码。用户可在 OTPilot 浏览器扩展中按 Agent 批准账号并设置访问限制。

主要功能

  1. 01使用已批准账号登录网站
  2. 02在命令环境中注入密钥
  3. 03清除命令输出中的密钥
  4. 04按 Agent 批准账号并限制访问
  5. 05申请访问其他账号

适用场景

  1. 01登录网站而不暴露凭据
  2. 02运行需要机密环境值的命令
  3. 03允许 Agent 使用指定账号

MCP 相关

stdio MCP 服务提供列出及申请账号、通过 browser_login 登录、运行命令和查询访问申请状态的工具。密钥不会返回给 Agent;OTPilot 会从命令输出中清除密钥。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"otpilot-otpilot": {
"command": "npx",
"args": [
"-y",
"@otpilot/mcp"
]
}
}
}
启动命令npx -y @otpilot/mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@otpilot/mcp0.2.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

面向 AI Agent 的 OTPilot(@otpilot/mcp)

让 Claude Code、Codex、Cursor 或任何 MCP Agent 登录网站并使用你的密码和 2FA 验证码运行命令——Agent 全程都看不到这些信息。你可以在 OTPilot 浏览器扩展中选择允许每个 Agent 使用哪些账户。

npx -y @otpilot/mcp@latest connect
  1. 它会显示一个验证码,并打开 OTPilot 登录页面(免费账户即可)。
  2. 在扩展中,Agents 会显示该 Agent:如果验证码匹配,就批准它。
  3. 为它开放一些账户(Agents → + Add account),也可以让它在工作时申请账户。

Claude Code 插件(MCP 服务加上一项教 Claude 如何使用它的技能):

/plugin install otpilot --marketplace OTPilot/OTPilot

(Claude Code 2.1.275 之前的版本:/plugin marketplace add OTPilot/OTPilot,然后运行 /plugin install otpilot@otpilot。)

然后连接一次:npx -y @otpilot/mcp@latest connect --name "Claude Code"。

或者自行将服务添加到你的 Agent 中(connect 会为你显示以下配置):

Agent
Claude Codeclaude mcp add otpilot -- npx -y @otpilot/mcp@latest
Codex~/.codex/config.toml:[mcp_servers.otpilot] command = "npx" args = ["-y", "@otpilot/mcp@latest"]
Cursor~/.cursor/mcp.json:{ "mcpServers": { "otpilot": { "command": "npx", "args": ["-y", "@otpilot/mcp@latest"] } } }

对于 Codex 和其他会读取 AGENTS.md 的 Agent,添加一行提示,让它们知道何时使用该工具:"涉及密码、2FA 验证码、API 密钥或任何登录时,请使用 otpilot MCP 工具(list_accounts、browser_login、run);不要让我粘贴机密信息。"

每个 Agent 都有独立身份,并且需要单独批准:分别连接 Claude Code 和 Codex(connect --name Codex),并按 connect 的提示添加 --profile <name>。

在服务器或 VPS 上运行

在 Agent 运行的设备上运行——可以是笔记本电脑、VPS 或容器。在没有浏览器的服务器上,跳过自动打开步骤,并在任何已登录 OTPilot 的设备上打开打印出的链接;如果验证码匹配,请在扩展中批准:

npx -y @otpilot/mcp@latest connect --name VPS --no-open
npx -y @otpilot/mcp@latest --profile vps                 # what the agent runs
npx playwright install --with-deps chromium       # only for browser_login without Chrome

如果没有密钥链(例如纯净的 Linux 机器),凭据会保存到 ~/.config/otpilot/mcp-<profile>.json(0600):你允许使用的账户会在该机器上打开,因此只连接你信任的机器——能够取得该机器 root 权限的人也能使用这些账户。

工具

工具Agent 可获取的内容
list_accounts可使用的账户名称和站点
request_access(query, reason)向你申请另一个账户;你可以在扩展中选择
browser_login(account, url?)OTPilot 执行登录(用户名、密码、2FA——仅在账户所属站点上),并返回包含会话的 Playwright storageState 文件
run(command, env)在命令的环境变量中提供机密信息并运行命令({ "PGPASSWORD": "Staging DB/password" };…/totp 可获取新的 2FA 验证码);输出中会移除所有机密信息
check_request(request_id)查看你是否已回复仍在等待处理的请求

任何工具都不会返回密码、2FA 验证码或其他任何值。

安全性

  • Agent 自己的密钥。 connect 会创建一个 ECDH P-256 密钥对;私钥保存在你的操作系统密钥链中。你允许的每个账户都是一份副本,仅包含你选择的内容(仅 2FA 验证码、登录信息或指定字段),并在扩展程序中使用该密钥加密。OTPilot 的服务器只能看到密文。
  • 两次批准。 连接 Agent 不会赋予它任何权限;每个账户都需要单独为该 Agent 授权。验证码会在两端分别根据 Agent 的公钥生成,因此替换密钥会导致验证码不同。
  • 由你设置限制: 限时授权或授权持续到撤销为止;“每次都询问我”;以及“仅允许使用以下命令”:run 随后只接受指定程序,该程序按名称调用,并从服务器的 PATH 中解析(绝不从工作目录或临时目录解析),作为一条不可串联或重定向的命令执行——这是为了防止错误和简单的伎俩,并不能防范会在你的 PATH 中植入自己二进制文件的 Agent。
  • 仅使用 HTTPS(本地主机可使用普通 HTTP),并且返回内容中的所有密钥都会被清除——在截断输出之前清除,避免留下只清除了一半的内容。超时会终止命令及其启动的所有进程。
  • 仅限正确的网站。 browser_login 只会在账户已保存的网站范围内的页面上填写信息。
  • 可在扩展程序的 Agents 视图中查看活动并撤销授权。
  • 坦诚说明限制: 能运行命令的 Agent 可以自行决定命令的作用,也可能故意尝试泄露密钥。OTPilot 会从返回内容中清除密钥;对于敏感账户,请仅允许访问 2FA 验证码、限制可执行的命令,或启用“每次都询问我”。

命令

otpilot-mcp connect [--name "Claude Code"] [--profile p] [--no-open]
otpilot-mcp status [--profile p]       # name, verification code, allowed accounts
otpilot-mcp disconnect [--profile p]   # forget the credentials here (revoke it in the extension too)
otpilot-mcp [serve] [--profile p]      # the MCP server (stdio) — what your agent runs

browser_login 使用你已安装的 Google Chrome(或 Edge);若未安装,请运行 npx playwright install chromium。会话保存在工作目录下的 .otpilot/ 中:请勿将其提交到 git。

许可证:GPL-3.0。源代码:github.com/OTPilot/OTPilot。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。