mem0打开mcp
开源MCP服务器 mem0 — 本地LLM,自托管,无Docker.
创建是因为官方 mem0-mcp 配置对我的设置不起作用。
特性
- 本地LLMs:Ollama(推荐)、LMStudio\*或任何与OpenAI兼容的API
- 自托管:您的数据保留在您的基础设施上
- Docker免费:简单
pip install+CLI - 灵活的:支持环境变量的YAML配置
- 多个矢量存储:Qdrant、Chroma、Pinecone等
\*LMStudio需要JSON模式兼容的模型
快速开始
安装
pip install mem0-open-mcp或者从源代码安装:
git clone https://github.com/wonseoko/mem0-open-mcp.git
cd mem0-open-mcp
pip install -e .用法
# Create default config
mem0-open-mcp init
# Interactive configuration wizard
mem0-open-mcp configure
# Test configuration (recommended for initial setup)
mem0-open-mcp test
# Start the server
mem0-open-mcp serve
# With options
mem0-open-mcp serve --port 8765 --user-id alice这 test 命令在不启动服务器的情况下验证您的配置:
- 检查矢量存储、LLM和嵌入器连接
- 执行实际的内存添加/搜索操作
- 自动清理测试数据
模式
stdio模式(适用于mcp代理或克劳德桌面)
与mcp代理或Claude Desktop集成时,在stdio模式下运行服务器:
mem0-open-mcp stdio
mem0-open-mcp stdio --config ./config.yaml在以下情况下使用此模式:
- 通过mcp代理运行
- Claude Desktop子流程集成
- 按需生成流程
- 演出:针对v0.2.1+进行了优化,支持轻量级管理器启动
服务模式(HTTP/SSE服务器)
为远程访问或多个并发客户端运行持久HTTP服务器:
mem0-open-mcp serve --port 8765在以下情况下使用此模式:
- 需要远程访问
- 多个并发客户端
- 首选始终在服务器上
- 需要自定义端口配置
mcp代理集成
使用mcp代理在工具和Claude Desktop之间路由mcp协议。配置您的 mcp-servers.json:
{
"mcpServers": {
"mem0": {
"command": "mem0-open-mcp",
"args": ["stdio"]
}
}
}或者使用自定义配置:
{
"mcpServers": {
"mem0": {
"command": "mem0-open-mcp",
"args": ["stdio", "--config", "/path/to/config.yaml"]
}
}
}stdio模式通过stdin/stdout进行通信,使其成为进程生成集成的理想选择。
更新命令
使用自我更新功能使mem0-open-mcp保持最新状态:
# Check for available updates
mem0-open-mcp update --check
# Force update to latest version
mem0-open-mcp update --force
# Update and exit on success
mem0-open-mcp update选项:
--check:仅检查可用更新,不安装--force:强制重新安装,即使已经是最新版本
配置
创建 mem0-open-mcp.yaml:
server:
host: "0.0.0.0"
port: 8765
user_id: "default"
llm:
provider: "ollama"
config:
model: "llama3.2"
base_url: "http://localhost:11434"
embedder:
provider: "ollama"
config:
model: "nomic-embed-text"
base_url: "http://localhost:11434"
embedding_dims: 768
vector_store:
provider: "qdrant"
config:
collection_name: "mem0_memories"
host: "localhost"
port: 6333
embedding_model_dims: 768与LMStudio合作
⚠️ 备注:LMStudio需要一个支持response_format: json_object. mem0使用结构化JSON输出进行内存提取。如果你得到response_format错误, 请改用Ollama,或在LMStudio中选择一个支持JSON模式的模型。
llm:
provider: "openai"
config:
model: "your-model-name"
base_url: "http://localhost:1234/v1"
embedder:
provider: "openai"
config:
model: "your-embedding-model"
base_url: "http://localhost:1234/v1"MCP集成
将您的MCP客户端连接到:
http://localhost:8765/mcp//sse/克劳德桌面版
{
"mcpServers": {
"mem0": {
"url": "http://localhost:8765/mcp/claude/sse/default"
}
}
}可用的MCP工具
| 工具 | 说明 |
|---|---|
add_memories | 存储文本中的新记忆 |
search_memory | 按查询搜索记忆 |
list_memories | 列出所有用户记忆 |
get_memory | 按ID获取特定内存 |
delete_memories | 按ID删除记忆 |
delete_all_memories | 删除所有用户记忆 |
API终点
| 端点 | 方法 | 描述 |
|---|---|---|
/health | GET | 健康检查 |
/api/v1/status | GET | 服务器状态 |
/api/v1/config | GET/PUT | 配置 |
/api/v1/memories | GET/POST/DELETE | 内存操作 |
/api/v1/memories/search | POST | 搜索记忆 |
需求
- Python 3.10+
- 矢量存储(推荐Qdrant)
- LLM服务器(Ollama、LMStudio等)
性能优化
stdio模式优化(v0.2.1+)
stdio模式针对性能进行了优化:
- 轻量级管理器:与HTTP服务器相比,降低了启动开销
- 按需产卵:流程仅在MCP请求需要时生成
- 无服务器开销:消除了HTTP/SSE连接管理
- Claude Desktop的理想选择:通过mcp代理集成时,资源占用最小
在Claude Desktop或mcp代理集成中使用stdio模式以获得最佳性能。
性能提示
- 使用Qdrant矢量存储以获得最佳性能(推荐)
- 保持嵌入尺寸一致(768或1536)
- 对于大型内存操作,请在配置中增加向量存储批处理大小
- 使用本地型号监控Olama的性能(建议使用llama3.2进行速度监控)
图形存储(实验)
图存储支持用于实体之间关系提取的知识图功能。
配置
graph_store:
provider: "neo4j"
config:
url: "bolt://localhost:7687"
username: "neo4j"
password: "your-password"安装
pip install mem0-open-mcp[neo4j]
# or
pip install mem0-open-mcp[kuzu]局限性
⚠️ 重要:图形存储需要具有正确LLM的LLM 工具调用 支持。 - OpenAI模型:完全支持(建议用于图形存储) - Olama模型:支持有限-大多数模型(llama3.2、llama3.1)不能准确遵循工具模式,导致图关系为空 如果您需要使用本地LLM的图形功能,请考虑使用 graph_store.llm 设置为仅为图形操作指定不同的LLM提供程序。# Example: Use OpenAI for graph, Ollama for everything else
llm:
provider: "ollama"
config:
model: "llama3.2"
graph_store:
provider: "neo4j"
config:
url: "bolt://localhost:7687"
username: "neo4j"
password: "password"
llm:
provider: "openai"
config:
model: "gpt-4o-mini"许可证
Apache 2.0
