本地 MCP 服务器与云端 MCP 服务器:AI 到底能看到什么

在谈论 MCP 服务器时,本地云端这两个词常被当成隐私问题的答案。它们不是。 它们准确回答的只有一个问题——服务器进程跑在哪里——而人们真正在意的那个问题 原封未动:最后谁能读到您的数据。

一句话概括:本地 MCP 服务器能让您的数据不进入厂商的基础设施,却不能让它不 进入对话。 无论本地还是云端,助手通过任何 MCP 服务器读到的内容,都会发送给 您正在对话的那个模型。本地改变的是谁存放、谁能触及您的数据,改变不了模型看到 什么。

本文把这两件事分开来讲。如果您对这套协议本身还不熟悉,可以先看 什么是 MCP 服务器打个底。

“本地”和“云端”在技术上各指什么

MCP 规范的 2026-07-28 修订版恰好定义了两种标准传输方式,而它们与这两个词一一对应。

stdio——本地的那种。 客户端把 MCP 服务器作为子进程启动,双方通过该进程的 标准输入输出通信,每行一条以换行分隔的 JSON-RPC 消息。没有网络连接,也没有 端口。客户端退出时会关闭服务器的输入流,进程随之结束。这就是“跑在您机器上”的 具体含义。

Streamable HTTP——云端的那种。 服务器是一个独立进程,对外暴露单个 HTTP 端点,每条消息都是发往该端点的 HTTP POST。客户端通过网络访问形如 https://mcp.example.com/mcp 的地址。每一个“连接您的账号”按钮背后,都是这种 传输方式。

这个区别是部署方式的选择,不是能力上的差异。规范明确写道,协议语义在任何传输 方式上都是一致的:传输方式规定的是消息如何封装和送达,而不是消息的含义。一个 读取会议转写文本的工具,在两种方式下做的是同一件事。

每种方案下谁能看到您的数据

这才是那两个词通常在代替回答的问题,而它的答案不止两个。可能读到 MCP 连接中 流转内容的,一共有四方。

本地服务器(stdio) 云端服务器(HTTPS)
MCP 厂商 拿不到数据 存放数据并响应每次请求
您的模型提供方 看到助手读到的一切 看到助手读到的一切
您的 AI 客户端 在本地读取以拼装提示词 同上
任何持有令牌的人 没有令牌可偷 在令牌被吊销前都能读到同样的数据

让人意外的是中间那一行,而它在两列里是一样的。MCP 服务器并没有给模型开一条 私密的旁路。它取回文本交给客户端,客户端把文本放进提示词。从那一刻起,无论 服务器跑在哪里,数据都已经离开了您的机器。

第一行和最后一行才是本地真正胜出的地方。用 stdio 时没有账号,没有留在别人硬盘 上的副本,也没有可被窃取或在泄露事件中外流的凭据——因为压根没有需要授权的东西。

本地进程、云端数据:被模糊掉的那种形态

这里的形态有三种,不是两种,而厂商很少把中间那一种单独拎出来说。

云端服务器、云端数据。 厂商托管服务器,您在浏览器里用 OAuth 授权,客户端 需要什么就发一次 HTTPS 调用。当数据本来就存放在该厂商云端时,这是最自然的 形态。

本地进程、云端数据。 厂商提供一台由您自己运行的服务器:一条由 AI 客户端 拉起、持有 API 密钥的 npxuvxdocker 命令。但这并不会让数据变成本地 的。进程跑在您的笔记本上,然后每次请求都要通过网络去调用厂商的 API。当有人 告诉您他们的 MCP 服务器是本地的,这正是需要先排除的情况。

本地进程、本地数据。 数据本来就在机器上,服务器根本无需任何网络请求即可 读取。只有这一种形态里,“本地”描述的是数据,而不只是进程。

真正的线索是凭据,不是命令。浏览器登录意味着数据归厂商所有,由您来授权。粘贴 进配置文件的 API 密钥意味着一个本地进程代表您去调用他们的 API。两者都不是本地 数据。

云端授权到底给出了什么

当您为一台云端 MCP 服务器点完 OAuth 授权页,其实是针对自己的账号签发了一份 凭据,而这份凭据能做什么值得了解。

MCP 规范把这一层建立在 OAuth 2.1 之上。客户端必须发送来自 RFC 8707resource 参数, 使令牌绑定到某一台特定服务器;服务器必须校验令牌是否是签发给自己的,且不得 接受或转发其他令牌。这套机制的存在,是为了防止签发给某个服务的令牌被拿去对 另一个服务重放使用。

三个现实后果:

这些对 stdio 全都不适用。授权规范明确说明它覆盖的是基于 HTTP 的传输方式,使用 stdio 的实现不应遵循它,而应改从环境变量中获取凭据。

本地服务器放弃了什么

本地不是安全的同义词,而这个论证要讲得诚实,就得说清楚您让渡了什么。

通常根本没有权限层。 由于授权规范不适用,stdio 服务器一般没有用户和 scope 的概念。以您的用户账号运行的任何程序,基本都能启动它并调用它的工具。在共用或 受管的机器上,这是要紧的。

监听端口的本地服务器是另一回事。 有些被称作本地的服务器其实在 HTTP 上监听。 规范直接处理了这一点:服务器必须校验 Origin 头以防范 DNS 重绑定攻击,本地 运行时应只绑定 127.0.0.1 而不是 0.0.0.0。规范警告说,缺少这些保护,攻击者 可以利用 DNS 重绑定,从远程网站与本地的 MCP 服务器交互。

供应链变成了您的事。npx 启动的服务器会以您的权限在您机器上拉取并执行 代码。OWASP MCP Top 10 截至 2026 年 仍处于 beta 阶段,它在十个类别中列出了供应链攻击与依赖篡改(MCP04:2025)以及 工具投毒(MCP03:2025)——这些是本地安装要承担、而托管端点不必承担的风险。对于 一般情况,规范说得毫不含糊:工具本质上就是任意代码执行,而对工具行为的描述, 除非来自可信的服务器,否则都应视为不可信。

两种形态共同适用的规则

MCP 并不为您的数据添加权限模型。它规范化的是工具如何被描述和调用;某个工具被 允许触碰什么,是服务器作者做的决定。由此可得两条结论,与传输方式无关:

  1. 工具清单就是权限清单。 设置页面上的名称和数量是具体的,“AI-powered intelligence”不是。如果只读对您很重要,工具清单就是这件事要么成立、要么 不成立的地方。
  2. 读到的一切都会变成提示词内容。 通过 MCP 取数据不是一次私密查询,而是 一段正在送往与模型提供方对话途中的文本,受该提供方留存条款的约束。

怎么判断您用的是哪一种

四个问题,从任何厂商的设置页面上大约一分钟就能答完。

  1. 客户端连接的是什么? https:// 开头的 URL 是云端服务器。npxuvxdocker 命令是一个跑在您机器上的进程。
  2. 它要什么凭据? 浏览器登录意味着厂商云端。配置文件里的 API 密钥意味着 本地进程去调用他们的 API。完全不需要凭据,则意味着数据本来就在这台机器上。
  3. 没有 MCP 时数据在哪? 如果您的笔记今天就在某家厂商的云里,任何 MCP 传输 方式都不会把它们搬出来。
  4. 您用的是哪个客户端? Claude Desktop 可以直接运行本地服务器,以桌面扩展 的形式安装。ChatGPT 在开发者模式下连接的是远程 HTTPS 端点,所以要访问本地的 stdio 服务器,就得在它前面加一条隧道。同一台服务器在一个客户端上是本地的, 在另一个客户端上可能就是远程的。

什么时候云端才是更好的答案

直说,因为这个选择并非一边倒:

云端只在一个维度上输,但本文谈的正是这个维度:您数据的一份副本放在别人的基础 设施上,凭一份凭据就能读到。

结论

请把一个问题拆成两个来问。服务器跑在哪里,告诉您谁存放数据、谁能凭令牌读到 它。助手读了什么,告诉您有什么会送到模型提供方——而这个答案在两种形态下都 一样。

如果您想要的正是本地进程读本地数据这一形态,那就是 Speak-Y 的 MCP 服务器:它是桌面应用的一部分,从 设置 → 集成一键安装,读取的是您机器上已有的录音,无需账号、 无需 API 密钥,也不留任何托管副本。读取在应用关闭时也能工作;会改动数据的工具都 经由应用,并在执行前征求确认,加上 --read-only 可把某个客户端限定为只读。所有 套餐都免费包含该服务器。 MCP 文档介绍了手动配置,隐私政策写明了哪些内容存放 在哪里;如果您想看看其他会议记录工具是怎么回答同一个问题的,我们 对比过它们的 MCP 服务器

FAQ

本地 MCP 服务器和云端 MCP 服务器有什么区别?

本地服务器是一个由 AI 客户端在您自己电脑上启动的程序,双方通过该进程的标准输入输出通信,完全不经过网络。云端服务器则是一个网络服务,客户端通过 HTTPS 访问,并用 OAuth 授权。在 MCP 规范里,这两者分别叫 stdio 传输和 Streamable HTTP 传输。

用本地 MCP 服务器就能让数据对 AI 保密吗?

不能。本地服务器让数据不落在厂商的服务器上,但助手通过它读到的一切,都会作为对话的一部分发送给您的模型提供方,和您自己粘贴进去完全一样。本地决定的是存放和访问,而不是模型看到什么。

本地 MCP 服务器比云端更安全吗?

它更私密,但并不自动更安全。MCP 的授权规范只适用于 HTTP 传输;对 stdio 服务器,规范要求改从环境变量中取凭据,因此本地服务器通常没有自己的权限层。以您的用户身份运行的任何程序,一般都能访问到它。

怎么判断一台 MCP 服务器是本地的还是云端的?

看安装说明。https:// 开头的 URL 加上浏览器登录,意味着厂商云端。npx、uvx 或 docker 这类命令,意味着一个跑在您机器上的进程。但持有 API 密钥的本地进程照样会去调用厂商的 API,所以光看命令并不能说明数据在哪。

ChatGPT 和 Claude 都能用本地 MCP 服务器吗?

Claude Desktop 可以直接运行本地服务器,以桌面扩展的形式安装。ChatGPT 在开发者模式下连接的是远程 HTTPS 端点,因此本地的 stdio 服务器需要先通过隧道暴露出去。同一台服务器在一个客户端上是本地的,在另一个客户端上可能就是远程的。