Token导航 LogoToken导航TokenDH.com
recollect (Jkraemer) logo
AI代理stdio官方级别未说明来源级核验

recollect (Jkraemer)

MCP Server

Recollect是一个基于Ruby的MCP服务器,用于在Claude Code会话间持久化管理记忆,支持SQLite数据库存储和FTS5全文搜索。

工具数

5

提示词数

0

GitHub Stars

0

资源数

0
Ruby记忆管理PythonClaude全文搜索Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

jkraemer

提供方

jkraemer

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python3 -m venv .venv

详细介绍

回忆

基于Ruby的MCP(模型上下文协议)持久内存服务器 管理Claude Code会话。

概述

Recollect将决策、模式、错误和学习存储在SQLite数据库中 使用FTS5全文搜索。它通过HTTP上的MCP协议公开存储器, 使AI编码助手能够跨会话维护上下文。

特性

  • MCP协议支持:用于存储和检索内存的标准MCP工具
  • 混合搜索:将BM25全文搜索与矢量语义搜索相结合,使用 互易秩融合(RRF) 为了获得卓越的相关性
  • 智能Markdown分块:自动将大型文档拆分为语义块(约700个单词),并重叠以进行精确的向量匹配
  • 父子检索:透明地将块级搜索匹配解析回完整的原始文档
  • 近期排名:可选的时间衰减评分,以选择更新的记忆
  • LLM供电(可选):使用Anthropic-Claude模型进行查询扩展和重新排名
  • 项目隔离:每个项目单独的数据库,加上一个全局数据库
  • REST API:Web UI和CLI的HTTP端点
  • 网络界面:在浏览器中浏览和搜索回忆
  • CLI工具:用于快速记忆操作的命令行界面

需求

  • Ruby>=3.4.0
  • SQLite3

可选:矢量搜索

对于语义向量搜索(混合FTS5+向量相似度):

  • Python>=3.8
  • sqlite-vec扩展(例如。, pacman -S sqlite-vec 在Arch Linux上)

可选:LLM集成(扩展和重新排名)

Recollect可以使用远程LLM(如Anthropic的Claude 3 Haiku)通过以下方式提高搜索质量:

  • 查询扩展:生成替代搜索词以查找概念上相关的记忆
  • 语义重新排序:根据与查询的实际语义相关性对顶部结果进行重新排序

这在运行大型本地嵌入模型不可行的超薄硬件上特别强大。

export RECOLLECT_LLM_PROVIDER=anthropic
export ANTHROPIC_API_KEY=your_key_here
export RECOLLECT_ANTHROPIC_MODEL=claude-3-haiku-20240307

安装

git clone 
cd ruby-mcp-memory
bundle install

可选:设置矢量搜索

要启用语义向量搜索,请创建一个Python虚拟环境并安装依赖项:

python3 -m venv .venv
.venv/bin/pip install -r requirements.txt

然后在启动服务器时设置环境变量:

RECOLLECT_ENABLE_VECTORS=true ./bin/server

可选:启用最近度排名

最近度排名将时间衰减评分应用于搜索结果,更喜欢更新的记忆 与具有类似相关性的旧版本相比。当最近的上下文更多时,这很有用 比历史信息更有价值。

RECOLLECT_RECENCY_AGING_FACTOR=0.5 RECOLLECT_RECENCY_HALF_LIFE_DAYS=30 ./bin/server
  • 老化因子 (0.0-1.0):新旧程度对排名有多大影响。0=禁用,1=完全生效。
  • 半衰期:记忆最近度分数衰减到50%之前的几天。

随着 aging_factor=0.5half_life_days=30,一个30天的记忆可以保留75%的 相关性得分,而全新的记忆保持100%。

用法

启动服务器

./bin/server

服务器运行在 http://localhost:7326 默认情况下。

配置Claude代码

添加到您的Claude Code MCP配置中:

{
  "mcpServers": {
    "recollect": {
      "type": "http",
      "url": "http://localhost:7326/mcp"
    }
  }
}

项目命名

Recollect为每个项目存储记忆。为了确保会话之间的命名一致, 在项目的CLAUDE.md中添加指令:

在存储或回忆记忆时,请将此项目称为“myproject”

如果没有这个,不同的会话可能会使用不一致的名称(目录基名, 其在单独的数据库中分割存储器。

克劳德代码技能

为了有效使用内存,请安装 using-long-term-memory 你的技能 ~/.claude/skills/ 目录。该技能强化了两个核心原则:

  1. 询问前先搜索 -当遇到问题或不熟悉的情况时,

在询问用户或调查代码库之前搜索内存

  1. 继续前进前先储存 -当做出决定、吸取教训或发现错误时

解决后,立即用适当的标签存储

docs/克劳德/技能/使用长期记忆/SKILL.md 为了获得全部技能。

CLI命令

# Check server status
./bin/recollect status

# Store a memory
./bin/recollect store "We decided to use Puma for threading" -p myproject -t decision

# Search memories
./bin/recollect search "threading"

# List recent memories
./bin/recollect list -p myproject

# List all projects
./bin/recollect projects

Web用户界面

打开 http://localhost:7326 在浏览器中浏览和搜索回忆。

MCP工具

工具说明
store_memory存储包含内容、类型、标签和项目的内存
search_memory在记忆中进行全文搜索
get_context获取项目的全面背景
list_projects列出所有存储了内存的项目
delete_memory按ID删除特定内存

内存类型

  • note (默认)-一般信息、事实、上下文
  • todo -行动项目、任务、提醒
  • session -会议总结和交接说明

对于语义分类(决策、模式、错误、学习),使用 标签 而不是存储器类型。这提供了更灵活的过滤,并允许记忆有多个类别。

MCP提示

提示是可重复使用的模板,指导人工智能助手完成常见的工作流程。

提示描述
session_log创建结构化会话摘要并将其存储以供将来检索
resume_session使用上次会话日志和最近的记忆恢复工作

会话工作流

在会话结束时,使用 session_log 捕捉所做的工作、所做的决定, 解决的问题和下一步行动。这创建了一个“会话”内存类型。

启动新会话时,请使用 resume_session 检索最后一个会话日志,以及 最近的记忆,为继续你离开的地方提供背景。

resume_session详细信息

resume_session prompt接受可选 project 论点:

  • 随着项目:检索最后一个会话日志和10个最近的记忆(笔记/待办事项)

对于该项目,然后要求人工智能总结并提出下一步行动

  • 无项目:为人工智能从上下文中确定项目提供指导

(工作目录、对话或致电 get_context 无参数)

这使得你很容易从中断的地方继续,即使你不记得确切的位置 项目名称或您正在进行的工作。

配置

环境变量默认值描述
RECOLLECT_DATA_DIR~/.recollect数据存储目录
RECOLLECT_HOST127.0.0.1服务器绑定地址
RECOLLECT_PORT7326服务器端口
RECOLLECT_URLhttp://localhost:7326CLI基本URL
RECOLLECT_ENABLE_VECTORSfalse启用矢量搜索
RECOLLECT_MAX_VECTOR_DISTANCE1.0矢量结果的最大余弦距离(0-2)
RECOLLECT_LOG_WIREDUMPSfalse启用调试日志记录
RECOLLECT_RECENCY_AGING_FACTOR0.0近期排名强度(0.0-1.0,0=禁用)
RECOLLECT_RECENCY_HALF_LIFE_DAYS30.0记忆相关性衰减到50%的天数
RECOLLECT_LLM_PROVIDERnoneLLM提供者(none, anthropic)
ANTHROPIC_API_KEYAnthropic提供程序的API密钥
RECOLLECT_ANTHROPIC_MODELclaude-3-haiku-20240307用于Anthropic的模型
WEB_CONCURRENCY1彪马工人流程
PUMA_MAX_THREADS5每个工人的线程数

作为系统服务运行

docs/systemd/README.md 有关将Recollect作为用户systemd服务运行的安装说明。

发展

# Run tests
bundle exec rake test

# Run single test file
bundle exec ruby -Itest test/recollect/database_test.rb

# Lint
bundle exec rubocop

建筑

┌─────────────────────────────────────────────────────────┐
│                   Sinatra/Puma Server                   │
├─────────────────────────────────────────────────────────┤
│  POST /mcp         → MCP protocol endpoint              │
│  GET/POST /api/*   → REST API                           │
│  GET /             → Web UI                             │
└─────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────┐
│              SQLite + FTS5 (per-project)                │
├─────────────────────────────────────────────────────────┤
│  ~/.recollect/global.db        → Cross-project memories │
│  ~/.recollect/projects/*.db    → Project-specific       │
└─────────────────────────────────────────────────────────┘

许可证

GPL-3.0或更高版本

目录标签

目录标签

Ruby记忆管理PythonClaude全文搜索本地部署MCP协议向量搜索AI辅助编程

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP