MCP Server Memory File

MCP Server Memory File

一个 MCP 服务器,允许 Claude 和其他 LLM 通过文本文件存储来管理跨对话的持久记忆。该服务器支持添加、搜索、删除和列出记忆条目的命令。 (Alternative, slightly more technical translation): 一个 MCP 服务器,它允许 Claude 和其他 LLM 通过文本文件存储的方式,实现跨会话的持久化记忆管理。该服务器提供添加、搜索、删除和列出记忆条目的功能。

知识与记忆
文件系统
笔记
本地
TypeScript
访问服务器

README

mcp-server-memory

这是一个 MCP 服务器,用于与内存文本文件交互,以帮助 Claude 处理聊天间的上下文。

每一行都是一条记忆。

这些工具允许 Claude(和其他 MCP 客户端)在聊天过程中管理记忆:

  • memory_add(memory: string) - 追加记忆
  • memory_search(query: string) - 返回匹配的记忆(子字符串完全匹配) - 以后可能会允许使用 globs/regex
  • memory_delete(query: string) - 删除匹配的记忆(子字符串完全匹配)
  • memory_list() - 返回所有记忆
  • 仅供参考 memory_update == memory_delete + memory_add

例如:

  • 我提到我的名字 => "正在和 Wes 聊天"
  • 提到女儿的年龄 => "Wes 的女儿 8 岁"
  • 说正在做一个 typescript 项目 => "正在做 typescript 项目"
  • 并且,这一点至关重要,可以基于 Claude(助手/LLM)所说或所做的事情...
    • 值得注意的是,工具的使用(即 run_command)... 假设第一次尝试使用该工具时出现故障(即,python 命令不存在),然后随后的工具使用成功(即,使用 python3 而不是 python)=> Claude 可以记录 "使用 python3,python 不存在"...
  • 我要求 Claude 删除关于 X 的记忆 => memory_delete(query: X)
  • 我更正我的名字 => memory_search("旧名字") + memory_delete(每个匹配的记录,或一个常见的子集查询) + memory_add("新名字")

然后,当新的聊天开始时,Claude 将自动获取最近的记忆(一个子集或全部)或者可以要求获取记忆(一些/更多/全部)。然后可以使用这些记忆来影响响应/工具/等等。

设计

一个简单的内存文本文件,原因如下:

  • ChatGPT 的记忆 效果很好,本质上是一个文本文件
    • 也许它在幕后是结构化的,但是如果你查看你的记忆,它会显示为一个文本文件。
  • 我对 mcp-server-commands 的类似提醒功能的测试效果很好(当 Claude 拥有它们时)。
  • 非结构化文本简化了工具和参数,基本上就是管理一个字符串列表。

提示机制:

  • 重要的是,需要有一个提示,让模型知道何时存储记忆。如何最好地做到这一点还不太清楚,但是...
  • 训练:OpenAI 承认对模型进行了一些训练,以了解何时存储记忆。就像模型接受工具使用训练一样。
  • 提示:系统提示组件可能包含一个提醒,以触发存储记忆。
  • 仅工具:在我对 Claude 的测试中,仅使用工具规范,甚至在工具响应中提供提示/建议,我都无法让 Claude 存储记忆。因此,仅凭这一点是不够的。似乎 Claude 对工具的训练只是为了追求提示/请求而使用它们,因此我相信在提示组件中添加提醒/提示会很好。

TODOs/想法

我不知道这些是否值得花时间,只是在这里列出未来的想法。也许部分原因是为了阻止自己去做它们 :)

  • 近期因素:一种基于近期重新排列记忆的方法?
    • 那么顺序对于模糊的记忆查询变得相关(即,从事 typescript 项目和 python 项目,然后我要求开始一个新项目,可以建议最近使用的一个?)
  • 逐渐淡化旧记忆?

推荐服务器

Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Excel MCP Server

Excel MCP Server

一个模型上下文协议服务器,使 AI 助手能够读取和写入 Microsoft Excel 文件,支持诸如 xlsx、xlsm、xltx 和 xltm 等格式。

精选
本地
Go
Playwright MCP Server

Playwright MCP Server

提供一个利用模型上下文协议的服务器,以实现类人浏览器的自动化,该服务器使用 Playwright,允许控制浏览器行为,例如导航、元素交互和滚动。

精选
本地
TypeScript
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
Apple MCP Server

Apple MCP Server

通过 MCP 协议与 Apple 应用(如“信息”、“备忘录”和“通讯录”)进行交互,从而使用自然语言发送消息、搜索和打开应用内容。

精选
本地
TypeScript
contentful-mcp

contentful-mcp

在你的 Contentful Space 中更新、创建、删除内容、内容模型和资源。

精选
TypeScript
serper-search-scrape-mcp-server

serper-search-scrape-mcp-server

这个 Serper MCP 服务器支持搜索和网页抓取,并且支持 Serper API 引入的所有最新参数,例如位置信息。

精选
TypeScript
The Verge News MCP Server

The Verge News MCP Server

提供从The Verge的RSS feed获取和搜索新闻的工具,允许用户获取今日新闻、检索过去一周的随机文章,以及在最近的Verge内容中搜索特定关键词。

精选
TypeScript
MCP Server Trello

MCP Server Trello

通过 Trello API 促进与 Trello 看板的交互,提供速率限制、类型安全、输入验证和错误处理等功能,以实现对卡片、列表和看板活动的无缝管理。

精选
TypeScript