关于 Mem0 Mcp Server
Mem0 Mcp Server 是可自托管的 MCP 服务,通过 Mem0 v2 为 AI Agent 提供持久记忆。它支持语义检索、按用户、Agent 和会话隔离记忆,并提供 stdio 与 SSE 传输方式。
主要功能
- 01存储、搜索、读取和更新记忆
- 02基于语义相似度检索
- 03按用户、Agent 和会话隔离
- 04支持 stdio 与 SSE 传输
- 05从配置文件和环境变量读取并校验配置
适用场景
- 01保留跨对话的上下文
- 02为 Agent 检索相关记忆
- 03按用户、Agent 或会话分隔记忆
MCP 相关
它将 Mem0 记忆操作作为 MCP 工具提供,包括添加、搜索、读取、更新、删除和列出记忆。MCP 客户端可通过 stdio 或 SSE 连接。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mem0-mcp-server
通过标准化的 MCP 协议公开 Mem0 v2 API 的 MCP 服务,供 AI Agent 使用语义搜索存储、检索和搜索长期记忆。
概述
Mem0-MCP Server 是一款可自托管的 MCP(Model Context Protocol)服务,可连接 AI Agent 与持久化记忆存储。它使用 Mem0 的 AsyncMemory API,支持在不同对话和会话中智能保留上下文。
主要功能:
- MCP 协议集成 - 通过 MCP 工具公开 Mem0 功能
- 语义记忆搜索 - 基于相似度的记忆检索,并支持向量搜索
- 多租户隔离 - 按用户/Agent/会话范围隔离记忆
- 灵活的传输方式 - 为本地 Agent 提供 stdio,为远程连接提供 SSE
- 配置管理 - 基于 Pydantic 进行验证,并支持环境变量
文档
| 部分 | 描述 |
|---|---|
| API 参考 | 所有模块和工具的完整 API 文档 |
| 模式指南 | 设计模式文档(单例、仓库等) |
| 使用示例 | 入门和高级使用指南 |
| 部署 | Docker Compose 配置和服务详情 |
| 架构 | 系统架构和组件交互 |
快速开始
安装
# Clone and install
git clone https://github.com/your-org/mem0-mcp-server.git
cd mem0-mcp-server
uv sync
# Set environment variables
export OPENAI_API_KEY="your-api-key"
配置
创建 ~/.config/mem0-mcp-server/settings.json:
{
"vector_store": {
"provider": "redis",
"config": {
"redis_url": "redis://localhost:6379"
}
},
"llm": {
"provider": "openai",
"config": {
"model": "gpt-4o"
}
},
"embedder": {
"provider": "openai",
"config": {
"model": "text-embedding-3-small"
}
}
}
运行服务
# SSE Transport (remote connections)
uv run python -m mcp_server.main
# stdio Transport (local AI agents)
export MCP_TRANSPORT=stdio
uv run python -m mcp_server.main
OpenCode 配置
在 ~/config/opencode/opencode.json 中
OpenCode 配置
在 ~/config/opencode/opencode.json 中
"mcp": {
"mem0": {
"type": "remote",
"enabled": true,
"url": "http://localhost:8050/sse"
}
}
MCP 工具
| 工具 | 描述 |
|---|---|
add_memory | 将信息存储到长期记忆中并进行语义索引 |
search_memories | 使用语义相似度搜索记忆 |
get_memory | 按 ID 检索特定记忆 |
update_memory | 更新现有记忆内容 |
delete_memory | 从存储中删除记忆 |
list_memories | 根据筛选条件和分页列出记忆 |
使用示例
# Add memory
result = await client.call_tool("add_memory", {
"messages": [{"role": "user", "content": "I prefer dark mode"}],
"user_id": "alice"
})
# Search memories
result = await client.call_tool("search_memories", {
"query": "theme preferences",
"filters": {"user_id": "alice"},
"limit": 5
})
架构
AI Agent → FastMCP Server → MemoryManager → Mem0 AsyncMemory → Redis
│ │
├── SafeLogger (stdout/stderr) │
├── Transport (stdio/SSE) │
└── Config (Pydantic validation) │
组件:
- COMP-1:ConfigLoader - 配置加载和验证
- COMP-2:FastMCP Server - MCP 协议服务
- COMP-3:MemoryManager - 支持多租户隔离的记忆操作
- COMP-4:MCP Tools - 工具定义
- COMP-5:SafeLogger - 输出流分离
配置
参数优先级
配置值按以下顺序解析:
- 工具参数(直接提供)
- 环境变量(带
MCP_前缀) - 配置文件中的值
- 硬编码默认值
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
OPENAI_API_KEY | (必需) | 用于大模型的 OpenAI API 密钥 |
MCP_TRANSPORT | sse | 传输类型(stdio、sse) |
MCP_HOST | 0.0.0.0 | 服务绑定地址 |
MCP_PORT | 8080 | 服务绑定端口 |
部署
Docker
# Using docker-compose
docker-compose up -d
# Using Makefile
make docker-up # Start services with docker compose
make docker-down # Stop services
make docker-logs # Show logs
服务:
| 服务 | 描述 |
|---|---|
mem0-mcp | 在端口 8050 上公开 Mem0 API 的 MCP 服务 |
ollama-qwen3-embedding | 使用 qwen3-embedding:8b 生成向量嵌入的 Ollama(端口 11434) |
ollama-qwen | 使用 qwen2.5:7b 生成聊天补全的 Ollama(端口 11435) |
详细配置请参阅部署 → Docker。
Kubernetes
# Using Helm chart
helm install mem0-mcp ./charts/mem0-mcp-server
开发
| 命令 | 说明 |
|---|---|
make install | 使用 uv 安装依赖 |
make lint | 使用 ruff 检查代码 |
make lint-fix | 自动修复代码检查问题 |
make typecheck | 使用 pyright 进行类型检查 |
make test | 运行所有测试 |
make test-unit | 仅运行单元测试 |
make test-coverage | 运行测试并生成覆盖率报告 |
make build | 构建 Docker 镜像 |
make run | 运行开发服务器 |
运行多个命令:make install && make lint && make typecheck && make test
查看 Makefile 了解所有可用命令,包括 Docker 管理(docker-up、docker-down、docker-logs 等)。
项目结构
mem0-mcp/
├── src/mcp_server/
│ ├── __init__.py # FastMCP singleton
│ ├── lifespan.py # Resource lifecycle
│ ├── transport.py # Transport selection
│ ├── memory/
│ │ ├── manager.py # MemoryManager
│ │ └── lifespan.py # AsyncMemory lifecycle
│ ├── config/
│ │ ├── settings.py # Pydantic models
│ │ └── loader.py # Config file loading
│ ├── tools/
│ │ ├── add_memory.py
│ │ ├── search_memories.py
│ │ └── ...
│ └── utils/
│ └── safe_logger.py # Output separation
├── doc/
│ ├── api/ # API reference
│ ├── patterns/ # Pattern guides
│ ├── examples/ # Usage examples
│ └── architecture/ # Architecture docs
├── tests/
├── Makefile
├── Dockerfile
└── docker-compose.yml
许可证
MIT 许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。