关于 Evermemos Mcp
evermemos-mcp 是面向 AI 编码助手的长期记忆 MCP 服务,基于 EverMemOS Cloud 存储与检索记忆。用户可通过 remember 保存上下文,并在新会话中用 briefing 恢复。它通过空间隔离、敏感内容拦截和冲突检测来管理记忆。
主要功能
- 017 个工具,覆盖保存、检索、恢复和删除
- 02按 domain:slug 划分记忆空间,避免项目之间串用
- 03多空间检索,单次调用最多查询 10 个空间
- 04敏感信息(如 API 密钥、密码)拦截
- 05记忆生命周期状态标注(queued 至 searchable)
- 06检索结果附带来源、时间戳和分数
适用场景
- 01跨会话保存项目架构决策与编码约定
- 02在新会话开始时通过 briefing 恢复上下文
- 03保存个人偏好并在不同客户端中复用
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端暴露 list_spaces、remember、recall、briefing、forget 等 7 个工具,支持 stdio 连接,可接入 Claude Code、Cursor、Cline 等客户端。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
7收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | integer | 否 | 要返回的 MCP 可见空间的最大数量 |
| query | string | 否 | 用于筛选空间的可选关键词 |
详细介绍
evermemos-mcp
为 AI 编码助手提供长期记忆。记住一次,永久回忆。

你花了 30 分钟解释架构、命名约定,以及为什么弃用了 MongoDB。下一次会话——全忘了。你又得从头解释一遍。
evermemos-mcp 解决了这个问题。调用一次 remember 即可存储,调用一次 briefing 即可恢复——适用于任意会话、任意客户端。
基准测试:召回率 60/60,对比基线的 0/60。零归因错误。P95 < 2s。 (证据)
介绍视频: 在 Bilibili 上观看
演示视频: 在 Bilibili 上观看
快速开始
从 EverMemOS Cloud 获取 API 密钥,然后将其添加到 MCP 客户端配置中:
{
"mcpServers": {
"evermemos-mcp": {
"type": "stdio",
"command": "uvx",
"args": ["evermemos-mcp@latest"],
"env": {
"EVERMEMOS_API_KEY": "your-key-here"
}
}
}
}
或直接运行:
uvx evermemos-mcp@latest
支持 Claude Code、Cursor、Cline、Cherry Studio、OpenClaw、Gemini CLI、Aider,以及任何兼容 MCP 的客户端或 Agent。客户端专属设置请参阅 docs/05-client-integrations.md。
从源代码安装
git clone https://github.com/tt-a1i/everos-mcp.git
cd everos-mcp
cp .env.example .env # set EVERMEMOS_API_KEY
uv run evermemos-mcp
从源代码安装时的 MCP 客户端配置:
{
"mcpServers": {
"evermemos-mcp": {
"type": "stdio",
"command": "uv",
"args": ["run", "--directory", "/path/to/evermemos-mcp", "evermemos-mcp"],
"env": { "EVERMEMOS_API_KEY": "your-key-here" }
}
}
}
你将获得什么
7 个工具
| 工具 | 功能 |
|---|---|
list_spaces | 查看可用的记忆空间 |
remember | 将上下文存储到长期记忆中。自动检测敏感内容(API 密钥、密码),并检查是否存在冲突记忆 |
request_status | 检查排队等待的写入是否已提取 |
recall | 使用 6 种检索策略搜索记忆(关键词 / 混合 / 向量 / RRF / Agentic / 自动) |
briefing | 一次调用即可在会话开始时恢复上下文:个人资料 + 事件 + 事实 + 预见 |
forget | 通过验证工作流进行定向删除 |
fetch_history | 按类型分页浏览记忆时间线 |
核心能力
- 空间隔离——
coding:my-app、chat:preferences、study:ml-notes——记忆不会在项目之间串流 - 多空间搜索——在一次
recall调用中查询最多 10 个空间,并自动标注来源 - 敏感内容防护——存储前拦截 API 密钥、密码、令牌和私钥,并要求用户确认
- 记忆冲突检测——自动检查
chat:*空间中的相似记忆,标出冲突供 Agent 判断 - 生命周期跟踪——所有工具的每条结果都会标记为
queued、provisional、fallback或searchable - 可追溯引用——每条结果都包含
memory_type、snippet、timestamp、score、source_message_id - Git 自动检测——省略
space_id后,会根据 git 远程仓库推断coding:<repo-name> - 健壮的错误处理——失败后进行退避重试(429/5xx);支持旧版 v0 GET 请求体代理/WAF 回退(默认 v1 获取/搜索使用 POST 请求体);提供结构化错误代码
使用场景
持久化架构上下文:
You: remember we chose PostgreSQL because our data is highly relational
[space_id: coding:my-saas]
-- next day, new session --
You: what database did we choose and why?
→ "Chose PostgreSQL — highly relational data model"
持久保留的个人偏好:
You: remember I prefer dark mode, vim keybindings, and concise responses
[space_id: chat:preferences]
-- any future session --
You: recall my UI preferences
→ "dark mode, vim keybindings, concise responses"
跨会话学习笔记:
You: remember bias-variance tradeoff — high bias = underfitting, high variance = overfitting
[space_id: study:ml-notes]
-- later --
You: briefing for study:ml-notes
→ profile + recent episodes + key facts + foresights
为什么选择 evermemos-mcp
还有其他记忆 MCP 服务。以下是它与众不同之处:
| evermemos-mcp | Mem0 MCP | Letta/MemGPT | Official MCP memory | |
|---|---|---|---|---|
| 空间隔离 | 每个项目/主题使用 domain:slug | 无 | 无 | 无 |
| 生命周期跟踪 | 排队 → 临时 → 回退 → 可搜索 | 无 | 无 | 无 |
| 敏感内容防护 | 屏蔽 API 密钥、密码和令牌 | 无 | 无 | 无 |
| 冲突检测 | 自动检测聊天空间中的冲突 | 无 | 无 | 无 |
| 多空间搜索 | 一次调用最多搜索 10 个空间 | 无 | 无 | 无 |
| 检索策略 | 6 种方法 + 自动合并 | 仅语义搜索 | 仅语义搜索 | 无 |
| 基准测试验证 | 召回率 60/60,错误数为 0 | — | — | — |
| 设置 | uvx evermemos-mcp | 云端或可自托管 | 必须自托管 | npx |
基准测试
在编码、聊天和学习空间中,对固定的 60 个查询集进行了测试。
| 指标 | 使用记忆 | 不使用记忆 |
|---|---|---|
| 命中率 | 60/60(100%) | 0/60(0%) |
| 归因错误 | 0 | — |
| P95 延迟 | 1958 ms | — |
证据:
工作原理
MCP Client (Claude Code / Cursor / Cline / Cherry Studio / OpenClaw / any agent)
│
│ MCP stdio
▼
┌─────────────────────────────┐
│ evermemos-mcp server │
│ ┌───────────────────────┐ │
│ │ 7 Tool Handlers │ │
│ └──────────┬────────────┘ │
│ ┌──────────▼────────────┐ │
│ │ Memory Service │ │ Content guard → Conflict check → Cloud write → Lifecycle tracking
│ └──────────┬────────────┘ │
│ ┌──────────▼────────────┐ │
│ │ Space Catalog Service │ │ Space registry, metadata sync, cross-session recovery
│ └──────────┬────────────┘ │
│ ┌──────────▼────────────┐ │
│ │ EverMemOS HTTP Client│ │ Auth, retries, rate-limit backoff, error normalization
│ └──────────┬────────────┘ │
└─────────────┼───────────────┘
│ HTTPS
▼
EverMemOS Cloud API
- 云端优先 — 所有记忆都存储在 EverMemOS Cloud 中,不必担心本地状态丢失。
- 异步提取 —
remember会将内容加入队列,等待 AI 提取。使用request_status跟踪进度。 - 不只是轻量封装 — 包含 2500 多行编排逻辑:回退层级、多方法搜索合并、身份镜像和部分故障恢复。
空间模板
| 模板 | 用途 |
|---|---|
chat:preferences | 持久的个人偏好、姓名、语气和 UI 喜好 |
chat:daily | 持续的聊天上下文,不会泄漏到项目中 |
coding:<repo> | 架构决策、约定、错误和项目上下文 |
study:<topic> | 学习笔记、主题进度和复习上下文 |
工具选择指南
| 目标 | 工具 | 原因 |
|---|---|---|
| 开始新会话 | briefing | 一次调用即可最快恢复上下文 |
| 查找特定事实 | recall | 在多个空间中按相关性排序搜索 |
| 回顾发生过的事情 | fetch_history | 审计时,按时间顺序排列的时间线优于排序搜索 |
| 删除前后进行核实 | fetch_history | 稳定的时间线便于删除前后检查 |
配置
| 变量 | 默认值 | 说明 |
|---|---|---|
EVERMEMOS_API_KEY | (必需) | EverMemOS Cloud API 密钥 |
EVERMEMOS_USER_ID | mcp-user | 默认用户身份 |
EVERMEMOS_DEFAULT_SPACE | (自动) | 默认空间。根据 git remote 自动检测为 coding:<repo> |
EVERMEMOS_BASE_URL | https://api.evermind.ai | API 端点 |
EVERMEMOS_DEFAULT_TIMEZONE | UTC | 元数据时区 |
EVERMEMOS_ENABLE_CONVERSATION_META | true | 同步对话元数据 |
高级配置
| 变量 | 默认值 | 说明 |
|---|---|---|
EVERMEMOS_API_VERSION | v1 | API 版本(v0 为旧版) |
EVERMEMOS_LLM_CUSTOM_SETTING_JSON | — | 自定义 LLM 提取设置 |
EVERMEMOS_USER_DETAILS_JSON | — | 对话使用的用户档案详情 |
| 场景 | flush |
|---|---|
| 对话进行中,后续还有消息 | false |
| 会话结束/切换主题/总结 | true |
| 不确定 | true(更安全) |
高级:记忆生命周期状态
| 状态 | 含义 |
|---|---|
queued | 已接受写入,尚未确认提取 |
provisional | 提取进行期间,从 pending_messages 中回答 |
fallback | 在正式记忆尚不可搜索时,从 pending_messages 和/或元数据回退项中回答;在 Cloud v1 上,只有有限的 Groups 元数据(名称/描述)会被持久镜像 |
searchable | 从正式提取的记忆中回答 |
所有 7 个工具都会公开兼容的 lifecycle 块,让 Agent 始终了解记忆的成熟度。
高级:安全遗忘
Cloud 删除是异步的,且尽力而为。evermemos-mcp 提供了一个优先验证的工作流:
- 通过
fetch_history或recall确认目标memory_id - 调用
forget(memory_ids=[...], space_id=...) - 使用
fetch_history验证 - 如果目标仍然存在,生命周期模型会如实呈现这一情况
这是有意为之:向 Agent 展示真实状态,而不是假装删除会立即完成。
开发
uv sync --group dev # Install dev dependencies
uv run ruff check # Lint
uv run pytest # Tests (285 pass)
文档
| 文档 | 描述 |
|---|---|
docs/02-architecture.md | 技术架构 |
docs/05-client-integrations.md | 客户端设置指南 |
docs/auto-memory-prompt.md | 自动记忆提示词模板 |
docs/06-benchmark.md | 基准测试协议 |
CHANGELOG.md | 版本历史 |
另请参阅
MCO — Agent 编排 CLI。让你的主 Agent(Claude Code、Cursor、Aider)并行向多个编码 Agent 分派任务。与 evermemos-mcp 搭配效果很好:MCO 负责并行执行,evermemos-mcp 负责持久化记忆。
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。