指南

如何安全地让 AI 访问你的工具(MCP)

7 分钟阅读Delta MCP 团队出品

标题为 What your AI may do 的卡片,列出从 Read only 到 Change on its own 的四个级别,并选中了 Ask before deleting or sending。

简短回答

先给你的 AI 只读访问,然后只开放每项任务需要的部分。共有四个级别:只读、每次改动前都问、删除或发送前先问、自行改动。你在 AI 应用、MCP 服务器以及它背后的账户里设置它们。每项限制只约束出错可能造成的代价,没有一项能让访问变得无害。

本文内容

四个访问级别是什么?

每个工具选一个级别,从第一个开始。这些名字是我们起的:下面每个工具会用它自己的说法,提供其中的一部分。

  1. 只读从这里开始

    你的 AI 可以查找并总结内容,但不能改动任何东西。

    适合第一次尝试,或者一项你承担不起被弄坏的服务。

  2. 每次改动前都问

    你的 AI 可以自由读取。每处改动都要等你看过并同意之后才会进行。

    适合新任务,或者任何重要的事。

  3. 删除或发送前先问

    你的 AI 会自行做普通的改动。删除和发送要等你同意。

    适合编辑容易检查、也容易放回去的工具。

  4. 自行改动

    你的 AI 不经询问就改动东西。

    适合事后能检查、也能逆转的工作。

在 Claude、Cursor 和 VS Code 里,级别在哪里设置?

你的 AI 应用是第一个开关。每个应用都让你逐个工具决定,用的是它自己的说法。

在 Claude、Cursor 和 VS Code 里,级别在哪里设置?
AI 应用怎么设置值得知道
Claude Code 写下 allow、ask 和 deny 规则,可以针对整个服务器,也可以针对某一个工具:mcp__github、mcp__github__get_*。用 /permissions 可以列出它们。 无论 allow 规则多具体,deny 都优先于 ask,ask 都优先于 allow。在默认模式下,Claude Code 会在每个工具第一次使用时询问。
Claude(claude.ai) 在 Search and tools 菜单里关掉你不需要的工具。在 Team 和 Enterprise 套餐中,所有者可以为整个组织设置连接器的 Tool permissions:Always allow、Needs approval 或 Blocked。 Claude 的帮助文档说,只有在你相信某个工具可以无人监督地运行时,才应该永久批准它。在 research 模式下,Claude 可以不再征求批准就调用连接器工具,所以要先关掉写入工具。
Cursor 在 Settings 里,进入 Agents,Approvals & Execution,选择 Auto-review、Allowlist 或 Run Everything。在 permissions.json 里用 server:tool 的格式允许工具,比如 linear:list_issues。 Cursor 的 MCP 页面说,默认情况下它会在使用 MCP 工具之前询问。它的 Run Modes 页面推荐 Auto-review:此时分类器可能让一个未列出的调用不经询问就运行。若要每次调用都询问,Cursor 说应使用 Allowlist,并把允许列表留空。Run Everything 会运行每一个调用。Cursor 说,Auto-review 不是安全边界,允许列表也不能保证安全。
VS Code 在聊天里打开 Configure Tools,逐个打开或关闭某个服务器的工具。来自其他来源的服务器,首次启动时会请你确认是否信任。 VS Code 警告说,本地 MCP 服务器可以在你的电脑上运行任意代码。只添加你信任来源的服务器。

在 Claude Code 里,规则中的服务器名就是你添加服务器时取的名字。

怎样收窄服务器本身,以及它背后的账户?

直接收窄访问本身,AI 应用里设置得松一点,代价也会小一些。服务器和它背后的账户,是第二和第三个开关。

怎样收窄服务器本身,以及它背后的账户?
工具怎么收窄值得知道
GitHub 用 --read-only 运行 GitHub 的 MCP 服务器(或使用 GITHUB_READ_ONLY=1)。用 --toolsets 或 --tools 选择它提供什么,用 --exclude-tools 去掉某些工具。在远程服务器上,使用 X-MCP-Readonly 请求头,或 /readonly 网址。 只读模式优先于其他所有选项。给服务器一个细粒度的个人访问令牌:只限指定的仓库,权限最少,并设置过期时间。
Notion Notion 托管的 MCP 以你的身份工作,能访问你能访问的一切。要收窄它,就在你的 AI 应用里关掉它的写入工具。使用 Notion 自托管的服务器时,创建一个内部集成,只授予任务需要的能力:读取、更新、插入内容。在你共享某个页面之前,它看不到任何页面;共享一个页面,也会共享它的子页面。 Notion 建议在会改动内容的操作之前开启确认。它已经不再积极维护自托管的服务器。
你的文件 启动 MCP 文件系统服务器时,指定它可以使用的文件夹。它只能在这些文件夹里工作。在 Docker 里,给挂载加上 ro,就能把那个文件夹设为只读。 它的 write_file 工具会覆盖已有的文件。我们的建议是:把这个文件夹放进 Git,或者做好备份。

怎样从只读开始,然后一步步放开?

把新的访问当作试用来对待。每一步只多给你的 AI 一点点权限,你可以在任何一步停下。

  1. 先以只读方式连接只读

    使用服务器的只读模式、只读能力或只读挂载。让你的 AI 给出一份真实的摘要。如果这已经够用,就停在这里。

  2. 只共享任务需要的内容只读

    列出重要的文件夹、仓库或页面,其余的不给。自托管的 Notion 连接看不到你没有共享的内容,文件系统服务器也只待在你列出的文件夹里。

  3. 允许改动,但每次都要问每次改动前都问

    打开写入权限,但让你的 AI 应用继续询问。在说同意之前,先读懂每处改动,最好先在副本或测试页面上试。在 Claude Code 里,为写入工具添加 ask 规则,为你永远不想用的工具添加 deny 规则。

  4. 让安全的部分自行运行删除或发送前先问

    做过几次顺利的任务之后,允许读取和你能够放回去的改动。删除和发送仍然要问。在 Claude Code 里,允许像 mcp__github__get_* 这样的模式,它涵盖所有名为 get_… 的工具。在 Cursor 里,把 linear:list_issues 加入 mcpAllowlist。每次任务结束后,检查改动了什么。

权限不能阻止什么?

权限只限制出错的代价,并不能让访问变得无害。

  • 你授出的访问,就是真正的访问。Notion 说,已连接的客户端可以用 Notion MCP 接触你能接触的内容。写入权限让你的 AI 能够写入。
  • 你的 AI 读到的内容,可能向它下达指令。页面、议题或服务器,可能把指令藏在它返回的内容里。Notion 的建议是,把工具返回的内容视为不可信。
  • 只读也可能泄露。Notion 警告说,已连接的客户端可能把 Notion MCP 返回的内容发送到 Notion 之外的系统。
  • 标签只是提示。MCP 规范允许工具声明自己是只读(readOnlyHint)或有破坏性(destructiveHint)。除非服务器可信,客户端必须把这些标签视为不可信。

权限在改动之前起作用。改动之后把它放回去,是另一回事: 撤销 AI Agent 做过的改动

能否为所有工具一次设好级别?

可以,对于经过 Delta MCP 的工具。Delta MCP 是一款免费应用,位于你的 AI 应用和它们的 MCP 服务器之间。每个连接器可以选择四种模式之一:只读、每次改动前都问、删除或发送前先问,或自行改动。

  • 每个连接器一种模式。在 Connectors 界面的 When your AI wants to change something 下面选择。读取从不需要询问。这项设置会在你的 AI 下一次调用时,进入已经打开的对话,无需重启。
  • 单个操作单独设置。在 Advanced 里,把某个操作设为 Like the connector、四种模式之一,或 Off。被设为 Off 的操作会从你的 AI 的视野中消失,对它的调用会被拒绝。
  • 需要你批准的改动,会先弹出卡片。卡片显示每处改动的前后对比,以及哪些可以撤销。关闭卡片却不作回答,就等于拒绝:什么也不会做。
  • 事后在 Activity 里看。无论哪种模式,每个任务都会在 Activity 里显示每处改动的前后对比。Undo 会放回它能放回的内容,并且在你点击之前就说明哪些无法撤销,比如已经发出的消息。

删除和发送,是根据操作的名称识别的。名称古怪的操作,会被当作普通改动,模式按照其他任何改动的方式来决定。需要确保安全时,选择“每次改动前都问”,或者把该操作关掉。和这里的所有权限一样,这些模式保护你免受 AI 出错的影响:你的 AI 仍然用你的权限行事。

在 Claude 里运行的连接器,比如 Gmail、Google Calendar 和 Google Drive,会留在 Claude 里,使用 Claude 自己的登录方式。请在 Claude 里设置它们的级别,如上表所示。

各模式的详细说明

常见问题

把 AI 连到 Notion 或 GitHub,最安全的办法是什么?

先从只读开始。在 GitHub 上,用 --read-only 运行 MCP 服务器,并使用限定在指定仓库内的细粒度的个人访问令牌。Notion 托管的 MCP 以你的身份工作,所以要在你的 AI 应用里关掉它的写入工具。Notion 自托管的服务器,可以限定在指定的能力和共享页面之内。让你的 AI 应用在改动前继续询问,然后一步一步地放开。

MCP 服务器有只读模式吗?

要看服务器。GitHub 的 MCP 服务器有:--read-only,或远程服务器上的 X-MCP-Readonly 请求头。MCP 规范允许工具用 readOnlyHint 标记自己为只读。客户端不得相信来自不可信服务器的这个标签。对于没有只读选项的服务器,就在你的 AI 应用里关掉它的写入工具。

怎样阻止 Claude Code 在某个 MCP 服务器里使用写入工具?

用工具的名字添加一条 deny 规则,比如 mcp__github__merge_pull_request,可以通过 /permissions 或你的设置来添加。deny 规则优先于 ask 和 allow 规则。写在 deny 规则里的工具,会从 Claude 看到的列表中去掉。

只读,是否就意味着我的数据不会外流?

不是。只读只阻止改动,不阻止你的 AI 如何使用它读到的内容。Notion 警告说,已连接的客户端可能把 Notion MCP 返回的内容发送到 Notion 之外的系统。你的 AI 读到的内容也可能带有指令。要把工具返回的内容视为不可信。

我可以让 AI 不经询问就运行 MCP 工具吗?

读取的话,通常可以。对于改动,MCP 规范说,应当始终有人参与其中,能够拒绝工具调用。折中的办法:允许读取,改动时保留询问。只有在你能检查每处改动、并能放回去的地方,才放开更多。

Delta MCP 能把一个连接器设为只读吗?

能,对于经过它的连接器。把连接器的模式设为只读:你的 AI 能读取,但从不能改动,每次改动都会被拒绝。其他模式会在每次改动前询问、在删除或发送前询问,或自行改动。在 Claude 里运行的连接器,比如 Gmail,会留在 Claude 里,并在那里设置。

来源

  1. Claude Code, Configure permissions 允许、询问和拒绝规则及其顺序;MCP 规则名,如 mcp__github__get_*;/permissions 命令;默认模式。
  2. Claude Help Center, Use connectors to extend Claude's capabilities 每个连接器的 Tool permissions(Always allow、Needs approval、Blocked),以及谁可以设置它们。
  3. Claude Help Center, Get started with custom connectors using remote MCP Search and tools 菜单;research 模式无需再次批准就运行连接器工具;恶意服务器中隐藏的指令。
  4. Cursor, Model Context Protocol (MCP) 默认情况下,Cursor 在使用 MCP 工具前要求批准。
  5. Cursor, Run Modes 三种 Run Modes 及其设置位置。Auto-review 是推荐的默认值,但不是安全边界。空的 Allowlist 每次都会询问。
  6. Cursor, permissions.json reference MCP 允许列表的 server:tool 格式;允许列表不能保证安全。
  7. VS Code, Add and manage MCP servers in VS Code Configure Tools 逐个开关工具;来自其他来源的服务器的信任对话框。
  8. GitHub, GitHub MCP Server 工具集(Toolsets)、单个工具,以及只读参数。
  9. GitHub, Server Configuration Guide 只读模式可以是参数、请求头和网址;被排除的工具;只读模式优先于其他所有选项。
  10. GitHub Docs, Managing your personal access tokens 细粒度令牌:限定在指定的仓库、最小权限、过期时间。
  11. Notion, Internal connections 新连接默认看不到任何页面;共享页面会共享其子页面;连接的能力。
  12. Notion, Notion MCP Notion 托管的 MCP 服务器可读取和更新你能访问的内容。
  13. Notion, Hosting Notion MCP locally 开源服务器已不再积极维护,需要你自己的 Notion 连接和 API token。
  14. Notion, Security best practices 已连接的客户端可以接触你能接触的内容;提示注入;内容离开 Notion;改动前的确认。
  15. Model Context Protocol, Filesystem MCP Server 访问限于允许的目录;带 ro 的只读挂载;工具提示;write_file 会覆盖已有文件。
  16. Model Context Protocol, Tools (specification 2026-07-28) 让人参与其中、能够拒绝工具调用;除非来自可信服务器,工具注解不可信。
  17. Delta MCP, Modes 四种模式、单个操作单独设置、确认卡片,以及如何识别删除和发送。
  18. Delta MCP, Activity and Undo Activity 里每处改动的前后对比,以及 Undo 放回什么、无法放回什么。

继续阅读

用你自己的任务试试 Delta MCP

免费,两分钟配置好,一键即可全部还原。

免费 · 无需账号 · Apple 芯片或 Intel

免费 · 无需账号

免费 · 无需账号

关注发布动态

支持 Mac、Windows 和 Linux,无需账号。

即将发布

Delta MCP 即将发布

适用于 Mac、Windows 和 Linux 的免费应用即将发布。留下你的邮箱,上线的那一刻你就会知道。无需账号。

你的邮箱只用于在 Delta MCP 发布时通知你一次,不发订阅邮件。隐私政策