MCP存储器
一种模型上下文协议(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 配置参数(默认值:无-禁用)。
- 实例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:为特定会话添加内存
- 检索存储器:从特定会话中检索内存
发展
安装开发
git clone https://github.com/ddkang1/mcp-mem.git
cd mcp-mem
pip install -e ".[dev]"运行测试
pytest代码的风格
此项目使用黑色进行格式化,使用isort进行导入排序,使用flake8进行linting:
black src tests
isort src tests
flake8 src tests贡献
欢迎投稿!请随时提交拉取请求。
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
