MCP-mem内存服务器工具
一个为数据丰富型应用提供内存解决方案的MCP服务器,使用HippoRAG实现高效的知识图谱功能,支持跨多个来源(包括已上传文件)进行搜索。
服务介绍
MCP Memory
一个实现高效知识图谱能力的数据丰富应用内存解决方案的模型上下文协议(MCP)服务器。
概述
此MCP服务器为涉及从多个来源(包括上传文件)搜索信息的数据丰富应用程序实现了内存解决方案。它内部使用HippoRAG通过高效的知知识图谱来管理内存。HippoRAG是本包的一个必需依赖项。
特性
- 基于会话的内存:创建并管理特定聊天会话的内存
- 高效的知识图谱:使用HippoRAG进行内存管理
- 多种传输支持:同时支持stdio和SSE传输
- 搜索功能:能够从各种来源,包括上传的文件中搜索信息
- 自动资源管理:基于TTL的清理机制,适用于会话和内存实例
安装
从PyPI安装:
pip install mcp-mem hipporag
或者从源代码安装:
git clone https://github.com/ddkang1/mcp-mem.git
cd mcp-mem
pip install -e .
pip install hipporag
注意:HippoRAG是mcp-mem正常工作所必需的依赖项。
使用
你可以直接运行MCP服务器:
mcp-mem
默认情况下,它使用stdio传输。若要使用SSE传输:
mcp-mem --sse
你还可以指定SSE传输的主机和端口:
mcp-mem --sse --host 127.0.0.1 --port 3001
配置
基础配置
要在Windsurf中的Claude上使用此工具,请在你的MCP配置文件中添加以下配置:
"memory": {
"command": "/path/to/mcp-mem",
"args": [],
"type": "stdio",
"pollingInterval": 30000,
"startupTimeout": 30000,
"restartOnFailure": true
}
command字段应指向使用pip安装python包的目录。
环境变量配置
你可以通过环境变量配置mcp-mem使用的LLM和嵌入模型:
EMBEDDING_MODEL_NAME:要使用的嵌入模型名称(默认: "text-embedding-3-large")EMBEDDING_BASE_URL:嵌入API的基础URL(可选)LLM_NAME:要使用的LLM模型名称(默认: "gpt-4o-mini")LLM_BASE_URL:LLM API的基础URL(可选)OPENAI_API_KEY:OpenAI API密钥(必需)
内存管理配置
该服务器包含自动资源管理特性:
-
会话TTL:在指定天数无活动后自动移除会话目录。
使用session_ttl_days配置参数设置(默认: None - 禁用)。 -
实例TTL:在指定时间段无活动后自动将HippoRAG实例从内存卸载。
使用instance_ttl_minutes配置参数设置(默认: 30分钟)。此功能有助于通过卸载不活跃实例来管理内存使用,同时保留底层数据。
当再次访问已卸载的实例时,它将自动从磁盘重新加载。
示例用法:
EMBEDDING_MODEL_NAME="your-model" LLM_NAME="your-llm" mcp-mem
为了方便起见,你可以使用提供的示例脚本:
./examples/run_with_env_vars.sh
可用工具
MCP服务器提供了以下工具:
- create_memory: 为给定的聊天会话创建新的记忆
- store_memory: 向特定会话添加记忆
- retrieve_memory: 从特定会话中检索记忆
开发
开发环境安装
git clone https://github.com/ddkang1/mcp-mem.git
cd mcp-mem
pip install -e ".[dev]"
运行测试
pytest
代码风格
本项目使用 Black 进行格式化,isort 进行导入排序,以及 flake8 进行代码检查:
black src tests
isort src tests
flake8 src tests
贡献
欢迎贡献!请随时提交 Pull Request。
许可证
本项目根据 MIT 许可证发布 - 详情请参阅 LICENSE 文件。