mcpField
M
Mem0 Mcp Server

Mem0 Mcp Server

本地服务
github.com/olk记忆与知识124 周前更新

关于 Mem0 Mcp Server

Mem0 Mcp Server 是可自托管的 MCP 服务,通过 Mem0 v2 为 AI Agent 提供持久记忆。它支持语义检索、按用户、Agent 和会话隔离记忆,并提供 stdio 与 SSE 传输方式。

主要功能

  1. 01存储、搜索、读取和更新记忆
  2. 02基于语义相似度检索
  3. 03按用户、Agent 和会话隔离
  4. 04支持 stdio 与 SSE 传输
  5. 05从配置文件和环境变量读取并校验配置

适用场景

  1. 01保留跨对话的上下文
  2. 02为 Agent 检索相关记忆
  3. 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 - 输出流分离

配置

参数优先级

配置值按以下顺序解析:

  1. 工具参数(直接提供)
  2. 环境变量(带 MCP_ 前缀)
  3. 配置文件中的值
  4. 硬编码默认值
环境变量
变量默认值描述
OPENAI_API_KEY(必需)用于大模型的 OpenAI API 密钥
MCP_TRANSPORTsse传输类型(stdio、sse)
MCP_HOST0.0.0.0服务绑定地址
MCP_PORT8080服务绑定端口

部署

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 许可证

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。