连接 @seameet/mcp CLI
第 18 章:连接 @seameet/mcp CLI
@seameet/mcp CLI 是一个无界面的 Model Context Protocol 服务器,允许其他工具(Claude Desktop、IDE、代理)读取和写入您的 SeaMeet 账户。由于它无界面,您通过设备授权流程(RFC 8628)批准它 —— CLI 显示一个短码,您访问一个 URL,确认代码,完成。
本章涵盖网页应用一侧:/link 页面、批准操作,以及防护措施。
流程,端到端
- 运行 CLI(例如
npx @seameet/mcp或一个会启动它的客户端)。 - CLI 打印一个短码和一个 URL —— 通常是
app.seameet.ai/link和形如ABCD-EFGH的代码。 - 在浏览器中打开该 URL。
- 在
/link页面上输入代码(或者 CLI 可能已通过 query string 预填)。 - 点击 Approve。
- CLI 以您的名义收到一个读写 API 密钥,并可以开始行动。
就是这样。整个流程通常在 30 秒内完成。
"以您的名义"意味着什么
/link 发出的 API 密钥是一个真实的、按用户的、scope 在您的 SeaMeet 账户上的令牌。CLI 用它做的一切都会作为您的操作出现在您的库中。具体来说:
- 读取 —— CLI 可以列出您的录音、获取字幕和摘要、跨存档查询 Meeting Memory。
- 写入 —— CLI 可以创建录音(通过上传)、更新标题和描述、创建共享,总体上可以做您正常会话能做的事。
由于令牌绑定到您的账户,撤销您的会话(在所有设备上退出登录)不会撤销 CLI 的令牌 —— 令牌是独立的凭据。见下方"撤销 CLI 批准"。
需要登录
/link 页面要求真实、已登录且已验证的账户。这意味着:
- 已退出登录。 页面将您重定向到
/signin,并带有一个携带代码的returnTo参数,这样登录后流程会带着完好的代码回到/link。 - 匿名访客会话。 与已退出登录相同 —— 访客会话不能批准 CLI,因为 CLI 需要一个真实身份来绑定。您会被送到
/signin,以便把会话提升为真实账户。 - 已登录且已验证。 批准操作已启用。
这是一道刻意的防线。没有它,CLI 可能会"代表"一个没有任何人有意打开过的一次性匿名会话行动。
明确的点击批准
/link 页面从不自动授权。即使代码通过 ?code=<value> 预填,您也必须明确点击 Approve。这是防御性的设计:加载即自动批准会是一个钓鱼向量 —— 恶意页面可以在您的浏览器中打开 /link?code=<攻击者的代码>,在您注意到之前为攻击者铸造一个令牌。
在点击 Approve 之前,务必核对页面显示的代码与您的 CLI 显示的代码一致。如果不匹配,关闭页面。
批准操作
点击 Approve,然后:
- 网页应用向 SeaMeet 的服务器验证代码。
- 服务器检查代码有效、未过期,并绑定到真实(非匿名)账户。
- 如果有效,它铸造一个 API 密钥,将其与代码关联,并返回成功。
- 一直在轮询令牌端点的 CLI 收到密钥并打印成功消息。
- 网页应用的
/link页面显示 "Approved" —— 标签页可以关闭了。
如果代码过期了(RFC 8628 代码是短期的 —— 通常 15 分钟),CLI 必须生成新的并重新开始。
撤销 CLI 批准
两种方式:
- 从 CLI 一侧。 删除 CLI 本地存储中的令牌(或运行 CLI 的
logout命令,如果有)。令牌在服务器端仍然有效,直到您也在那里撤销它。 - 从账户一侧。 账户 → Connected apps → 通过最近使用时间找到该 CLI 批准 → Revoke。这会立即在服务器端使令牌失效。
对于谨慎的人:在服务器端撤销。CLI 侧的删除只是阻止当前 CLI 进程使用令牌;它不能防止令牌的副本在别处被使用。
多个 CLI 批准
您可以多次批准 CLI(例如在每台使用的机器上批准一次)。每次批准都会铸造一个独立的 API 密钥。账户 → Connected apps 会列出它们,并带每个密钥的元数据(最近使用、首次批准)。
撤销一个 CLI 批准不会影响其他的。
令牌安全
- 令牌存储在 CLI 的本地配置目录中,默认未加密。
- 如果您的机器被入侵,令牌也被入侵。 在服务器端撤销并重新批准。
- 默认情况下令牌不过期(长期有效)。如果您想要短期令牌,按您的轮换计划要求撤销并重新批准。
- 令牌通过 HTTPS 传输(HSTS 保护 —— 参见第 17 章)。
权益传递
CLI 以您的身份行动 —— 因此它拥有您的权益层级。如果您是免费套餐,CLI 在读取字幕时受免费套餐显示上限约束。Sync Pro?CLI 拥有完整读取权限。
创建录音等写操作会像正常会话一样计入您的配额。
常见问题
"代码过期了。" 代码是短期的(通常 15 分钟)。重启 CLI 获取新的。
"代码批准了,但 CLI 没有察觉。" CLI 每隔几秒轮询一次令牌端点。给它 10-15 秒。如果仍然没有,重启 CLI —— 它的轮询循环可能崩溃了。
"我登录后丢了代码。" /link 页面把代码放在 returnTo 中 —— 登录后您会带着完好的代码回来。如果确实丢了,重启 CLI 获取新代码。
"Approve 返回 'not_entitled' 错误。" 账户的权益不包含 CLI 批准 —— 目前 CLI 批准需要 Sync Pro。升级后重试。
"我批准了,但我的 CLI 仍然说 'authorization required'。" 检查 CLI 的配置目录中是否存有令牌(路径因 CLI 版本而异)。如果为空,CLI 错过了令牌 —— 重启并重新批准。
快速参考
| 任务 | 方法 |
|---|---|
| 批准 CLI 代码 | app.seameet.ai/link → 输入/核对代码 → Approve |
| 撤销 CLI 令牌(服务器侧) | 账户 → Connected apps → Revoke |
| 撤销 CLI 令牌(客户端侧) | CLI 的 logout 命令,或删除 CLI 配置文件 |
| 查看所有批准 | 账户 → Connected apps |
| 在多台机器上批准 | 每台机器批准一次 —— 每台铸造一个独立令牌 |
最后更新:2026-08-28
发布日期: