mcpField
M
MemoCat — Shared AI Memory

MemoCat — Shared AI Memory

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

关于 MemoCat — Shared AI Memory

MemoCat 是 Montycat MCP 的旧名称,可供 Claude、Codex、Cursor 等 MCP 客户端共享同一份持久记忆。服务可在本机自托管,支持语义检索、关键词检索及实时更新。

主要功能

  1. 01持久化的共享记忆
  2. 02语义、关键词及混合检索
  3. 03按 scope 划分记忆范围
  4. 04等待其他 Agent 写入的变更通知
  5. 05可在本地自托管,不依赖云端嵌入 API

适用场景

  1. 01在不同会话间保留项目决策与偏好
  2. 02多个 AI Agent 共享同一团队的上下文
  3. 03按标识符精确查找已保存的记忆

MCP 相关

该服务以 MCP 服务的形式运行,向客户端提供 montycat_remember、montycat_semantic_search 等记忆读写工具,以及 montycat_await_memory_change 等协作工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"montygovernance-memocat": {
"command": "uvx",
"args": [
"memocat-mcp"
],
"env": {
"MONTYCAT_URI": "<MONTYCAT_URI>",
"MONTYCAT_TLS": "<MONTYCAT_TLS>"
}
}
}
}
启动命令uvx memocat-mcp
需要配置的环境变量
MONTYCAT_URI密钥Optional Montycat engine URI: montycat://user:password@host:port/store
MONTYCAT_TLSSet to true when connecting to a TLS-enabled remote Montycat engine

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimemocat-mcp0.4.3
ocidocker.io/montygovernance/memocat-mcp:0.4.3

工具

23

收录的工具列表 · 更新于 2 周前

参数类型必填说明
limitinteger否
querystring否
scopeany否
sinceany否
untilany否
vectorany否
filtersany否
keyspaceany否
min_scoreany否

详细介绍

Montycat 标志

Montycat MCP - AI Agent 的共享记忆

一款可自托管的 MCP 服务,为 AI Agent 提供持久、可搜索的记忆。 Claude、Codex、Cursor 以及任何 Model Context Protocol 客户端都可以写入同一份 记忆,并读取彼此的记忆。

PyPI Python License

  • 记忆不会随聊天结束而消失。 决策、偏好和项目背景会延续到下一次会话。
  • 一份记忆,多个 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

评论

支持 Markdown

第一次接触 MCP?

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

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