关于 MemoCat — Shared AI Memory
MemoCat 是 Montycat MCP 的旧名称,可供 Claude、Codex、Cursor 等 MCP 客户端共享同一份持久记忆。服务可在本机自托管,支持语义检索、关键词检索及实时更新。
主要功能
- 01持久化的共享记忆
- 02语义、关键词及混合检索
- 03按 scope 划分记忆范围
- 04等待其他 Agent 写入的变更通知
- 05可在本地自托管,不依赖云端嵌入 API
适用场景
- 01在不同会话间保留项目决策与偏好
- 02多个 AI Agent 共享同一团队的上下文
- 03按标识符精确查找已保存的记忆
MCP 相关
该服务以 MCP 服务的形式运行,向客户端提供 montycat_remember、montycat_semantic_search 等记忆读写工具,以及 montycat_await_memory_change 等协作工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx memocat-mcpMONTYCAT_URI密钥Optional Montycat engine URI: montycat://user:password@host:port/storeMONTYCAT_TLSSet to true when connecting to a TLS-enabled remote Montycat engine本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
23收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | integer | 否 | |
| query | string | 否 | |
| scope | any | 否 | |
| since | any | 否 | |
| until | any | 否 | |
| vector | any | 否 | |
| filters | any | 否 | |
| keyspace | any | 否 | |
| min_score | any | 否 |
详细介绍
Montycat MCP - AI Agent 的共享记忆
一款可自托管的 MCP 服务,为 AI Agent 提供持久、可搜索的记忆。 Claude、Codex、Cursor 以及任何 Model Context Protocol 客户端都可以写入同一份 记忆,并读取彼此的记忆。
- 记忆不会随聊天结束而消失。 决策、偏好和项目背景会延续到下一次会话。
- 一份记忆,多个 Agent。 你使用的每个 MCP 客户端都基于相同的信息工作。
- 按含义、关键词或两者检索。 即使措辞不同,向量搜索也能找到记忆;BM25 擅长精确匹配标识符;混合模式则融合两者的优势。还支持精确键和元数据查找。
- 归你所有。 服务、引擎和嵌入都在你的机器上运行。没有托管记忆服务,也没有云端嵌入 API。
安装
Claude Desktop — 下载
montycat-mcp.mcpb
并将其拖到 Claude Desktop 中。无需安装 Python。该链接始终提供当前版本;每个版本
也包含一个以版本命名的副本和一个 .sha256 文件,可用于校验。
Claude Code — 安装 uv,然后:
/plugin marketplace add MontyGovernance/montycat-mcp
/plugin install montycat-mcp@montygovernance
使用 /mcp 确认 montycat 服务已连接。
Codex、Cursor 和其他 MCP 客户端 — 将客户端的 stdio 配置指向
uvx montycat-mcp(Python 3.10+)。Codex 配置示例:
codex mcp add montycat -- uvx montycat-mcp
引擎
记忆存储在 Montycat Semantic 引擎中。 Montycat MCP 会为你启动一个本地引擎,因此大多数人读到这里就可以了。
将其指向你已经运行的引擎:
export MONTYCAT_URI="montycat://memory-agent:password@localhost:21210/memories"
export MONTYCAT_TLS=true # remote engines only
或者使用 Docker 自行启动:
docker run -d --name montycat -p 21210:21210 -p 21211:21211 \
-e MONTYCAT_SUPEROWNER=admin -e MONTYCAT_PASSWORD=change-me \
-v montycat_data:/var/lib/.montycat \
montygovernance/montycat:semantic
在 Apple Silicon 上请改用 arm64-semantic 标签 — semantic 是 amd64
镜像,在模拟环境下会崩溃。端口 21211 用于实时记忆监视。
使用方法
像平常一样与 Agent 对话;它会自行选择工具。
记住,团队为计费服务选择了 PostgreSQL。
关于计费数据库,我们做了什么决定?
将此内容保存到共享的
engineering作用域。
scope 决定记忆的存放位置 — 私人内容用 alice,团队内容用 engineering,共同内容用
shared。它是一个命名空间,而非安全边界:如需真正隔离,请为每个 MCP 服务配置各自遵循最小权限原则的 Montycat 凭据。
工具
| 需求 | 工具 |
|---|---|
| 存储 | montycat_remember、montycat_remember_bulk、montycat_update、montycat_forget |
| 检索 | montycat_semantic_search、montycat_recall、montycat_list_memories |
| 检查架构 | montycat_list_enforced_schemas — 在结构化写入或筛选检索前,检查字段名称和数据类型 |
| 协作 | montycat_await_memory_change — 等待另一个 Agent 写入,无需轮询 |
| 命名空间 | montycat_list_keyspaces、montycat_create_keyspace、montycat_update_cache、montycat_remove_keyspace |
| 管理 | 语义索引、快照和策略工具 — 参阅插件指南 |
对于持久化命名空间,cache 表示以 MB 为单位的容量,compression 则由
montycat_create_keyspace 选择。创建 keyspace 后无法更改压缩设置;如需使用不同设置,请迁移到新的 keyspace。
之后可以使用 montycat_update_cache 更改缓存容量。
破坏性工具已明确标记,因此客户端的确认提示仍会生效。
配置
| 变量 | 用途 |
|---|---|
MONTYCAT_URI | 连接字符串:montycat://user:password@host:port/store |
MONTYCAT_TLS | 远程 TLS 引擎设为 true |
MONTYCAT_TLS_VERIFY | 可选:设为 true,使用平台信任存储进行验证 |
MONTYCAT_TLS_CERTIFICATE_PATH | 可选的 PEM 证书路径,用于精确证书固定 |
MONTYCAT_TLS_CERTIFICATE_FINGERPRINT | 可选的 SHA-256 证书指纹,作为另一种固定方式 |
这三项验证设置均为可选。仅设置 MONTYCAT_TLS=true 时,MCP 保留了以往的加密但不验证行为;未设置 TLS 或将其设为 false 时,现有明文配置保持不变。
| MONTYCAT_DEFAULT_KEYSPACE | 记忆命名空间;默认为 memory |
| MONTYCAT_SCOPE | 调用未指定范围时使用的默认范围 |
| MONTYCAT_AUTO_PROVISION | 首次使用时创建允许的范围;默认为 true |
| MONTYCAT_AUTOSTART | 设为 off 时,要求引擎已在运行 |
Compose 配置和完整变量列表:参见 compose.yaml 和插件指南。
更多信息
更新日志 · 隐私 · 问题 · 文档 · Docker Hub
现有的 MemoCat 安装仍可继续使用:memocat-mcp、MEMOCAT_* 和
memocat:// 仍受支持。新的配置应使用 Montycat 名称。
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。