Memo0 MCP服务器添加福利群:解决AI开发者的「MCP实战痛点」
这是一个与 Mem0 集成的 模型上下文协议 (MCP) 服务器的模板实现,旨在为 AI 代理提供持久记忆功能。
你可以将其作为参考,自行构建你的 MCP 服务器,或者将其作为示例提供给 AI 编码助手,并告诉它遵循此示例以确保结构和代码的正确性!
本项目展示了如何构建一个 MCP 服务器,使 AI 代理能够使用语义搜索存储、检索和搜索记忆。它作为一个实用的模板,帮助你创建自己的 MCP 服务器,只需使用 Mem0 和一个实际示例。
该实现遵循 Anthropic 提出的构建 MCP 服务器的最佳实践,允许与任何 MCP 兼容的客户端无缝集成。
服务器提供了三个基本的内存管理工具:
save_memory:通过语义索引将任何信息存储在长期记忆中get_all_memories:检索所有存储的记忆以获取全面的上下文search_memories:使用语义搜索查找相关记忆如果尚未安装 uv,请先安装:
pip install uv
克隆此仓库:
git clone https://github.com/coleam00/mcp-mem0.git
cd mcp-mem0

安装依赖项:
uv pip install -e .
基于 .env.example 创建 .env 文件:
cp .env.example .env

在 .env 文件中配置环境变量(参见配置部分)
构建 Docker 镜像:
docker build -t mcp/mem0 --build-arg PORT=8050 .
基于 .env.example 创建 .env 文件并配置环境变量
以下环境变量可以在 .env 文件中进行配置:
| 变量 | 描述 | 示例 |
|---|---|---|
TRANSPORT |
传输协议(sse 或 stdio) | sse |
HOST |
使用 SSE 传输时绑定的主机 | 0.0.0.0 |
PORT |
使用 SSE 传输时监听的端口 | 8050 |
LLM_PROVIDER |
LLM 提供商(openai、openrouter 或 ollama) | openai |
LLM_BASE_URL |
LLM API 的基础 URL | https://api.openai.com/v1 |
LLM_API_KEY |
LLM 提供商的 API 密钥 | sk-... |
LLM_CHOICE |
使用的 LLM 模型 | gpt-4o-mini |
EMBEDDING_MODEL_CHOICE |
使用的嵌入模型 | text-embedding-3-small |
DATABASE_URL |
PostgreSQL 连接字符串 | postgresql://user:pass@host:port/db |
# 在 .env 中设置 TRANSPORT=sse 然后:
uv run src/main.py

MCP 服务器将作为一个 API 端点运行,你可以使用下面显示的配置连接到它。
使用 stdio 时,MCP 客户端本身可以启动 MCP 服务器,因此此时无需运行任何命令。
docker run --env-file .env -p:8050:8050 mcp/mem0

MCP 服务器将在容器内作为一个 API 端点运行,你可以使用下面显示的配置连接到它。
使用 stdio 时,MCP 客户端本身可以启动 MCP 服务器容器,因此此时无需运行任何命令。
一旦你使用 SSE 传输运行了服务器,你可以使用以下配置连接到它:
{
"mcpServers": {
"mem0": {
"transport": "sse",
"url": "http://localhost:8050/sse"
}
}
}

Windsurf 用户注意:在配置中使用
serverUrl而不是url:{ "mcpServers": { "mem0": { "transport": "sse", "serverUrl": "http://localhost:8050/sse" } } }
n8n 用户注意:使用
host.docker.internal代替localhost,因为 n8n 需要从其容器外部访问主机:因此,MCP 节点中的完整 URL 为:http://host.docker.internal:8050/sse
如果使用的端口不是默认的 8050,请确保更新端口。
将此服务器添加到你的 MCP 配置中,适用于 Claude Desktop、Windsurf 或任何其他 MCP 客户端:
{
"mcpServers": {
"mem0": {
"command": "your/path/to/mcp-mem0/.venv/Scripts/python.exe",
"args": ["your/path/to/mcp-mem0/src/main.py"],
"env": {
"TRANSPORT": "stdio",
"LLM_PROVIDER": "openai",
"LLM_BASE_URL": "https://api.openai.com/v1",
"LLM_API_KEY": "YOUR-API-KEY",
"LLM_CHOICE": "gpt-4o-mini",
"EMBEDDING_MODEL_CHOICE": "text-embedding-3-small",
"DATABASE_URL": "YOUR-DATABASE-URL"
}
}
}
}

{
"mcpServers": {
"mem0": {
"command": "docker",
"args": ["run", "--rm", "-i",
"-e", "TRANSPORT",
"-e", "LLM_PROVIDER",
"-e", "LLM_BASE_URL",
"-e", "LLM_API_KEY",
"-e", "LLM_CHOICE",
"-e", "EMBEDDING_MODEL_CHOICE",
"-e", "DATABASE_URL",
"mcp/mem0"],
"env": {
"TRANSPORT": "stdio",
"LLM_PROVIDER": "openai",
"LLM_BASE_URL": "https://api.openai.com/v1",
"LLM_API_KEY": "YOUR-API-KEY",
"LLM_CHOICE": "gpt-4o-mini",
"EMBEDDING_MODEL_CHOICE": "text-embedding-3-small",
"DATABASE_URL": "YOUR-DATABASE-URL"
}
}
}
}

此模板为构建更复杂的 MCP 服务器提供了基础。要构建你自己的服务器:
@mcp.tool() 装饰器的方法来添加你自己的工具utils.py 文件以获取你需要的任何辅助函数@mcp.resource() 和 @mcp.prompt() 添加提示和资源