VOOZH about

URL: https://glama.ai/mcp/servers/roboticforce/remembrallmcp?locale=zh-CN

⇱ remembrallmcp by roboticforce | Glama


RemembrallMCP

👁 License: MIT
👁 Crates.io
👁 CI
👁 Docker

为 AI 智能体提供持久化知识记忆和代码智能。基于 Rust 核心,使用 Postgres + pgvector,支持 MCP 协议。

问题所在: AI 编码智能体是无状态的。每次会话都从零开始——没有对过去决策的记忆,不了解代码库的结构,也不知道修改代码会引发什么后果。

解决方案: RemembrallMCP 为智能体提供了大多数记忆工具所不具备的两项核心能力:

1. 持久化记忆 - 在会话之间保留决策、模式和组织知识。通过语义 + 全文混合搜索,即时找到相关上下文。

2. 代码依赖图 - 使用 tree-sitter 构建的实时代码库映射。涵盖 8 种语言的函数、类、导入和调用关系。询问“如果我修改这个,会破坏什么?”并在毫秒内得到答案——在智能体进行任何操作之前。

remembrall_recall("authentication middleware patterns")
-> 3 relevant memories from past sessions

remembrall_index("/path/to/project", "myapp")
-> Builds dependency graph: 847 symbols, 1,203 relationships

remembrall_impact("AuthMiddleware", direction="upstream")
-> 12 files depend on AuthMiddleware (with confidence scores)

remembrall_store("Switched from JWT to session tokens because...")
-> Decision stored for future sessions

为什么代码图谱很重要

如果没有 RemembrallMCP,智能体每次会话都要从头开始探索你的代码库。Claude Code 会生成 Explore 智能体,Codex 会读取数十个文件,Cursor 会在目录中进行 grep 搜索——所有这些都在消耗 Token 和时间,仅仅是为了弄清楚谁调用了谁。一个简单的“查找该函数的所有调用者”任务,在多次工具调用中可能会消耗数千个 Token。

有了 RemembrallMCP,同样的查询只需一次 remembrall_impact 调用,在 1 毫秒内即可返回,且零探索 Token 消耗。依赖图已经构建好并随时待命。

没有 RemembrallMCP

使用 RemembrallMCP

“谁调用了 UserService?”

智能体 grep 搜索,读取 8-15 个文件,生成子智能体

remembrall_impact - 1 次调用,<1ms

“auth 中间件在哪里定义?”

智能体 glob 匹配,读取匹配项,过滤

remembrall_lookup_symbol - 1 次调用,<1ms

“我们关于缓存做了什么决定?”

智能体没有上下文,询问你

remembrall_recall - 1 次调用,~25ms

典型的探索成本

每个问题 5,000-20,000 Token

~200 Token(工具调用 + 响应)

节省的成本随代码库规模扩大而增加。在小型项目中,智能体可以通过 grep 和阅读来完成任务。但在 500 个文件的单体仓库中,这种探索会成为瓶颈——智能体会触及上下文限制、生成多个子智能体,或者完全遗漏跨模块的依赖关系。RemembrallMCP 的图查询无论项目规模大小,都能保持在 10 毫秒以内,因为结构已预先索引在 Postgres 中,而不是在运行时发现。

这就是“每次都探索代码库的智能体”与“已经理解代码库的智能体”之间的区别。

基准测试

RemembrallMCP 目前在两个维度上进行了基准测试:

  • 代码任务中的智能体生产力 - 在 pallets/click v8.1.7(594 个符号,1,589 个关系)上进行测试。在有和没有 RemembrallMCP 的情况下运行五个相同的编码任务。完整报告

  • 记忆召回质量 - 针对 31 个真实查询运行本地召回测试,涵盖搜索质量、过滤、边缘情况、排序和延迟。

指标

没有 RemembrallMCP

使用 RemembrallMCP

差异

总工具调用次数(5 个任务)

112

5

-95.5%

预估 Token

~56,000

~1,000

-98.2%

每个问题的平均工具调用次数

22.4

1.0

-95.5%

在更大的代码库中,节省效果会叠加。Click 项目约有 90 个文件——在 500+ 文件的单体仓库中,没有 RemembrallMCP 的智能体需要成比例地增加探索调用,而图查询无论规模大小都保持在 10 毫秒以内。

记忆召回指标

结果

通过的查询

31 / 31

Recall@5

0.917

Precision@5

0.619

MRR

0.908

p95 延迟

14ms

亲自运行基准测试:查看 benchmarks/ 获取测试工具和任务定义。

关于记忆检索、长程记忆、代码图正确性和智能体生产力的更广泛基准策略,请参阅 docs/benchmark-roadmap.md

要求

  • Docker(最简单的设置方式)或带有 pgvector 的 PostgreSQL 16

  • GitHub 导入:安装并认证 GitHub CLI (gh)

Related MCP server: smriti

快速开始

选项 1:Docker Compose(最简单)

git clone https://github.com/cdnsteve/remembrallmcp.git
cd remembrallmcp

# Start Postgres + initialize schema + download embedding model
docker compose up -d

# Verify it's running
docker compose exec remembrall remembrall status

就是这样。带有 pgvector 的 Postgres、模式和嵌入模型都会自动设置。数据库和模型缓存会在重启后持久保存。

运行 MCP 服务器:

docker compose run --rm remembrall

选项 2:下载预构建二进制文件

# macOS (Apple Silicon)
curl -fsSL https://github.com/cdnsteve/remembrallmcp/releases/latest/download/remembrall-aarch64-apple-darwin.tar.gz | tar xz
sudo mv remembrall /usr/local/bin/

# Linux (x86_64)
curl -fsSL https://github.com/cdnsteve/remembrallmcp/releases/latest/download/remembrall-x86_64-unknown-linux-gnu.tar.gz | tar xz
sudo mv remembrall /usr/local/bin/

# Initialize (sets up Postgres via Docker, creates schema, downloads model)
remembrall init

选项 3:从源码构建(需要 Rust 1.94+)

cargo build -p remembrall-server --release
# Binary is at target/release/remembrall

remembrall init

连接到你的 MCP 客户端

Codex

Codex 使用相同的 MCP 服务器定义格式。将服务器注册为 remembrall 并指向已安装的二进制文件或本地发布版本。

如果 remembrall 已安装在 PATH 中:

{
 "mcpServers": {
 "remembrall": {
 "command": "remembrall"
 }
 }
}

如果从本地源码检出运行:

{
 "mcpServers": {
 "remembrall": {
 "command": "/path/to/remembrallmcp/target/release/remembrall",
 "env": {
 "DATABASE_URL": "postgres://postgres:postgres@localhost:5450/remembrall"
 }
 }
 }
}

如果从 Codex 使用 Docker Compose:

{
 "mcpServers": {
 "remembrall": {
 "command": "docker",
 "args": ["compose", "-f", "/path/to/remembrallmcp/docker-compose.yml", "run", "--rm", "-T", "remembrall"]
 }
 }
}

添加服务器后重启 Codex,以便它重新连接并加载工具。

Claude Code, Cursor 和其他 MCP 客户端

添加到项目的 .mcp.json 中(适用于 Claude Code、Cursor 和任何兼容 MCP 的客户端)。

如果使用预构建二进制文件或从源码构建:

{
 "mcpServers": {
 "remembrall": {
 "command": "remembrall"
 }
 }
}

如果使用 Docker Compose:

{
 "mcpServers": {
 "remembrall": {
 "command": "docker",
 "args": ["compose", "-f", "/path/to/remembrallmcp/docker-compose.yml", "run", "--rm", "-T", "remembrall"]
 }
 }
}

如果从源码运行(未安装到 PATH):

{
 "mcpServers": {
 "remembrall": {
 "command": "/path/to/remembrallmcp/target/release/remembrall",
 "env": {
 "DATABASE_URL": "postgres://postgres:postgres@localhost:5450/remembrall"
 }
 }
 }
}

重启你的 MCP 客户端。所有 9 个工具将自动可用。

尝试一下

> "Store a memory: We chose Postgres over MongoDB because our query patterns
 are relational. Type: decision, tags: database, architecture"

> "Recall what we know about database decisions"

> "Index this project and show me the impact of changing UserService"

MCP 工具

记忆

工具

描述

remembrall_recall

搜索记忆 - 使用 RRF 融合的语义 + 全文混合搜索

remembrall_store

使用向量嵌入存储决策、模式和知识

remembrall_update

更新现有记忆(内容、摘要、标签或重要性)

remembrall_delete

通过 UUID 删除记忆

remembrall_ingest_github

从 GitHub 仓库批量导入已合并的 PR 描述

remembrall_ingest_docs

扫描目录中的 Markdown 文件并将其作为记忆导入

代码智能

工具

描述

remembrall_index

将项目目录解析为依赖图(8 种语言)

remembrall_impact

爆炸半径分析 - “如果我修改这个,会破坏什么?”

remembrall_lookup_symbol

在整个项目中查找函数或类的定义位置

支持的语言

语言

扩展名

质量评分

Python

.py

A (94.1)

Java

.java

A (92.6)

JavaScript

.js, .jsx

A (92.0)

Rust

.rs

A (91.0)

Go

.go

A (90.7)

Ruby

.rb

B (87.9)

TypeScript

.ts, .tsx

B (84.3)

Kotlin

.kt, .kts

B (82.9)

评分基于真实开源项目(Click, Gson, Axios, bat, Cobra, Sidekiq, Hono, Exposed)使用自动化基准测试得出。

冷启动

新的 RemembrallMCP 实例没有任何知识。使用导入工具从现有的项目历史中引导数据。

从 GitHub PR 历史:

> remembrall_ingest_github repo="myorg/myrepo" limit=100

通过 gh 获取已合并的 PR,将标题和正文摘要为记忆,并按项目标记。正文少于 50 个字符的 PR 将被跳过。通过内容指纹去重,防止重复运行时重复导入。

从 Markdown 文档:

> remembrall_ingest_docs path="/path/to/project"

遍历目录树,查找所有 .md 文件,按 H2 章节标题拆分,并将每个章节存储为可搜索的记忆。跳过 node_modules.gittarget 等目录。适用于 README、ARCHITECTURE、ADR 和任何书面文档。

每个项目运行一次即可。导入后,remembrall_recall 将立即拥有上下文。

架构

Source Code Organizational Knowledge
 | |
 v v
Tree-sitter Parsers Ingestion Pipeline
(8 languages) (GitHub PRs, Markdown docs)
 | |
 v v
+--------------------------------------------------+
| Postgres + pgvector |
| |
| memories (text + embeddings + metadata) |
| symbols (functions, classes, methods) |
| relationships (calls, imports, inherits) |
+--------------------------------------------------+
 |
 MCP Server (stdio)
 |
 Any MCP-compatible AI agent
  • 解析: tree-sitter(Rust 绑定,流水线中无 Python)

  • 嵌入: fastembed(all-MiniLM-L6-v2, 384 维, 进程内 ONNX Runtime)

  • 搜索: 混合 RRF(语义余弦相似度 + 全文 tsvector)

  • 图查询: 带有循环检测和置信度衰减的递归 CTE

  • 传输: 通过 rmcp 的 stdio

CLI 命令

命令

描述

remembrall init

设置数据库、模式和嵌入模型

remembrall serve

运行 MCP 服务器(未指定子命令时的默认值)

remembrall start

启动 Docker 数据库容器

remembrall stop

停止 Docker 数据库容器

remembrall status

显示记忆数量、符号数量、连接状态

remembrall doctor

检查常见问题(Docker, pgvector, 模式, 模型)

remembrall reset --force

删除并重新创建模式(删除所有数据)

remembrall version

打印版本和配置路径

配置

配置文件:~/.remembrall/config.toml(由 remembrall init 创建)

环境变量会覆盖配置文件中的值:

变量

描述

REMEMBRALL_DATABASE_URLDATABASE_URL

PostgreSQL 连接字符串

REMEMBRALL_SCHEMA

数据库模式名称(默认:remembrall

项目结构

crates/
 remembrall-core/ # Library - parsers, memory store, graph store, embedder
 remembrall-server/ # MCP server + CLI binary
 remembrall-test-harness/ # Parser quality testing against ground truth
 remembrall-recall-test/ # Search quality testing
docs/ # Architecture and test plan docs
test-fixtures/ # Ground truth TOML files for 8 languages
tests/ # Recall test fixtures

性能

操作

时间

记忆存储

7ms

语义搜索 (HNSW)

<1ms

全文搜索

<1ms

混合召回 (端到端)

~25ms

影响分析

4-9ms

符号查找

<1ms

索引 89 个 Python 文件

2.3s

许可证

MIT

A
license - permissive license
-
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
6dRelease cycle
6Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/roboticforce/remembrallmcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server