Token导航 LogoToken导航

MCP Server · 搜索检索

Hms Claude Mem

一个基于Redis 8向量集的持久化语义记忆系统,为Claude Code提供跨会话存储、搜索和检索上下文的能力,避免上下文窗口膨胀问题。

stdio官方级别未说明来源级核验工具 5
C++记忆存储DockerClaude上下文管理

快速开始

作者 / 组织
hms-homelab
提供方
hms-homelab
运行时
Docker

工具数量

5

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

1 个

MCP World

选型结论

Hms Claude Mem 属于搜索检索类 MCP Server,公开资料标注 5 个工具,通过stdio 本地进程接入,适配 Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

搜索检索

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

docker run --rm \

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Docker,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 5 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

嗯,克劳德·梅

通过Redis 8向量集为Claude Code提供持久语义记忆。一个C++MCP服务器,使Claude能够跨会话存储、搜索和检索上下文——按需操作,而不会使上下文窗口膨胀。

问题

LLM的上下文窗口有限。随着对话的增加,早期的上下文会被压缩并丢失。基于文件的内存(如 MEMORY.md)提前加载所有内容,将上下文浪费在现在不相关的事情上。

解决方案

Claude自己管理的Redis支持的语义内存系统:

  1. 商店 发现它时重要的是什么(构建命令、调试解决方案、用户首选项)
  2. 搜索 当它以后需要上下文时(“我如何部署到Pi?”即使那些确切的单词从未存储过,也能找到正确的内存)
  3. 检索 在小批量手术中,只关注相关内容
Claude Code    hms_claude_mem (C++ binary)
                                        │
                                        ├── Redis 8 (vectorset module)
                                        │    ├── VADD/VSIM  → semantic vector search
                                        │    └── HSET/HGET  → key-value storage
                                        │
                                        └── Embedding Provider (Ollama, OpenAI, vLLM, etc.)
                                             └── nomic-embed-text / text-embedding-3-small / etc.

运作原理

每个内存都存储在 两地:

  • 矢量集 (claude:mem:vectors)--密钥通过nomic嵌入文本嵌入为768维矢量。启用语义相似性搜索 VSIM.
  • 哈希 (claude:mem:data:{key})--实际值、类别和时间戳。通过以下方式实现精确检索 HGETALL.

什么得到 嵌入 是 "{category}: {key}",而不是价值。键应该是描述性的句子,这样嵌入就可以捕捉到语义含义:

key:      "hms-cpap deploy process to raspberry pi"
category: "project:hms-cpap"
value:    "Use ./deploy_to_pi.sh for ARM build + deploy ..."

搜索“我如何将代码推送到Pi”将通过余弦相似性找到这个内存,即使单词不匹配。

MCP工具

工具说明
mem_store存储键+值+类别。嵌入密钥并为其建立索引。
mem_search语义搜索。返回具有相似性得分的前k个匹配。
mem_get精确的密钥查找。返回值、类别、时间戳。
mem_delete从向量集和哈希中删除。
mem_list列出所有键,可选择按类别筛选。

先决条件

  • Redis 8+ 带vectorset模块(Redis 8.0内置)
  • 任何嵌入提供者:Ollama、OpenAI、vLLM、LiteLLM、LocalAI或任何与OpenAI兼容的软件
  • C++17 编译器
  • libhiredis开发, libcurl4-openssl-dev, nlohmann-json3-dev
# Install dependencies (Debian/Ubuntu)
sudo apt install -y libhiredis-dev libcurl4-openssl-dev nlohmann-json3-dev

# Option A: Ollama (local, free)
ollama pull nomic-embed-text

# Option B: OpenAI-compatible (any provider)
export EMBED_PROVIDER=openai
export EMBED_HOST=https://api.openai.com
export EMBED_MODEL=text-embedding-3-small
export EMBED_API_KEY=sk-...

下载

预构建的二进制文件附加到每个 :

每个档案都捆绑了二进制文件, README.md, LICENSE,以及 VERSIONWindows zip还将运行时DLL(hiredis、libcurl、zlib、openssl)放在 .exe.如果你的发行版是Docker,那么你更喜欢Docker镜像或从源代码构建 hiredis / libcurl ABI与跑步者不同。

构建

mkdir build && cd build
cmake ..
make -j$(nproc)

测试

14个集成测试(需要Redis+嵌入提供程序运行):

cd build
./run_tests

配置

具有合理默认值的环境变量:

变量默认值描述
REDIS_HOST127.0.0.1Redis服务器地址
REDIS_PORT6379Redis服务器端口
NAMESPACEdefault内存命名空间(按项目/用户隔离)
EMBED_PROVIDERollama嵌入提供程序: ollama 或 openai
EMBED_HOSThttp://localhost:11434嵌入API终结点(回退到 OLLAMA_HOST)
EMBED_MODELnomic-embed-text嵌入模型名称
EMBED_API_KEY*(空)*经过身份验证的提供者的承载令牌
DECAY_RATE0.01每天最近衰减(0.01=1%/天,0=禁用)

使用克劳德代码注册

项目范围(推荐起点)

添加 .mcp.json 在您的项目根目录中。记忆与这个项目是孤立的:

奥利玛(当地,免费):

{
  "mcpServers": {
    "claude-mem": {
      "command": "/path/to/build/hms_claude_mem",
      "args": [],
      "env": {
        "REDIS_HOST": "127.0.0.1",
        "REDIS_PORT": "6379",
        "EMBED_PROVIDER": "ollama",
        "EMBED_HOST": "http://localhost:11434",
        "EMBED_MODEL": "nomic-embed-text",
        "EMBED_API_KEY": "",
        "NAMESPACE": "my-project",
        "DECAY_RATE": "0.01"
      }
    }
  }
}

OpenAI/OpenAI兼容(vLLM、LiteLLM、LocalAI等):

{
  "mcpServers": {
    "claude-mem": {
      "command": "/path/to/build/hms_claude_mem",
      "args": [],
      "env": {
        "REDIS_HOST": "127.0.0.1",
        "REDIS_PORT": "6379",
        "EMBED_PROVIDER": "openai",
        "EMBED_HOST": "https://api.openai.com",
        "EMBED_MODEL": "text-embedding-3-small",
        "EMBED_API_KEY": "sk-...",
        "NAMESPACE": "my-project",
        "DECAY_RATE": "0.01"
      }
    }
  }
}

全球(所有会议、所有项目)

添加 ~/.claude/settings.json 所以克劳德在每个项目中都记得:

{
  "mcpServers": {
    "claude-mem": {
      "command": "/path/to/build/hms_claude_mem",
      "args": [],
      "env": {
        "REDIS_HOST": "127.0.0.1",
        "REDIS_PORT": "6379",
        "EMBED_PROVIDER": "ollama",
        "EMBED_HOST": "http://localhost:11434",
        "EMBED_MODEL": "nomic-embed-text",
        "NAMESPACE": "global",
        "DECAY_RATE": "0.01"
      }
    }
  }
}

Docker作为MCP服务器

如果你构建或拉取了Docker镜像,请指向Claude Code:

{
  "mcpServers": {
    "claude-mem": {
      "command": "docker",
      "args": ["run", "--rm", "-i",
        "-e", "REDIS_HOST=host.docker.internal",
        "-e", "EMBED_HOST=http://host.docker.internal:11434",
        "-e", "NAMESPACE=my-project",
        "ghcr.io/hms-homelab/hms-claude-mem:latest"
      ]
    }
  }
}

备注

  • 命名空间隔离: 不同 NAMESPACE 值创建完全独立的内存池。一个项目 .mcp.json 覆盖 ~/.claude/settings.json 当两者都存在时。
  • 最小配置: 仅 NAMESPACE 和 EMBED_HOST 通常是需要的——其他所有东西都有合理的默认值。
  • 需要重新启动: 更改MCP配置后,必须重新启动Claude Code。
  • 远程Redis: 集 REDIS_HOST 连接到Redis服务器IP,以便跨机器共享内存。

教克劳德使用这个MCP

第一次将claude mem连接到新项目时,将下面的块粘贴到您的claude Code会话中。Claude会将这些使用约定存储为内存,这样以后的每个会话都会通过以下方式检索它们 mem_search 而不是你必须重新解释。

You now have the `claude-mem` MCP available (tools: `mem_store`, `mem_search`, `mem_get`, `mem_delete`, `mem_list`). Please store the following usage conventions as memories so future sessions can retrieve them.

Store each of these with `mem_store`:

1. key: "how and when to use mem_store"
   category: "meta:claude-mem"
   value: "Store a memory when you learn: a build/deploy command, a fix for a non-obvious bug, a user preference, a project decision with a durable why, or a reference to an external system. Do NOT store: ephemeral task state, info already in the code/git history, or duplicates — run mem_search first."

2. key: "how and when to use mem_search"
   category: "meta:claude-mem"
   value: "Search semantically at the start of a task and before asking the user questions the codebase can't answer. Use descriptive natural-language queries (e.g. 'how do I deploy the CPAP service'). Top-k=5 is a reasonable default."

3. key: "memory category conventions"
   category: "meta:claude-mem"
   value: "Use these category prefixes: 'project:' for project-specific facts, 'user:preferences' for how the user likes to work, 'feedback:' for corrections/validations that should change future behavior, 'reference:' for pointers to external systems, 'meta:claude-mem' for self-documentation of this MCP."

4. key: "memory key naming convention"
   category: "meta:claude-mem"
   value: "Keys are what gets embedded and searched. Write full descriptive sentences ('deploy process for hms-cpap on raspberry pi'), not short slugs ('deploy-cpap'). The value holds the actual content."

5. key: "avoid duplicate memories"
   category: "meta:claude-mem"
   value: "Before mem_store, run mem_search with the same phrasing. If a close match exists, mem_delete the old one or skip the new store. Drifting duplicates poison search results."

After storing, confirm with `mem_list category=meta:claude-mem` that all five are present.

从那时起,在任何会话开始时,克劳德都可以运行 mem_search query="how to use claude-mem" 这些惯例将会浮出水面。

码头工人

# Build
docker build -t hms-claude-mem .

# Run (needs access to Redis and Ollama)
docker run --rm \
  -e REDIS_HOST=host.docker.internal \
  -e OLLAMA_HOST=http://host.docker.internal:11434 \
  hms-claude-mem

或者使用已发布的图像:

docker pull ghcr.io/hms-homelab/hms-claude-mem:latest

演出

操作延迟注意事项
mem_store~60ms嵌入生成占主导地位
mem_search约280毫秒嵌入+VSIM
mem_get\<1ms直接哈希查找
mem_delete\<1msVREM+DEL

项目结构

hms-claude-mem/
├── CMakeLists.txt          # C++17, hiredis + curl + nlohmann-json
├── Dockerfile              # Multi-stage (debian:trixie-slim)
├── VERSION                 # Semantic version
├── CHANGELOG.md
├── src/
│   ├── main.cpp            # Env config, wiring, stdio loop
│   ├── mcp_server.cpp/h    # JSON-RPC 2.0 MCP protocol handler
│   ├── redis_client.cpp/h  # hiredis wrapper (VADD, VSIM, HSET, SCAN)
│   ├── embedding_client.cpp/h  # Multi-provider embedding client (Ollama, OpenAI)
│   └── tools.cpp/h         # Tool implementations (store, search, get, delete, list)
├── tests/unit/
│   └── test_mcp_server.cpp # 14 integration tests
└── .github/workflows/
    └── docker-build.yml    # CI: build, test, push to GHCR

支持

许可证

麻省理工学院

工具与能力

工具数量

5

资源数量

0

提示词数量

0

能力标签

C++本地部署语义搜索上下文管理Redis向量集LLM辅助工具记忆存储

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

查资料带出处

把网页、论文和文档的检索结果连同链接一起带回对话。

站内知识检索

在自己的文档库里做语义搜索,比关键词更贴题。

事实核对

交叉多个来源确认一条信息,减少模型凭记忆作答。

选择建议

值得选的地方

  • 只提供 5 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Docker,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在搜索检索场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Hms Claude Mem

MCP World · 本页

5stdio有1 个2026-05-17
Baidu Netdisk

MCP World

未标注未说明未标注1 个2026-05-17
Sequentialthinking

MCP.so

1SSE有2 个2026-05-17
Brave Search 433812ff

MCP World

2未说明未标注1 个2026-05-17
mindsdb (430e18)

MCP World

0未说明有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Hms Claude Mem 怎么安装?

公开资料给出的安装命令是 docker run --rm \,运行环境为 Docker。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Hms Claude Mem 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Docker;保存后完全退出客户端再打开,配置才会生效。

Hms Claude Mem 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Hms Claude Mem 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Hms Claude Mem 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP