别再把 MCP 当插件了:小团队先做这张权限表
熊二编程 · 技术专栏
MCP 接入前检查
先分清读、写、触发、授权
一句话:MCP 不是给 AI 装插件这么简单,它是在给 AI 开工具口。小团队最先该做的不是多接几个 server,而是列出一张权限表。
最近查 MCP 相关文档时,我发现一个很值得警惕的变化:OpenAI Agents SDK、Claude Code、GitHub Copilot、Cloudflare 这类平台,都在把 MCP 当成 AI 连接外部工具的通用入口。
这本身是好事。以前你把 Jira、GitHub、数据库、监控、微信后台的信息复制进聊天框,AI 只能根据你贴的材料回答。接上 MCP 以后,它可以直接读系统、调用 API、触发工作流,甚至代替你完成一段跨工具操作。
问题也在这里。当 AI 从“会说”变成“会动手”,权限就变成产品问题,不只是技术配置。
01
WHY
MCP 改变的是动作边界
不只是“给模型更多上下文”。
MCP 官方文档把 tools 描述成可以被语言模型调用的能力,比如查询数据库、调用 API、执行计算。也就是说,MCP 不是只给模型一段资料,它会把真实系统的动作暴露给模型。
这也是为什么官方规范里反复出现人类确认、工具可见、输入展示、审计日志、访问控制这些词。因为一旦工具能改 issue、发消息、查客户、创建草稿、跑支付,AI 的一次“理解错误”就不再只是回答错了。
示意图:真正的风险来自工具和账号权限的组合。
不要误会:这篇不是反对 MCP。恰恰相反,MCP 会成为 AI 工程化的重要入口。只是越有用的工具,越不能按浏览器插件的心态安装。
02
TABLE
小团队先做四层权限表
别从安装命令开始,从动作分级开始。
如果团队只有两三个人,最实用的做法不是一上来设计复杂安全平台,而是先把每个 MCP server 按四层登记。谁能看懂这张表,谁才有资格点安装。
1读数据
例子:读 issue、查文档、看监控、查数据库。默认策略:先只读,记录数据范围,敏感数据脱敏后再给 AI。
2写数据
例子:改 issue、写评论、创建文档、修改配置。默认策略:需要确认,写入前显示字段、对象、差异和回滚办法。
3触发动作
例子:发邮件、合并 PR、部署、推送公众号草稿、调用支付。默认策略:人类审批,禁止静默执行。
4账号和钱
例子:生产库、客户资料、支付、云账号、私有仓库 token。默认策略:不用个人主账号,拆最小权限账号,先沙盒后生产。
你不需要一开始就做“AI 安全治理体系”。
但你至少要知道:AI 现在能代表谁,动哪里,留下什么痕迹。
03
FLOW
真正的接入顺序
先只读,再写入,最后才自动化。
第一步:先列工具清单。不要只写 server 名,要写每个 tool 的动作,例如 read_issue、create_comment、query_db、send_message。
第二步:先只读试跑。让 AI 查询、总结、对照,先不要让它修改、发送、删除、部署。
第三步:写入必须确认。确认页至少展示对象、字段、差异、影响范围和操作者身份。
第四步:日志要能追。工具被谁调用、传了什么参数、返回了什么、最后有没有写入,都应该能查。
第五步:最后才考虑自动化。能人工确认跑通三五次,再把低风险动作交给 AI 自动做。
04
RULE
三个不要碰的红线
这些不是小心一点就行,而是应该直接禁掉。
红线 1:不要把个人主账号 token 直接写进项目共享配置。尤其是会进版本库的 `.mcp.json`、`.vscode/mcp.json` 或团队模板。
红线 2:不要让一个会读外部不可信内容的工具,同时拥有发送消息、导出数据、删除记录或生产写入权限。
红线 3:不要把“安装了官方或知名 server”当成安全证明。工具描述、输入、输出和权限组合,都要按自己的业务场景复核。
GitHub 文档里有一个细节很有代表性:组织或企业可以通过策略控制成员是否使用 MCP,而且策略默认是关闭的。Claude Code 也把 MCP 配置分成 local、project、user 等作用域。OpenAI Agents SDK 里也能做 tool filtering 和 require_approval。
这些不是文档里的装饰项。它们共同说明一件事:成熟平台并不默认假设“工具越多越好”,而是在给开发者留出限制工具、审批工具、按身份授权的接口。
小团队的最低可用配置
第一批 MCP,只接一个系统,只开放只读工具,只用测试账号,只在开发环境跑。
确认价值以后,再逐步开放写入,并把每个写入动作放到人工确认或审批日志后面。
05
ASK
判断一个 MCP 值不值得接
用业务问题筛掉炫技。
我建议小团队用三个问题筛选:
它能省掉哪种重复劳动?例如每天复制错误日志、查工单、整理客户反馈、更新草稿。
它错了会造成什么损失?是多读了一段无关信息,还是发错消息、删错数据、动了生产环境?
不用 MCP 有没有更简单办法?如果一次性导出 CSV、只读 API、脚本报表就够了,不要为了“Agent 化”增加长期风险。
今天可以直接保存的清单
每接一个 MCP server,就写 6 行:系统名称、可读数据、可写动作、触发外部动作、使用身份、审批和日志。少一行,就先不要接生产。
写在最后
MCP 会让 AI 从“会建议”变成“会操作”。这一步很重要,也很危险。
真正会用 AI 的团队,不是接了最多工具的团队,而是知道每个工具该在什么边界里工作的团队。
评论区聊一个具体问题
如果你现在只能给 AI 接一个 MCP,你会优先接 GitHub、数据库、Notion、监控、公众号后台,还是支付系统?为什么?
参考来源
MCP Tools: https://modelcontextprotocol.io/specification/2025-06-18/server/tools
OpenAI Agents SDK MCP: https://openai.github.io/openai-agents-python/mcp/
Claude Code MCP: https://docs.anthropic.com/en/docs/claude-code/mcp
GitHub Copilot MCP: https://docs.github.com/en/copilot/how-tos/provide-context/use-mcp-in-your-ide/extend-copilot-chat-with-mcp
Cloudflare MCP Authorization: https://developers.cloudflare.com/agents/model-context-protocol/protocol/authorization/
夜雨聆风