MemoryLake
返回全部文章
Tutorial2026 年 6 月 5 日5 分钟阅读

如何在无状态 MCP 服务器上添加持久记忆

2026 年的模型上下文协议修订移除了协议级会话——`Mcp-Session-Id` 头部消失,任何请求现在都可以落在任何服务器实例上。这对扩展来说是一个胜利:无状态服务器在普通的轮询负载均衡器后运行,没有粘性路由。但这提出了一个真实的问题:如果服务器不持有状态,长期记忆存在哪里?本指南向您展示如何在无状态 MCP 服务器上添加持久记忆,而无需重新引入您刚刚移除的会话机制。

简短答案

保持服务器无状态,并将记忆移入服务器每次请求查询的外部层。创建一个 MemoryLake 项目,生成一个 MCP 服务器端点,并让您的无状态服务器通过它读取和写入上下文——状态存储在 MemoryLake 中,因此任何实例都可以服务任何请求,并且仍然能够回忆起所有内容。

为什么无状态和记忆不是矛盾

2026 年的 MCP 变更将曾经纠缠在一起的两件事分开:传输和状态。无状态服务器是关于传输——没有每个连接的会话将客户端固定到一个实例。它并没有说明您的应用程序是否具有记忆。错误在于将记忆存储在进程中,这迫使粘性会话,并在第二个实例启动时打破水平扩展。

干净的模式是将记忆外部化。服务器保持为一个薄的、无状态的请求处理程序;记忆层负责持久性、检索和历史。每个实例指向相同的存储,因此请求可以由任何节点服务,并且仍然可以看到完整的上下文。这是更广泛生态系统在 2026 年达成的相同分割——可恢复存储与运行时上下文分开——应用于 MCP 层。

开始之前

您需要:

  • 一个免费的 MemoryLake 账户
  • 一个无状态的 MCP 服务器(或您正在重构为无状态的服务器)
  • 您的服务器需要持久化的上下文——事实、规则或文件(PDF、Word、Excel、PowerPoint、Markdown 或图像)

如何逐步在无状态 MCP 服务器上添加持久记忆

第 1 步:构建一个记忆项目

登录 MemoryLake 并打开 项目管理。点击 创建项目 并命名(例如,“无状态服务器记忆”)。打开 文档驱动器,使用 上传 添加文件,然后 文档标签 → 添加文档 → 确认 附加它们。通过 记忆标签 → 添加记忆 → 保存 添加持久规则。

第 1 步:构建一个记忆项目
第 1 步:构建一个记忆项目

第 2 步:生成一个 MCP 服务器端点

打开 MCP 服务器标签 → 添加 MCP 服务器 → 描述它(例如,“无状态服务器后端”) → 生成。MemoryLake 返回一个 密钥 ID、一个 密钥 和一个 端点 URL。立即复制 密钥——它只显示一次。

第 2 步:生成一个 MCP 服务器端点
第 2 步:生成一个 MCP 服务器端点

第 3 步:从您的服务器每次请求查询记忆

在您的无状态处理程序中,使用 密钥 作为 Bearer 令牌 调用 MemoryLake 的 端点 URL,以在每个请求上读取或写入上下文。由于调用是无状态的,并且每个请求都经过身份验证,因此在您的负载均衡器后面的任何服务器实例都可以服务任何客户端,并且仍然能够回忆起完整的历史。请参阅 MCP 设置指南 以获取配置参考。 [免费试用 MemoryLake]

第 3 步:从您的服务器每次请求查询记忆
第 3 步:从您的服务器每次请求查询记忆

进程状态与 MemoryLake

维度进程状态MemoryLake
实例重启后存活
与轮询负载均衡一起工作否(需要粘性)
在服务器实例之间共享
版本控制是(Git 风格历史)
数据所有权您的,但不稳定您拥有它(AES-256,持久)
基准LoCoMo #1 — 94.03%

提示与最佳实践

  • 将记忆端点视为依赖项,而不是缓存——在请求时读取上下文,以便任何实例保持正确。
  • 按租户或工作区划分项目,以便无状态服务器可以在不持有每个用户状态的情况下路由读取。
  • 在轮换时重新生成 Bearer 令牌;无状态服务器在不消耗会话的情况下获取新凭证。
  • 将持久规则保存在记忆条目中,并在文档驱动器中批量上下文——小规则检索速度快。

故障排除

  • 不同实例返回不同上下文: 确认每个实例指向相同的端点 URL 和项目,而不是本地存储。
  • 身份验证间歇性失败: 检查 Bearer 令牌是否从共享配置中读取,而不是嵌入到一个实例中。
  • “未找到密钥”: 密钥只显示一次。在 MCP 服务器标签中撤销并生成新密钥。

保持服务器无状态,保持记忆

外部化状态一次,您的 MCP 服务器就可以在不放弃长期记忆的情况下水平扩展。

常见问题

无状态 MCP 服务器可以有记忆吗?

可以。无状态性是关于传输,而不是应用程序。将记忆移入服务器每次请求查询的外部层,任何实例都可以在保持无状态的同时回忆起完整的上下文。

如何在没有粘性会话的情况下向 MCP 服务器添加持久记忆?

外部化状态。将每个服务器实例指向相同的 MemoryLake 端点,通过 Bearer 认证的请求,这样记忆就存储在进程外,粘性路由就不再必要。

2026 年的 MCP 修订会破坏记忆吗?

不会。移除协议级会话移除了传输状态,而不是应用程序记忆。外部记忆层与无状态模型完美契合。

2026 年 MCP 服务器状态应该存在哪里?

在一个持久的外部存储中,与运行时上下文分开——生态系统在 2026 年标准化的可恢复存储与运行时上下文的分割。

记忆层中的数据安全吗?

MemoryLake 使用 AES-256 加密,并获得 ISO 27001、SOC 2 Type II、GDPR 和 CCPA 认证。您拥有自己的数据,可以导出或永久删除。