Skip to main content
Glama

memory-mcp

为 AI 智能体提供持久化、可搜索、带版本控制的记忆功能 —— 由 Valkey(兼容 Redis)提供支持,并通过 HTTP 以 MCP 服务器形式暴露。

适用于任何兼容 MCP 的智能体:Claude Code、Cursor、VS Code 等。

功能特性

  • 存储带有标签、类型和项目作用域的命名记忆条目

  • 支持标签交集搜索、类型/项目过滤以及子字符串搜索

  • 点击追踪(被访问次数多的条目会排在前面)

  • 完整的版本历史记录及回滚功能

  • Prometheus 指标端点

  • 可选的 Bearer Token 认证

快速开始

cp .env.example .env
# Optional: set MEMORY_MCP_AUTH_TOKEN in .env (see Auth section)
docker compose up -d

这将从 GHCR 拉取预构建的镜像。现在 MCP 服务器可在 http://127.0.0.1:3106/mcp 访问。

如需本地构建:

docker compose build
docker compose up -d

使用现有的 Redis 或 Valkey

默认情况下,docker compose up -d 会启动一个捆绑的 Valkey 容器。若要连接到现有的 Redis 或 Valkey 实例,请设置 VALKEY_URL 并仅启动 memory-mcp 服务:

# .env
VALKEY_URL=redis://your-host:6379

docker compose up -d memory-mcp

任何兼容 Redis 的服务器(Redis 6+、Valkey、KeyDB、通过 rediss:// 连接的 Upstash 等)均可使用。该服务器仅使用基础数据结构:哈希、列表和集合。

智能体设置

将本仓库中的 AGENTS.md 复制到你的项目根目录。它会告知你的智能体如何使用记忆工具、存储什么内容以及何时存储。

然后向你的智能体客户端注册该 MCP 服务器:

Claude Code

# Without auth
claude mcp add memory --transport http http://127.0.0.1:3106/mcp

# With auth
claude mcp add memory --transport http http://127.0.0.1:3106/mcp \
  --header "Authorization: Bearer your-token"

或者手动添加到 ~/.claude.json

{
  "mcpServers": {
    "memory": {
      "type": "http",
      "url": "http://127.0.0.1:3106/mcp",
      "headers": { "Authorization": "Bearer your-token" }
    }
  }
}

Cursor

添加到 ~/.cursor/mcp.json(全局)或 .cursor/mcp.json(项目):

{
  "mcpServers": {
    "memory": {
      "url": "http://127.0.0.1:3106/mcp",
      "headers": { "Authorization": "Bearer your-token" }
    }
  }
}

VS Code (GitHub Copilot, MCP 扩展)

添加到项目中的 .vscode/mcp.json

{
  "servers": {
    "memory": {
      "type": "http",
      "url": "http://127.0.0.1:3106/mcp",
      "headers": { "Authorization": "Bearer your-token" }
    }
  }
}

如果你不使用认证,请在任何配置中省略 headers / Authorization 行。

配置

.env.example 复制为 .env 并根据需要进行编辑。

变量

默认值

描述

MEMORY_MCP_BIND

127.0.0.1

绑定的接口。仅在设置了 AUTH_TOKEN 时使用 0.0.0.0

MEMORY_MCP_HOST_PORT

3106

宿主机暴露的端口

MEMORY_MCP_AUTH_TOKEN

(空)

/mcp 的 Bearer token。为空则不认证。生成方式:openssl rand -hex 32

MEMORY_MCP_MAX_ENTRIES_WARN

300

软上限 — 超过时写入会发出警告

MEMORY_MCP_MAX_VERSIONS_PER_ENTRY

20

每个条目的最大版本快照数

MEMORY_MCP_MEM_LIMIT

256m

容器内存上限

VALKEY_IMAGE

valkey/valkey:9.0.3

使用的 Valkey 镜像

认证

默认情况下,服务器在未认证状态下运行。当绑定到回环地址 (127.0.0.1) 且仅从本地机器访问时,这是安全的。

若要启用认证:

# Generate a token
openssl rand -hex 32

# Add to .env
MEMORY_MCP_AUTH_TOKEN=your-generated-token

docker compose up -d

此后所有对 POST /mcp 的请求必须包含:

Authorization: Bearer <token>

GET /healthGET /metrics 始终无需认证。

可用工具

工具

描述

memory_search

按标签(交集)、类型、项目或文本子字符串搜索

memory_get

通过 ID 获取一个条目(增加点击计数)

memory_set

创建或更新条目(每次写入都会生成版本)

memory_list

列出条目,支持可选的类型/项目过滤

memory_delete

删除条目(先写入墓碑版本)

memory_history

查看条目的版本历史

memory_rollback

将条目恢复到之前的版本

memory_prune_candidates

找出零点击的陈旧条目以供审查(只读)

记忆类型

pattern(模式), decision(决策), reference(参考), feedback(反馈), incident(事件), project(项目), entity(实体), state(状态)

端点

方法

路径

认证

描述

POST

/mcp

若已配置

MCP JSON-RPC 端点

GET

/health

健康检查

GET

/metrics

Prometheus 指标

数据模型

每个条目都作为 Redis 哈希存储在 mem:<id> 中:

字段

描述

title

简短的描述性标题

body

完整内容

type

条目类型

tags

逗号分隔的标签列表

source

编写者

project

项目作用域(为空则表示跨项目)

created

创建的 ISO 日期

updated

最后更新的 ISO 日期

hits

通过 memory_get 获取的次数

ttl

过期时间(秒,可选)

版本历史记录存储在 memver:<id> 的 Redis 列表中(最新优先,上限为 MAX_VERSIONS_PER_ENTRY)。

标签、类型和项目索引为 Redis 集合 (tag:<name>, type:<name>, project:<name>)。

许可证

MIT

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

Maintenance

Maintainers
Response time
0dRelease cycle
2Releases (12mo)

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/joshdougall/memory-mcp'

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