mcpField
C
collective-memory

collective-memory

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

关于 collective-memory

Collective Memory 是用于跨 AI 会话保存和检索信息的 MCP 服务,面向需要延续项目上下文的用户。它以语义搜索、项目分类和近似重复项去重组织记忆,并将数据存储在本地嵌入式数据库中。

主要功能

  1. 01按语义搜索记忆
  2. 02自动跳过近似重复内容
  3. 03按项目整理记忆
  4. 04按类型分类记忆
  5. 05使用本地嵌入式向量数据库

适用场景

  1. 01在新会话中找回项目决策
  2. 02跨会话保存经验与上下文
  3. 03按项目或类型检索记录

MCP 相关

Collective Memory 通过 MCP 提供 remember 和 recall 工具,用于保存记忆并按语义检索。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"hustada-collective-memory": {
"command": "npx",
"args": [
"-y",
"collective-memory"
],
"env": {
"OPENAI_API_KEY": "<OPENAI_API_KEY>"
}
}
}
}
启动命令npx -y collective-memory
需要配置的环境变量
OPENAI_API_KEY密钥OpenAI API key for generating embeddings

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

安装包
npmcollective-memory0.1.2

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Collective Memory

用于在 AI 会话间持久保存语义记忆的 MCP 服务。存储上下文、决策和经验总结,之后可通过自然语言搜索找回。

为什么需要

AI 助手会忘记不同会话之间的所有内容。Collective Memory 可以解决这个问题。存储重要信息,按含义搜索,构建不断积累的上下文。

功能

  • 语义搜索 — 按含义而非关键词查找记忆(OpenAI 嵌入 + LanceDB)
  • 自动去重 — 不会存储近似重复项(相似度 >95%)
  • 项目范围 — 按项目整理记忆
  • 类型分类 — 分类为 decision、milestone、context、learning 或 session_summary
  • 零配置存储 — 嵌入式向量数据库,无需服务器

安装

npm install -g collective-memory

或者克隆并构建:

git clone https://github.com/Hustada/collective-memory.git
cd collective-memory
npm install
npm run build

设置

1. 获取 OpenAI API 密钥

嵌入功能需要此密钥。请前往 platform.openai.com 获取。

2. 添加到 Claude Code

在 ~/.claude/settings.json 的 mcpServers 下添加:

{
  "mcpServers": {
    "collective-memory": {
      "type": "stdio",
      "command": "npx",
      "args": ["collective-memory"],
      "env": {
        "OPENAI_API_KEY": "sk-..."
      }
    }
  }
}

或者,如果从源代码安装:

{
  "mcpServers": {
    "collective-memory": {
      "type": "stdio",
      "command": "node",
      "args": ["/path/to/collective-memory/dist/index.js"],
      "env": {
        "OPENAI_API_KEY": "sk-..."
      }
    }
  }
}
3. 在 CLAUDE.md 中添加使用说明

在全局 ~/.claude/CLAUDE.md 中添加:

## Memory

Collective Memory is active. Two tools:

- `remember(content, project?, type?, tags?)` — Persist important context
- `recall(query, project?, type?, limit?)` — Search memory

**On session start**: Run `recall("recent decisions and context")` to load relevant memory.

When to remember: after decisions, milestones, completed work, learned patterns.
When to recall: session start, context switches, referencing past work.

Types: decision, milestone, context, learning, session_summary.

工具

remember

存储带语义嵌入的记忆。

参数类型必需描述
content字符串是要存储的记忆——内容应具体且自成一体
project字符串否项目上下文(例如,“myapp”、“client-x”)
type字符串否可选值:decision、milestone、context、learning、session_summary
tags字符串[]否用于分类的标签

返回已存储记忆的 ID;如果检测到重复,则返回现有 ID。

recall

按语义相似度搜索记忆。

参数类型必需描述
query字符串是自然语言搜索查询
project字符串否筛选指定项目
type字符串否按特定记忆类型筛选
limit数字否最大结果数(默认值:10)

返回包含相似度分数的匹配记忆数组。

CLI

也可通过命令行使用:

# Store a memory
collective-memory remember --content "Decided to use PostgreSQL for the auth service"

# Search memories
collective-memory recall --query "database decisions" --limit 5

# Pipe content from stdin
echo "Long content here" | collective-memory remember --content-stdin --project myapp

配置

环境变量默认值描述
OPENAI_API_KEY(必需)用于嵌入的 OpenAI API 密钥
COLLECTIVE_MEMORY_PATH~/.collective-memory/data存储位置

工作原理

  1. 存储:使用 OpenAI 的 text-embedding-3-small 将内容转换为嵌入(768 维)
  2. 去重:存储前,检查是否存在相似度 >95% 的记忆
  3. 索引:存储在 LanceDB 嵌入式向量数据库中
  4. 搜索:将查询转换为嵌入,并通过余弦相似度进行匹配

数据

记忆存储在本地 ~/.collective-memory/data(或 COLLECTIVE_MEMORY_PATH)中。这是一个 LanceDB 数据库,可移植且无需服务器进程。

导出记忆:

npm run export  # Outputs to viz/memories.json

可视化:

npm run dash    # Opens UMAP visualization at localhost:3333

许可证

MIT

致谢

由 The Victor Collective 构建。

评论

支持 Markdown

第一次接触 MCP?

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

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