浏览 MCP与Skills教程与资源
MCP 停用与撤权:删配置之后,还要处理哪些访问能力
分别处理 Codex 连接、GitHub PAT/OAuth、Notion 授权、本地进程和数据库会话,用具体证据说明已经撤掉什么,以及哪些数据无法随撤权追回。
只停这一个连接,还是撤销它背后的共享身份
删除 MCP 配置通常只阻止该客户端再次加载连接。GitHub PAT、Notion OAuth、数据库登录角色和已经运行的后台进程,各自有独立生命周期。一个 Token 若被多个应用共用,撤销会同时影响它们;先记录凭证的使用者,再决定整项撤销还是迁移其他依赖。
正常停用可以先停调用,再收回授权并检查残留。若已经确认凭证泄露,则先在提供方撤销或轮换,不能为了做完本地整理继续保持泄露凭证有效。下文操作针对操作者拥有或获准管理的连接,不要求删除全部 MCP 配置。
按 Server 名称停用,不覆盖整个配置文件
以下以本栏目 github_issues 为例,先备份当前配置,再检查用户级与可信项目级是否都有同名定义。Codex 可以把特定 Server 的 enabled 改为 false,重开会话后观察工具消失。确定不需要恢复时,再删除该连接。
回读并移除指定连接
codex mcp get github_issues codex mcp remove github_issues codex mcp list
移除只处理客户端定义;PAT 不会因此在 GitHub 作废。使用 OAuth 的 Codex 连接可按当前 codex mcp logout 帮助清理本地授权,但本地退出仍不能替代提供方的撤销证据。
按真实凭证类型撤权
| 连接类型 | 具体处置入口 | 可确认的结果 |
|---|---|---|
| GitHub PAT | GitHub Settings → Developer settings → Personal access tokens,选对应 fine-grained/classic token 删除;先核对名称与依赖 | 提供方该 Token 记录被删除;旧凭证对已知原可读对象不再获授权 |
| GitHub OAuth App | Settings → Applications → Authorized OAuth Apps,核对应用再 Revoke | 撤销的是该应用授权,不是同账号所有 Token;应用可能要求重新授权 |
| Notion MCP OAuth | 在 Notion Settings → Connections 中找到实际客户端连接;组织管理者可按其管理权限撤销 | 该连接失去访问;重新连接若需 OAuth,不应自动视为已获许可 |
| 自建 PostgreSQL 专用角色 | 由数据库管理员处理 mcp_reader 登录与现存会话,见下一节 | 仅移除环境变量不影响数据库中仍可登录的角色 |
| 无凭证的本地 Filesystem | 结束客户端所启动的对应进程并取消该连接 | 不涉及远程 Token 撤销;原文件也不会因为取消连接而被删除 |
‘工具列表不见了’是客户端证据;‘提供方授权已撤销’是账户证据。两者都要按事实报告,不用同一张截图代替。
NOLOGIN 阻止新登录,不会自动结束旧连接
仅在你负责的专用教学库 analytics_lab 中,由获准的数据库管理员运行。先确认 mcp_reader 不被其他任务使用。第一条阻止新会话;查询后确认 pid 均属于这次教学连接,再终止对应会话。这里不删除表和角色,以便检查依赖与保留记录。
停用专用角色并检查现存连接
ALTER ROLE mcp_reader NOLOGIN; SELECT pid, usename, datname, application_name, state FROM pg_stat_activity WHERE usename = 'mcp_reader' AND datname = 'analytics_lab'; -- 确认上面的会话全部属于本次要停用的教学连接后再执行: SELECT pg_terminate_backend(pid, 5000) FROM pg_stat_activity WHERE usename = 'mcp_reader' AND datname = 'analytics_lab' AND pid <> pg_backend_pid(); SELECT pid, usename, datname FROM pg_stat_activity WHERE usename = 'mcp_reader' AND datname = 'analytics_lab';
角色是集群级对象;NOLOGIN 会影响这个角色连接的其他数据库,所以使用独立角色是重要前提。终止会话会中断它的工作,必须先核对依赖,不能套用到共享生产账号。
只清理对应实例,不杀掉所有 node 进程
由客户端启动的 stdio
正常结束客户端通常会结束它管理的子进程,但需观察实际实例。若有残留,核对父进程、启动参数与 PID 后再结束;系统里其他 Node 进程可能是开发服务器或别的工作,不应全局终止。使用 npx 不等于注册了系统服务,也不意味着必须删除整个 npm 缓存。
自己部署的后台服务或容器
按之前记录的服务名、容器名与启动项停用对应实例。停一个远程客户端不能关闭多人共用的 Server;先明确你管理的是个人连接还是共享服务。只读核对配置与依赖后,再安排服务级停机。
浏览器与下载
Playwright 隔离会话关闭后状态会丢弃;持久档案、截图、下载和手工导出的 storage-state 文件则可能仍存在。按明确路径检查对应练习输出,不清空整个个人浏览器档案。撤销 OAuth 也不会自动抹除早已导出的页面内容。
验证旧授权失效,不把所有错误都叫撤销成功
选择撤权前同身份能读取的无敏感测试对象,在不重新登录、不切换备用凭证的前提下做一次读取。若因凭证撤销而明确被拒绝,可作为有效证据;若只是断网、地址拼错或对象删除导致失败,不能证明凭证失效。部分服务可能有令牌或会话生效延迟,应按提供方说明观察。
不必把旧 Token 保存进测试报告。报告保留凭证标签、撤销时间、原测试对象与脱敏错误即可。若没有条件做旧凭证复测,诚实写‘提供方授权页已撤销,旧凭证访问未复测’,不要把它升级为端到端验证。
恢复配置与恢复权限分开决定
如果只是 enabled=false,核对用途后可重新启用;如果凭证已撤销,就创建新的最小权限凭证或重新完成 OAuth,并更新实际使用位置。不要为了恢复一个连接,把备份中的整份旧配置覆盖回去,顺带复活其他已停用工具。
撤权能阻止未来访问,不能追回已进入聊天记录、导出文件、日志或外部系统的数据。若这些数据也需要清理,应按各系统的保留与删除能力单独处理,并说明无法保证追回的范围。
本页的一手资料
核对连接配置与管理入口,客户端删除不代表提供方撤权。
一手来源GitHub 删除个人访问令牌按实际 Token 类型删除,不误撤销其他凭证。
一手来源GitHub 撤销 OAuth AppsOAuth 应用授权与 PAT 生命周期分开。
一手来源Notion MCP 管理员控制核对 Settings → Connections 及管理员连接撤销能力。
一手来源PostgreSQL ALTER ROLENOLOGIN 是角色登录属性,不等于关闭现存连接。
一手来源PostgreSQL 管理函数核对 pg_terminate_backend 的作用与管理权限。
一手来源Playwright MCP 浏览器档案隔离会话与持久档案的清理边界不同。
