SuperAPI AI 工具集

totp-mcp-server

安全与审计

查看项目

更新于 10-16 03:14

技能介绍

用途:搭建一个本地 stdio MCP 服务器,唯一职责是发放当前 2FA 验证码。智能体调用工具后得到六位数字,种子留在磁盘上,不进入对话记录,也不出现在任何提示中。

主要能力:仅提供两个只读工具——list_totp_accounts() 返回该服务器可服务的账户名,get_totp_code(account) 返回 {code, expires_in, period}。没有任何用于存储、读取、导出或列出密钥的工具。错误信息和审计日志都不包含密钥或生成的验证码。脚本位于 scripts/totp_mcp_server.py,带 PEP 723 内联元数据固定 mcp>=2.1,<3。

使用方式:用 uv run --script "${CLAUDE_SKILL_DIR}/scripts/totp_mcp_server.py" 运行(stdin EOF 时退出)。配置项包括 TOTP_MCP_BACKEND、TOTP_MCP_SERVICE、TOTP_MCP_DIR、TOTP_MCP_ACCOUNTS、TOTP_MCP_AUDIT、TOTP_MCP_RATE(默认每账户每分钟 10 次)。以 stdio 服务器注册到客户端,使用绝对路径,环境变量中只放账户名不放密钥;stdio 工具在会话开始时发现,修改后需重启客户端。完成后应实际用客户端列出工具并取一次验证码验证。

适用场景与限制:不适用于一次性的本机验证码生成、种子存储与注册、从 1Password/Bitwarden/Vault 取码、填写登录表单,或其他非 2FA 的 MCP 服务器。它不是机器边界:stdio MCP 服务器是客户端以用户完整权限运行的子进程,有 shell 访问的智能体可直接读取同一密钥环。get_totp_code 本质是验证码预言机,速率限制只约束数量,审计日志无法区分真实登录与窃取,因此不要自动批准该调用,应保留人工确认,并明确设置账户白名单;对高价值账户,更持久的方案是让服务器将验证码提交进登录会话并只返回成功或失败,但本技能未提供该实现。其他未提及内容暂未提供。