README
🚀 结构化内存MCP服务器
结构化内存MCP服务器是一个模型上下文协议(MCP)服务器,它通过Markdown文件提供结构化、特定领域的内存管理功能。对于围绕特定领域展开的正在进行的项目,如果你希望随着时间的推移积累有价值的上下文信息,那么这个服务器将非常实用。例如旅行规划、研究项目、房地产搜索、投资理论、产品规划和职业发展等特定领域。
🚀 快速开始
安装
选项1:从npm安装(发布后)
npm install -g @nmeierpolys/mcp-structured-memory
选项2:从源代码安装
git clone https://github.com/nmeierpolys/mcp-structured-memory.git
cd mcp-structured-memory
npm install
npm run build
配置
对于Claude桌面版
编辑 claude_desktop_config.json 文件,添加以下内容:
{
"mcpServers": {
"mcp-structured-memory": {
"command": "npx",
"args": ["@nmeierpolys/mcp-structured-memory"]
}
}
}
典型使用步骤
- 要求你的大语言模型(LLM)客户端为你的特定项目创建一个内存文档。
示例指令:
创建一个新的旅行顾问内存文档,并告诉我如何使用它。该文档应初始为空,并随着时间不断丰富。 - 为该领域的对话创建一个新项目,并将提供的使用说明添加到项目上下文中。
⚠️ 重要提示
尽管有工具提示,但大语言模型偶尔可能不会显示安装说明。如果发生这种情况,你可以向大语言模型提出显示安装说明的请求,它应该会照做。
- 新的聊天对话会先检查项目内存中的可用信息。大语言模型会随着时间更新此内存,以积累有价值的上下文。
- 你可以根据需要要求大语言模型添加或调整内存文件。此外,要求大语言模型询问你相关信息也很有帮助,例如:
问我一些问题,以了解我的旅行偏好。
✨ 主要特性
为何选择结构化内存
传统的MCP内存服务器通过语义搜索分散的对话片段。这种方式在一般的信息检索中表现良好,但对于需要有组织、分类信息的特定项目则效果不佳。
结构化内存则维护具有结构化内容的“动态文档”,你可以随时浏览、更新和跟踪这些文档,就像使用个人笔记本一样,只不过有了人工智能的协助。
内存文档以Markdown文件的形式存储,主要由大语言模型在与你的对话学习过程中自动更新,随着时间的推移构建丰富的上下文。
灵活的结构
内存文档支持任何你需要的结构。人工智能将根据你的用例帮助你组织各个部分。常见示例如下:
- 旅行规划:目的地、行程安排、住宿、活动、餐厅、旅行小贴士、预算跟踪
- 研究项目:研究问题、文献综述、研究方法、研究结果、数据来源、下一步计划
- 房地产搜索:搜索标准、在售房源、已参观房产、已拒绝房产、市场洞察、经纪人联系方式
自动内存构建示例
用户:“创建一个新的明尼苏达之旅内存文档,并告诉我如何使用它。该文档应初始为空,并随着时间不断丰富。”
Claude:“我已为你的明尼苏达之旅创建了一个旅行内存文档。在我们讨论你的计划时,我会自动用目的地、时间安排、偏好以及我了解到的关于你旅行的其他细节更新它。”
用户:“我想欣赏秋天的景色、徒步旅行、品尝当地美食,并游览北岸和双子城。”
Claude:“我已在内存中记录了你的优先事项:欣赏秋天的树叶、徒步旅行机会、当地餐厅、北岸目的地和双子城景点。在我们探索各种选择时,我会跟踪具体的推荐。”
[后续对话]
用户:“哪些徒步小径的秋天景色很美?”
Claude:“根据我们之前的讨论,我知道你关注明尼苏达的秋天景色。让我推荐一些小径,并将最佳的小径添加到你的旅行内存中……”
备份和版本控制
服务器会在进行重大更新之前自动创建带时间戳的备份。
存储位置
内存文档文件以Markdown文件的形式存储在以下位置:
- macOS:
~/Library/Application Support/mcp-structured-memory/ - Windows:
%LOCALAPPDATA%\mcp-structured-memory\ - Linux:
~/.local/share/mcp-structured-memory/
💻 使用示例
可用工具
- create_memory - 创建一个新的内存文档,可选择添加初始内容
- list_memories - 列出所有可用的内存文档
- get_memory_summary - 获取内存文档的高级摘要
- get_section - 从内存文档中检索特定部分
- get_full_memory - 检索内存文档的完整内容
- search_within_memory - 在内存文档中搜索信息
- update_section - 更新内存文档的整个部分
- add_to_list - 向列表部分添加一个项目
- update_list_item - 更新列表中的现有项目
- move_list_item - 在列表部分之间移动项目
Scan to join WeChat group